@charset "utf-8";
/* CCIFP 2022 redo 2025 */

@font-face {
    font-family: 'Alright Sans';
    src: url('fonts/AlrightSans-Light.woff2') format('woff2'),
        url('fonts/AlrightSans-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Alright Sans';
    src: url('fonts/AlrightSans-Regular.woff2') format('woff2'),
        url('fonts/AlrightSans-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Alright Sans';
    src: url('fonts/AlrightSans-Black.woff2') format('woff2'),
        url('fonts/AlrightSans-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Alright Sans';
    src: url('fonts/AlrightSans-Bold.woff2') format('woff2'),
        url('fonts/AlrightSans-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Alright Sans';
    src: url('fonts/AlrightSans-Medium.woff2') format('woff2'),
        url('fonts/AlrightSans-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Economica';
    src: url('fonts/Economica-Regular.woff2') format('woff2'),
        url('fonts/Economica-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Economica';
    src: url('fonts/Economica-Bold.woff2') format('woff2'),
        url('fonts/Economica-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}


@font-face {
    font-family: 'socicon';
    src: url('fonts/socicon.woff2') format('woff2'),
        url('fonts/socicon.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}





html, body {
	height:100%;
	padding:0;
	margin:0;
}

body {
	font-family: 'Economica', sans-serif;
	font-size: calc(16px + (24 - 16) * ((100vw - 400px) / (2000 - 400)));
	color:#000;
	background: #ffffff; /* Old browsers */
	background: -moz-radial-gradient(center, ellipse cover,  #ffffff 0%, #cbeaf1 100%); /* FF3.6-15 */
	background: -webkit-radial-gradient(center, ellipse cover,  #ffffff 0%,#cbeaf1 100%); /* Chrome10-25,Safari5.1-6 */
	background: radial-gradient(ellipse at center,  #ffffff 0%,#cbeaf1 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#cbeaf1',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */	
	}

a {
	color:#1a335f;
	text-decoration:underline;
}

a:hover {
	color:#1a335f;
}

a:visited {
	color:#1a335f;
}

* {
    box-sizing: border-box;
}

img {
	opacity:0.999;
	filter:alpha(opacity=99.99);
}

a:hover img {
	opacity:0.8;
	filter:alpha(opacity=80);
}

img {
	border:0;
}

a img {
	border:0;
}

.fitimg {
	width:100%;
	height:100%;
	object-fit: cover;
}



.clearboth {
	display:block;
	clear:both;
}

.vertalign {
	position: relative;
	top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.home .showhome, .inner .showinner {
	display:block;
}

.inner .showhome, .home .showinner, .read .showinner {
	display:none;
}


/* Mobile Layout: 480px and below. */


.gridContainer {
}

.break-mob {
	display:inline;
}

#LayoutDiv1 {

}

strong {
	font-weight: 500;
}

.bgholder {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
}


.showdt {
	display:none;
}


#showmenu {
	position:absolute;
	top:.6em;
	right:.6em;
	width:5%;
	height:auto;
	z-index:90;
}

#showmenu img {
	width:100%;
}

.closemenu {
	position:absolute;
	top:1em;
	right:1em;
	width:5%;
	height:auto;
	z-index:90;
}

.closemenu img {
	width:100%;
}

.img100 {
	width:100%;
	height:auto;
}

.rotatehue {
  -webkit-animation: filter-animation 32s infinite;
  animation: filter-animation 32s infinite;
}

@-webkit-keyframes filter-animation {
  0% {
    -webkit-filter: hue-rotate(0deg);
  }
  
  50% {
    -webkit-filter: hue-rotate(359deg);
  }
  
  100% {
    -webkit-filter: hue-rotate(0deg);
  }
}

@keyframes filter-animation {
  0% {
    filter: hue-rotate(0deg);
  }
  
  50% {
    filter: hue-rotate(359deg);
  }
  
  100% {
    filter: hue-rotate(0deg);
  }
}

.sbi {
	    display:none;
		font-family: 'socicon';
		position:relative;
		font-size:1.8em;
		color:#1a335f;
		margin:1% 0 3% 0;
		text-align:center;
		}

.sbi a {
	color:#1a335f;
	text-decoration:none;
}

.sbi a:hover {
	color:#F9B5B5;
	text-decoration:none;
}

.sbi ul {
	list-style:none;
	margin:0;
	padding:0;
}

.sbi ul li {
	display:inline-block;
	margin:0 3% 0 0;
	padding:0;
}

.sbi ul li:last-child {
	margin:-20% 0 0 ;
}



header {
	position:relative;
	width:100%;
	margin:2% auto 0 auto;

}

header .ialalogo {
	width:18%;
	height:auto;
}

header .presents {
	font-size:.7em;
	display:block;
	width:80%;
	margin:1em auto 2em  auto;
	font-family: 'Alright Sans', sans-serif;
	font-weight: 300;
	text-align:center;
}

.inner .presents {
	display:none !important;
}

.home .homelogo {
	display:block;
	width:100%;
}

.homelogo, .innerlogo {
	width:80%;
	margin:.5em 5%;
}

.home .innerlogo {
	display:none;
}

.homelogomob {
	width:90%;
	margin:1em 5%;
}

.home, .toplogo2 {
	width:100%;
}

.inner .toplogo2, .inner .homelogomob {
	display:none;
}



header h3 {
	display:inline;
	font-family: 'Alright Sans', sans-serif;
	font-weight:bold;
	font-size:1em;
}

.titlerow {
	margin:2% 0;
	text-align:center;
	color:#1a335f;
	text-transform:uppercase;
	font-size:1.4em;
}

.home .titlerow {
	display:none;
}

header h1 {
	display:inline;
	font-family: 'Alright Sans', sans-serif;
	font-weight:300;
	font-size:1.6em;
}


header h2 {
	display:inline;
	font-family: 'Alright Sans', sans-serif;
	font-weight:bold;
	font-size:1.6em;
}

header h2 sup {
	font-size:.6em;
}


#menu-main {
	display:none;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	padding:2%;
	margin:0;
    font-family: 'Alright Sans', sans-serif;
	font-weight: normal;
	font-size:1.6em;
	z-index:100;
	color:#fff;
	text-align:center;
	background:#1a335f;
}


#menu-main ul {
	display:block;
	position:relative;
	margin:0;
	padding:0;
}

#menu-main ul li {
	display:block;
	margin:0;
	padding:5%;
}


#menu-main ul li a {
	display:block;
	text-align:center;
	color:#fff;
	width:100%;
	text-decoration:none;
}

#menu-main ul li a:hover, #menu-main ul li a:active {
	color:#e5e762;
}


#contentholder {
	position:relative;
	top:0;
	bottom:auto;
	left:0;
	right:auto;
	width:90%;
	margin:2% 5%;
	padding:0 0 10% 0;
	font-size:1em;
	z-index:20;
}

.home #contentholder {
	text-align:center;
	}

#contentholder p {
	margin:0;
	padding:0;
}

#contentholder h1 {
	display:block;
	width:auto;
	font-weight:bold;
	font-size:1.4em;
	letter-spacing:.2em;
	text-transform:uppercase;
	margin:3% 0 0 0;
	padding:0;
}

#contentholder h2 {
	margin:0 0 1em 0;
	font-weight:bold;
	font-size:2.2em;
}

#contentholder h3 {
	font-weight:bold;
	font-size:1.2em;
}

