@charset "utf-8";
/* CCIFP main redo 2026 */

:root {
	--darkblue: #1a0f3d;
	--blue: #005b81;
	--pink: #e84c7f;
	--green: #177452;
}

@font-face {
    font-family: 'Open Sans';
    src: url('fonts/OpenSans-Light.woff2') format('woff2'),
        url('fonts/OpenSans-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('fonts/OpenSansLight-Italic.woff2') format('woff2'),
        url('fonts/OpenSansLight-Italic.woff') format('woff');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('fonts/OpenSans.woff2') format('woff2'),
        url('fonts/OpenSans.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('fonts/OpenSans-Italic.woff2') format('woff2'),
        url('fonts/OpenSans-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('fonts/OpenSans-SemiboldItalic.woff2') format('woff2'),
        url('fonts/OpenSans-SemiboldItalic.woff') format('woff');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('fonts/OpenSans-Semibold.woff2') format('woff2'),
        url('fonts/OpenSans-Semibold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('fonts/OpenSans-Bold.woff2') format('woff2'),
        url('fonts/OpenSans-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('fonts/OpenSans-BoldItalic.woff2') format('woff2'),
        url('fonts/OpenSans-BoldItalic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('fonts/OpenSans-Extrabold.woff2') format('woff2'),
        url('fonts/OpenSans-Extrabold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('fonts/OpenSans-ExtraboldItalic.woff2') format('woff2'),
        url('fonts/OpenSans-ExtraboldItalic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}
s

html, body {
	padding:0;
	margin:0;
}

img {
    background: transparent;
    zoom: 1;
}

.clearboth {
	clear:both;
}

.clearboth-mob {
	clear:both;
}

* {
    box-sizing: border-box;
}

img {
	border:0;
	opacity:0.999;
	filter:alpha(opacity=99.99);
}

a:hover img {
	opacity:0.8;
	filter:alpha(opacity=80);
}

a img {
	border:0;
}

.placeholder, input::placeholder, textarea::placeholder {
	font-family: 'Open Sans', Helvetica, sans-serif;
	font-size:1em;
	font-weight:bold;
	color:#000;
}


/* Mobile Layout: 480px and below. */

body {
	display: flex;
	flex-direction: column;
	
	min-height: 100vh;
	background:#cecece;
	/*background: linear-gradient(to bottom,  #ffffff 0%,#cecece 100%);*/
	background: linear-gradient(to bottom, #ededed 20%, #a1a1a1 50%,#ededed 100%);
	background-attachment: fixed;
	font-family: 'Open Sans', Helvetica, sans-serif;
	color:#2c2527;
	font-size: calc(16px + (24 - 16) * ((100vw - 600px) / (2000 - 600)));
}


a, a:visited {
	color:var(--darkblue);
	text-decoration:underline;
}

a:hover {
	color:var(--pink);
}


h1, h2, h3 {
	font-family: 'Open Sans', Helvetica, sans-serif;
	color:var(--blue);
}

.inner h1 {
	font-size: 1.6em;
}

h1 a, h2 a, h3 a, h1 a:visited, h2 a:visited, h3 a:visited {
	color:#3e2985;
	text-decoration:none;
}

.showdt {
	display: none;
}

.break-mob {
	display:inline;
}

.flex1 {
	flex-basis:100%;
}

.centertext {
	text-align: center;
}

header {

}

.header_inner {
	display: flex;
	position: relative;
	justify-content: space-between;
	padding: 1em 5%;
}

.mainlogo {
	width:30%;
	height:auto;
	margin:0;
}

.mainlogo img {
	width:100%;
}

.showmenu {
	width: 2em;
	background: none;
	cursor: pointer;
}

.menu-main {
	display: none;
	position: absolute;
	top: 4em;
	right: 5%;
	width: auto;
	padding: 1em 0;
	background: #fff;
	z-index: 10000;
}

.main-nav {
	list-style: none;
	margin: 0;
	padding: 0 1em;
	text-align: right;
}

.main-nav li a {
	display: block;
	padding: 1em 0;
	font-weight: 600;
	font-size: 1.2em;
	text-decoration: none;
}

.main-nav li a:hover {
	background: var(--hover-green);
}

.socnav {
	display:flex;
	justify-content: flex-end;
	gap:1.6em;
	margin:0;
	padding: 1em;
	color:#3e2985;
	text-align:center;
}

.socnav img {
	display: inline-block;
	width: 1.4em;
}

main {
	flex:1;
	width: 100%;
	padding: 1em 5%;
}

.contentleft {
	width: 100%;
	text-align: center;
}

.contentleft h1 {
	font-size: 2em;
	margin:0 0 1em 0;
}

.contentright {
	width: 100%;
	text-align: center;
	padding: 1em 0;
}

.contentright h3 {
	font-size: 1.6em;
	margin:0;
}

.contentright h4 {
	margin:0 0 2em 0;
}

.dividertext {
	margin: 0 0 1em 0;
	color:var(--blue);
	font-size:1.4em;
	font-weight: bold;
}

.itembox {
	position: relative;
	width: 100%;
	margin: 0 0 3em 0;
	border:.4em solid #fff;
	border-radius: .4em;
}

.itembox-label {
	position: absolute;
	top:0;
	left:50%;
	transform: translate(-50%, -60%);
	padding: 0 1em;
	border-radius: .5em;
	background: #fff;
	font-weight: bold;
	font-size: 1.2em;
	text-transform: uppercase;
	color:var(--blue);
	z-index: 99;
}

.itembox-mid {
	position: absolute;
	top: 10%;
	left:50%;
	transform: translateX(-50%);
	white-space: nowrap;
	padding: .4em .8em;
	border-radius: 1.6em;
	background:rgba(255,255,255,0.78);
}

.itembox-mid h2 {
	margin: 0;
	padding: 0;
	text-transform: uppercase;
	font-size: 1.3em;
	letter-spacing: .04em;
	text-shadow: .1em .1em #fff;
}

.itembox-mid sup {
	font-size: .6em;
}

.itembox-bottom {
	position: absolute;
	bottom:0;
	left:0;
	width: 100%;
	padding:.4em;
	background:rgba(255,255,255,0.78);
	font-size: 1.1em;
	color:var(--blue);

}

.itemtitle {
	padding: 1em;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	font-size: 1em;
	text-align: center;
}

.contentright .itemtitle {
	font-size: .8em;
	padding: .4em;

}

.itembox h3, .itembox h4, .itembox p {
	margin: 0;
	padding: 0;
}

.itembox h3 {
	text-transform: uppercase;
}

.morebutton {
	flex-basis: 100%;
	margin: 0 auto 2em auto;
}

.morebutton a {
	display: inline-block;
	padding: 0 1em;
	border-radius: .5em;
	background: #fff;
	font-weight: bold;
	font-size: 1.2em;
	text-transform: uppercase;
	color:var(--blue);
	text-decoration: none;
}

.morebutton a:hover {
	background: var(--blue);
	color: #fff;
}

.fullHR {
	flex-basis: 100%;
	margin: 0 0 3em 0;
	border:none;
	height: .1em;
	background: #111;
}

.inner p {
	line-height: 160%;
}

.innercontent {
}

footer {
	padding: 1em 5%;
	text-align: center;
}

.footernav {
	margin: 1em 0;
	padding: 0;
}

.footernav li {
	display: inline-block;
	margin: 0 1em;
}

/* Tablet Layout: 481px to 768px. Inherits styles from: Mobile Layout. 

@media only screen and (min-width: 481px) {
.gridContainer {

}
#LayoutDiv1 {

}
}*/

/* Desktop Layout: 769px to a max of 1232px.  Inherits styles from: Mobile Layout and Tablet Layout. */

@media only screen and (min-width: 769px) {

	body {
		font-size: calc(10px + .12vw + .12vh + .6vmin);
	}
	
	.clearboth-mob {
		clear:none;
	}

	.clearboth-dt {
		clear:both;
	}
	
	.showmob {
		display: none;
	}

	.showdt {
		display: block;
	}
	
	.fullHRmob {
		display: none;
	}

	header {
		width: 100%;
		background: radial-gradient(ellipse at center,  #c9c9c9 50%,#ededed 100%);
		border-bottom:.16em solid var(--green);
	}
	
	.header_inner {
		display: flex;
		position: relative;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		max-width: 1600px;
		margin: 0 auto;
		padding: .6em 1em;
	}

	.mainlogo {
		width:12%;
		height:auto;
		margin:0;
	}

	.mainlogo img {
		width:100%;
	}

	.showmenu {
		width: 2em;
		background: none;
		cursor: pointer;
	}

	.menu-main {
		display: flex;
		flex:1;
		justify-content: space-between;
		align-items: center;
		margin: 0;
		padding: 0;
		position: relative;
		top: auto;
		right: auto;
		background: none;
	}

	.main-nav {
		display: flex;
		flex:1;
		justify-content: space-between;
		align-items: center;
		list-style: none;
		margin: 0;
		padding: 1em 4vw;
		text-align: right;
		font-size: .9em;
	}
	
	.main-nav li {
		text-align: center;
	}

	.main-nav li a {
		display: block;
		padding: 0;
		font-size: 1.2em;
	}

	.main-nav li a:hover {
		background: var(--hover-green);
	}

	.socnav {
		gap:1.2em;
		margin:0;
		padding: 0;
	}

	.socnav img {
		display: inline-block;
		width: 1.4em;
	}

	main {
		display: flex;
		justify-content: space-between;
		gap:2em;
		max-width: 1600px;
		margin: 0 auto;
		padding: 0 1em;
	}
	
	.contentleft {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: flex-start;
		margin: 2em 0 0 0;
		width: 72%;
		border: none;
	}
		
	.contentright {
		flex:1;
		padding: 2em 1em 0 1em;
		background:rgba(255,255,255,.6);
	}
	
	.itembox {

	}
	
	.itembox-half {
		flex-basis: 48%;
	}
	
	.itembox-mid {
		padding: .8em 1.6em;
	}

	.itembox-mid h2 {
		font-size: 2em;
	}
	
	.itembox-bottom {
		padding: .6em 0;
		font-size: 1.5em;
	}
	
	.itemtitle {
		padding: .6em 1em;
		font-size: 1em;
	}
	
	.innergrid {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		grid-gap: 0 2em;
		margin: 2em 0;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	
	.span3 {
		grid-column: span 3;
	}

}
