@charset "utf-8";
/* CCIFP 2022 */
@font-face {
    font-family:'Sansation';
    src: url('fonts/Sansation-Italic.woff2') format('woff2'),
        url('fonts/Sansation-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family:'Sansation';
    src: url('fonts/Sansation-Light.woff2') format('woff2'),
        url('fonts/Sansation-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family:'Sansation';
    src: url('fonts/Sansation-BoldItalic.woff2') format('woff2'),
        url('fonts/Sansation-BoldItalic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family:'Sansation';
    src: url('fonts/Sansation-LightItalic.woff2') format('woff2'),
        url('fonts/Sansation-LightItalic.woff') format('woff');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family:'Sansation';
    src: url('fonts/Sansation-Bold.woff2') format('woff2'),
        url('fonts/Sansation-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family:'Sansation';
    src: url('fonts/Sansation-Regular.woff2') format('woff2'),
        url('fonts/Sansation-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}



.fancybox-container {
	z-index: 999999999 !important;
}



html, body {
	height:100%;
	padding:0;
	margin:0;
}

a {
	color:#fff;
	text-decoration:underline;
}

a:hover {
	color:#eee;
}

a:visited {
	color:#fff;
}

* {
    box-sizing: border-box;
}


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;
}




.formbutton {
	display:inline-block;
	border:none;
	padding:.2em .6em;
	background:#f4d723;
	color:#000;
	text-decoration: none;
	letter-spacing:.04em;
	font-weight: bold;
}

.formbutton:hover {
	background:#3269f4;
	color:#000;
	text-decoration:none;
}

.formbutton:visited {
	color:#000;
	text-decoration:none;
}




/* Mobile Layout: 480px and below. */


body {
	font-family:'Sansation', sans-serif;
	font-size: calc(16px + (24 - 16) * ((100vw - 400px) / (2000 - 400)));
	color:#fff;
	background: #4d9dd0;
}

.inner {
	background: url("../img/bg2.jpg");
	background-size: cover;
}

.gridContainer {
}

.break-mob {
	display:inline;
}

#LayoutDiv1 {

}


.bgholder {
	position:fixed;
	top:0;
	left:0;
	width:100vw;
	height:100vh;
	max-height: 100%;
	overflow: hidden;
	object-fit: cover;

}

.bgholder img {
	height: 100%;
	width: 100%;
	object-fit: cover;
}


.showdt {
	display:none;
}


#showmenu {
	position:absolute;
	top:1.6em;
	right:.6em;
	width:6%;
	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;
}



header {
	position:relative;
	width:100%;
	margin:2% auto 0 auto;
}

.presents {
	display:block;
	width:90%;
	margin:1em auto 2em  auto;
	color: #000;
	font-family:'Sansation', sans-serif;
	font-size:.7em;
	text-align:center;
}

.presents img {
	display: block;
	width: 80%;
	margin: auto;
}


.presents h3 {
	display:block;
	width: 85%;
	margin: .2em auto;
	font-family:'Sansation', sans-serif;
	font-size:1em;
}

.presents h3 small {
	font-family:'Sansation', sans-serif;
	font-weight: normal;
}

.inner .presents, .inner .bgholder {
	display:none !important;
}


.innerlogo {
	width:40%;
	margin:.5em 5%;
}

.home .innerlogo {
	display:none;
}

.homelogomob {
	width:90%;
	margin:1em 5%;
}

.home, .toplogo2 {
	width:100%;
}

.inner .toplogo2, .inner .homelogomob {
	display:none;
}


.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:'Sansation', sans-serif;
	font-weight:normal;
	font-size:1.6em;
}

.inner h1 {
	text-align: center;
	margin: 0 0 .6em 0 !important;
}

header h2 {
	display:inline;
	font-family:'Sansation', sans-serif;
	font-weight:normal;
	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:'Sansation', sans-serif;
	font-size:1.6em;
	z-index:100;
	color:#fff;
	text-align:center;
	background:#4d9dd0;
}


#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:#3ea944;
}


#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;
	
	overflow: hidden;
}


#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;
}

.homecont {
	position: absolute;
	bottom:40vh;
	left: 0;
	width: 100%;
	font-size: 1.2em;
}

.homecont p {
	margin: 1em 0;
	/*text-shadow: 0px 0px 3px rgba(255,255,255,1), 0px 0px 3px rgba(255,255,255,1), 0px 0px 3px rgba(255,255,255,1), 0px 0px 3px rgba(255,255,255,1);*/
}

.homecont .formbutton {
	text-transform: uppercase;
}

.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:'Sansation', 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:'Sansation', sans-serif;
	font-size:1em;
}

.tab3 {
	text-align:right;
	vertical-align:top !important;
}