#contentholder h4 {
	font-weight:bold;
	margin:0 0 .6em 0;
	padding:0;
	font-size:1.2em;
}

.homecol01 {
	margin:1em 0 2em 0;
}

.homecol01 h2 {
	display:block;
	float:left;
	width:50%;
	text-align: left;
}

.homecol01 h4 {
	margin:1em 0 0 0 !important;
}


.homecol01 img {
/*	display:block;
	float:right;
	width:30%;*/
}

.style01 {
	font-family: 'Alright Sans', sans-serif;
	font-weight:bold;
	color:#111a41;
	font-size:1.6em;
	text-transform:uppercase;
	letter-spacing:.1em;
}

.style02 {
	font-weight:normal;
	color:#bae536;
	font-size:1.6em;
	letter-spacing:.1em;
}

.rsvp {
	margin:6% 0;
	font-size:1.6em;
	letter-spacing:.1em;
	text-transform: none !important;
}

.rsvp a {
	text-decoration:none;
}

.rsvp a:hover {

}


td {
	margin:0;
	padding:0.7em;
}

.tab1, .tab2, .tab3  {

}

.tab1 {
	vertical-align:middle;
}

.tab2 {
	text-align:right;
	vertical-align:top !important;
	font-family: 'Alright Sans', sans-serif;
	font-size:1em;
}

.tab3 {
	text-align:right;
	vertical-align:top !important;
}

.tab4 {
	width: 80%;
}

.program h3 {
	margin:0 !important;
}

.tab-prog {
	width:100%;
	margin:0 auto;
	font-family: 'Alright Sans', sans-serif;
	text-align:left;
	font-size:.9em;
}

.tab-prog p {
	margin:.3em 0 !important;
	font-size:1em !important;
}



.tab-prog h5 {
	display:block;
	margin:0 0 .2em 0;
	font-weight: 500;
	padding:0;
	font-size:1em;
	letter-spacing:.04em;
}


.tab-prog h6 {
	display:inline-block;
	margin:0;
	padding:0;
	font-size:1.2em;
	font-family: 'Alright Sans', sans-serif;
	letter-spacing:.04em;
}

.table-spon {
	width:100%;
	text-align:left;
	margin:0 auto;
}

.table-spon img {
	width:100% !important;

}

.sptd1 {
	width:20%;
}

.table-spon .tab1 {
	width:75%
}

.read h2 {
	display:inline-block;
	font-size: 1.2em !important;
}


.plus1 {
	display:inline-block;
	font-size:1.4em;
	background:#1a335f;
	padding:.01rem .8rem;
	color:#fff;
	text-decoration:none;
}

.plus1:hover {
	background:#000;
	color:#fff;
}


.video2016 {
	width:100%;
	height:auto;
}

.video2021 {
	width:100%;
	height:auto;
}


.videoplayer {
    position: relative;
	margin:0 auto;
    padding-bottom: 56.25%;
/*	padding-bottom: 75%;*/
    padding-top: 30px; height: 0; overflow: hidden;
}


.videoplayer iframe,
.videoplayer object,
.videoplayer embed {
	text-align:center;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.homecol02 .formbutton {
	margin:1em 0 0 0;
	font-size:1.4em;
}
.panelholder {
	display: none;
}

.panelholder ul li {
	display: block;
}

.gallerypics {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.6em;
	list-style: none;
	margin:2em 0;
	padding: 0;
}


.gallerypics li {
	margin: 0;
	padding: 0;
	text-align: center;
}

.gallerypics li img {
	display: inline-block;
	width: 100%;
	margin: 0 0 .4em 0;
}

.gallerypics li span {
	display: none;
}

.centertext {
	text-align: center;
}

/* Tablet Layout: 481px to 768px. Inherits styles from: Mobile Layout. */

@media only screen and (min-width: 481px) {
.gridContainer {

}
#LayoutDiv1 {
	
}
}

/* Desktop Layout: 769px and up.  Inherits styles from: Mobile Layout and Tablet Layout. */

@media only screen and (min-width: 769px) {
	


.gridContainer {
	position:relative;
	padding:0;
	margin:0;
	width:100%;
}

#LayoutDiv1 {
	position:relative;
	font-size:1em;
	padding:0;
	margin:0;
	width:100%;
}


.showmob, #showmenu {
	display:none;
}

.break-mob, .showdt {
	display:inline;
}

.break-mob-b, .showdt-b {
	display:block;
}


.img100 {
	width:100%;
	height:auto;
}

.img50 {
	width:50%;
	height:auto;
}


.imgcent30 {
	display:block;
	position:relative;
	margin:0 auto;
	width:30%;
}



.flh {
	position:fixed;
	bottom:-4%;
	left:0;
	width:100%;
	z-index:120;
	height:26em;
}

.flh img {

}

.flh1 {
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
}

.flh2 {
	position:absolute;
	bottom:2em;
	left:0;
	width:100%;
}