.tab4 {
	width: 80%;
}

.program h3 {
	text-align: center;
	margin:0 !important;
}

.tab-prog {
	width:100%;
	margin:0 auto;
	font-family:'Sansation', 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;
	padding:0;
	font-size:1em;
	letter-spacing:.04em;
}

.tab-prog h6 {
	display:inline-block;
	margin:0;
	padding:0;
	font-size:1.2em;
	font-family:'Sansation', sans-serif;
	letter-spacing:.04em;
}

.table-spon {
	width:100%;
	text-align:left;
	margin:0 auto;
}

.table-spon img {
	width:100% !important;

}

.sptd1 {
	width:12%;
}

.read h2 {
	display:inline-block;
	font-size: 1.2em !important;
}


.plus1 {
	display:inline-block;
	font-size:1.4em;
	background:#e5cf56;
	padding:.01rem .8rem;
	color:#000;
	text-decoration:none;
}

.plus1:hover {
	background:#56aae5;
	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;
}

.list1 {
	margin: .5em 0;
	padding: 0;
}

.list1 li {
	display: block;
	margin: 0 0 .4em 2em;
	padding: 0;
}
.panelholder {
	display: none;
}

.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 a {
	display: block;
	width: 100%;
	aspect-ratio: 1/1;
	overflow: hidden;
}

.gallerypics li img {
	display: inline-block;
	height: 100%;
	width: 100%;
	margin: 0 0 .4em 0;
	object-fit: cover;
}

.gallerypics li p {
	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) {
	
.inner {
	background: url("../img/bg_inner_dt.jpg");
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed;
}

.gridContainer {
	position:relative;
	padding:0;
	margin:0;
	width:100%;
	height: 100%;
}

#LayoutDiv1 {
	position:relative;
	font-size:1em;
	padding:0;
	margin:0;
	width:100%;
	height: 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%;
	max-height: 100%;
	overflow: hidden;
}

.bgholder img {
	width: 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;
}

.presents {
	font-size:.8em;
	
	display:block;
	width:60%;
	margin:0 auto;
	font-family:'Sansation', sans-serif;
	text-align:center;
}

.presents h3 {
	display:block;
	width: 100%;
	font-family:'Sansation', sans-serif;
	font-size:1em;
	margin: 1em 0 0 0;
}

.homelogos {
	width: 60%;
	margin: 0 auto;
}

.toplogo2 {
	display:block;
	width:80%;
	margin:.6em 10%;
}


.home .innerlogo {
	display:none;
}



.home .homelogo {
	display:block;
	width:35%;
	margin: 0 auto;
}

.innerlogo {
	width:100%;
	margin:.5em 0;
}


.titlerow {
	margin:1% 0 0 0;
	text-align:justify;
	color:#1a335f;
	text-transform:uppercase;
	font-family:'Sansation', sans-serif;
	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:'Sansation', sans-serif;
	font-weight:normal;
	font-size:1em;
}


header h2 {
	display:inline;
	font-family:'Sansation', sans-serif;
	font-weight:normal;
	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:'Sansation', sans-serif;
	font-size:.9em;
	z-index:100000;
	color:#fff;
	text-align:justify;
	background:rgba(0,0,0,.8);
}

#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:#2c9fe7;
	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 #2c9fe7;
}


#contentholder {
	position:relative;
	top:auto;
	bottom:auto;
	left:0;
	right:auto;
	width:90%;
	height:auto;
	margin:1em 0 0 5%;
	padding:0 0 0 0;
	font-size:1em;
	z-index:116;
}

.home #contentholder {
	margin: 0 0 0 5%;
	padding: 0 0 10em 0;
}

	#contentholder {
/*	width:90%;
	margin:1em 5% 0 5%;
	text-align:center;
	z-index:220;*/
	}





#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;

}



.homecont {
	position: relative;
	bottom:auto;
	left: auto;
	width: 100%;
	font-size: 1.2em;
	margin: 1em 0 0 0;
	color: #000;
}


.homecol00 {
	position:relative;
	width:100%;
}

.homecol00 img {
	width:80%;
}


.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:12%;
	margin:0 2% 2% 0;
	text-align:center;
	vertical-align:top;
	
}

.thumbimg p {

}

.thumbimg img {
	width:100%;
	margin:0 0 2% 0;
	object-fit: cover;
}

.video2016 {
	width:40%;
	height:auto;
}

.gallerypics {
	grid-template-columns: repeat(7, 1fr);
	gap: 1.6em;
}

.gallerypics li p {
	display: block;
	margin: .2em 0 0 0;
	font-size: .6em;
}


.video2021 {
	margin:0 auto;
	width:60%;
	height:auto;
}


}

@media only screen and (min-width: 1200px) {
		
}