.flh2 img {
	width:25%;
}

.flh3 {
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	opacity:0.26;
	filter:alpha(opacity=26);
}

.flh3 img {
	width:20%;
	filter:hue-rotate(-120deg);
}

.bgholder {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
}



.sbi {
	    font-family: 'socicon';
		position:fixed;
		top:2%;
		left:auto;
		right:2%;
		font-size:1.8em;
		color:#fff;
		margin:0;
		}

.sbi a {
	color:#fff;
	text-decoration:none;
}

.sbi a:hover {
	color:#514da0;
	text-decoration:none;
}

.sbi ul {
	list-style:none;
	margin:0;
	padding:0;
}

.sbi ul li {
	display:block;
	margin:0 0 30% 0;
	padding:0;
}

.sbi ul li:last-child {
	margin:-20% 0 0 ;
}

#topcover {
	display:block;
	position:fixed;
	top:0;
	bottom:auto;
	left:0;
	width:100%;
	height:5.4%;
	background:#07162e;
	z-index:96;
}


header {
	position:relative;
	width:90%;
	margin:1% auto 0 auto;
}

header .ialalogo {
	display:block;
	float:left;
	width:5%;
	height:auto;
	margin:0 0 1% 0;
}

header .presents {
	font-size:.8em;
	float:left;
	display:block;
	width:100%;
	margin:.4em 0;
	color:#1a335f;
	font-family: 'Alright Sans', sans-serif;
	font-weight: 300;
	text-align:center;
}

header h3 {
	display:inline;
	font-family: 'Alright Sans', sans-serif;
	font-weight:900;
	font-size:1em;
}

.toplogo2 {
	display:block;
	width:80%;
	margin:.6em 10%;
}


.home .innerlogo {
	display:none;
}


.homelogo, .innerlogo {
	width:100%;
	margin:.5em 0;
}


.titlerow {
	margin:1% 0 0 0;
	text-align:justify;
	color:#1a335f;
	text-transform:uppercase;
	font-family: 'Alright Sans', sans-serif;
	font-weight: 900;
	font-size:2.4em;
	letter-spacing:.07em;
	line-height:.6em;
}


.titlerow:after {
	font-size:.1em;
	content:"";
	display: inline-block;
	width: 100%;
	background:none !important;
}


header h1 {
	display:inline;
	font-family: 'Alright Sans', sans-serif;
	font-weight:300;
	font-size:1em;
}


header h2 {
	display:inline;
	font-family: 'Alright Sans', sans-serif;
	font-weight:900;
	font-size:1em;
}

header h2 sup {
	font-size:.6em;
}


#menu-main {
	display:block;
	position:fixed;
	height:auto;
	top:auto;
	bottom:0;
	left:0;
	width:100%;
	padding:1em 5% 0 5%;
	margin:0;
    font-family: 'Alright Sans', sans-serif;
	font-size:.9em;
	z-index:100000;
	color:#fff;
	text-align:justify;
	background:rgba(0,0,0,.4);
}

#menu-main ul:after {
  content:"";
  display: inline-block;
  width: 100%;
  background:none !important;
}


#menu-main ul {
	display:block;
	position:relative;
	margin:0;
	padding:0;
}

#menu-main ul li {
	display:inline-block;
	padding:0;
	margin:0;
}


#menu-main ul li a {
	display:block;
	text-align:center;
	color:#fff;
	width:100%;
	text-decoration:none;
	border-bottom:3px solid #1a335f;
}

#menu-main ul li a:hover {
	color:#1a335f;
	border-bottom:3px solid #fff;
}

.home #menu-main #home a,
.syllabus #menu-main #syllabus a,
.qa #menu-main #qa a,
.program #menu-main #program a,
.sponsors #menu-main #sponsors a,
.comments #menu-main #comments a,
.photos #menu-main #photos a,
.contact #menu-main #contact a
 {
	border-bottom:3px solid #fff;
}


#contentholder {
	position:relative;
	top:0;
	bottom:auto;
	left:0;
	right:auto;
	width:70%;
	height:100%;
	margin:1em 0 0 0;
	padding:0 0 0 0;
	font-size:1em;
	z-index:116;
}

	#contentholder {
	width:90%;
	margin:1em 5% 0 5%;
	text-align:center;
	z-index:220;
	}


#contentholder p {
	font-size:.9em;
	margin:1em 0;
	padding:0;
}

.home #contentholder p {
	font-size:.9em;
	margin:0;
	padding:0;
}

#contentholder h1 {
	display:block;
	width:auto;
	font-size:1.8em;
	letter-spacing:.1em;
	text-transform:uppercase;
/*	border-bottom:3px solid #e5e762;*/
	margin:1% 0 0 0;
	padding:0;
}

#contentholder h3 {
	font-weight:normal;
	font-size:1.4em;
}

#contentholder h4 {
	font-size:1.1em;

}

.homecol00 {
	position:relative;
	width:100%;
}

.homecol00 img {
	width:60%;
}


.homecol01 {
	position:absolute;
	top:.2em;
	left:3em;
	width:25%;
	text-align:left;
}

.homecol01 p {
	margin:0 0 .8em 0 !important;
	line-height:1em;
}

.homecol01 h2 {
	float:none;
	width:100%;
}

.homecol01 h4 {
	margin:0 0 .2em 0 !important;
}

.homecol01 img {
	width:30%;
	margin: 0 0 1em 0;
/*	display: none;*/
}

.shortdesc {
	font-size:1.2em !important;
}

.homecol02 {
	position:absolute;
	top:0;
	right:0;
	width:25%;
	margin:0;
	text-align:right;
}

.homecol02 .formbutton {
	margin:1em 0 0 0;
	font-size:1.4em;
}

.homecol02 h2 {
	font-size:2em !important;
	margin:0 !important;
}

.homecol02 h3 {
	font-weight:bold !important;
	margin:0 0 .4em 0 !important;
}

.homecol02 h4 {
	font-weight:bold !important;
	margin:0 0 0 0 !important;
}


.homecol02 img {
	max-height:60vh;
}

.homecol03 {

}

.homecol03 img {
	width:40%;
	margin:1em 0 0 0;
}

.style01 {
	font-weight:bold;
	color:#111a41;
	font-size:2em;
	text-transform:uppercase;
}

.style02 {
	font-weight:normal;
	color:#bae536;
	font-size:2.4em;
	letter-spacing:.1em;
}

.rsvp {
	margin:0;
	font-size:1.8em;
	letter-spacing:.1em;
}

.rsvp a {
	text-decoration:none;
}

.rsvp a:hover {

}


td {
	margin:0;
	padding:0.7em;
}

.tab1, .tab2, .tab3  {

}

.tab1 {
	vertical-align:middle;
}

.tab2 {
	text-align:right;
	vertical-align:top !important;
	font-size:1em;
}

.tab3 {
	text-align:right;
	vertical-align:top !important;
}

.tab-prog {
	width:90%;
	margin:0 auto;
	text-align:left;
	line-height:1.5em;
}

.tab-prog h5 {
	font-size:1.1em;
}

.tab-prog h6 {
	font-size:1.1em;
}

.table-spon {
	width:50%;
	text-align:left;
	margin:0 auto;
}

.table-spon img {
	width:100% !important;
}

.sptd1 {
	width:5%;
}

.table-spon .tab1 {
	width:40%
}

.read h2 {
	display:inline-block;
	margin:0 0 0 !important;
	padding:0 0 0 !important;
}

.plus1 {
	display:inline-block;
	font-size:1em;
	padding:.01em .4em;
	text-decoration:none;
	}


.comments hr {
	margin:2em 0;
	height:3px;
	background:#aaa;
}

.thumbimg {
	display:inline-block;
	width:23%;
	margin:0 2% 2% 0;
	text-align:center;
	vertical-align:top;
}

.thumbimg p {

}

.thumbimg img {
	width:100%;
	margin:0 0 2% 0;
}


.video2016 {
	width:40%;
	height:auto;
}

.gallerypics li span {
	display: block;
}


.video2021 {
	margin:0 auto;
	width:60%;
	height:auto;
}


}

@media only screen and (min-width: 1200px) {
		
}