@charset "utf-8";
/* CCIFP 2025 */

:root {
  --dblue: #2a347b;
  --mblue: #1b93d1;
  --lblue: #a0d3e6;
  --red: #ef4529;
  --yellow: #f7ec1f;
  --green: #69be4e;
}

@font-face {
    font-family: 'Fira Sans';
    src: url('fonts/FiraSans-Light.woff2') format('woff2'),
        url('fonts/FiraSans-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Fira Sans';
    src: url('fonts/FiraSans-Medium.woff2') format('woff2'),
        url('fonts/FiraSans-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Fira Sans';
    src: url('fonts/FiraSans-Bold.woff2') format('woff2'),
        url('fonts/FiraSans-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Fira Sans';
    src: url('fonts/FiraSans-Regular.woff2') format('woff2'),
        url('fonts/FiraSans-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'LEGO';
    src: url('fonts/lego2025.woff2') format('woff2'),
    	url('fonts/lego2025.woff') format('woff2');
    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:#111;
	text-decoration:underline;
}

a:hover {
	color:#eee;
}

a:visited {
	color:#111;
}

* {
    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 {
	position: relative;
	font-family:'Fira Sans', sans-serif;
	font-size: calc(16px + (24 - 16) * ((100vw - 400px) / (2000 - 400)));
	color:#111;
	/*background: #4d9dd0;*/
	background: url("../img/bg1.jpg");
	background-attachment: fixed;
}

.trsun {
	display: block;
	position: fixed;
	top:0;
	left: 0;
	width: 4em;
}

.break-mob {
	display:inline;
}

.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: var(--dblue);
	font-size:.7em;
	text-align:center;
}

.presents img {
	display: block;
	width: 40%;
	margin: auto;
}


.presents h3 {
	display:block;
	width: 85%;
	margin: .2em auto;
	font-size:1em;
}

.presents h3 small {
	font-weight: normal;
}

.inner h1 {
	margin: 2em 0 1em 0;
	color:var(--dblue);
	font-family: 'LEGO', sans-serif;
	letter-spacing: -.05em;
	font-size: 2.2em;
	text-align: center;
}

.inner .presents, .inner .bgholder {
	display:none !important;
}

.inner .innerlogo_dt {
	display: none;
}

.inner .innerlogo_mob {
	display: block;
	width:70%;
	margin:.5em auto;
}

.home .innerlogo_mob, .home .innerlogo_dt {
	display:none;
}


.home, .toplogo2 {
	width:100%;
}


.homelogo {
	display:block;
	position: relative;
	width:100%;
	margin: 1em auto;
}

.homelogo img {
	width:100%;
}

.tagline {
	display: none;
}


.homelist {
	display: flex;
	flex-wrap: wrap;
	width: 90%;
	align-items: center;
	justify-content: center;
	list-style: none;
	margin:0 auto 1em auto;
	padding: 0;
	font-family: 'LEGO', sans-serif;
	color: var(--dblue);
	font-size: 1.4em;
	letter-spacing: -.05em;
	text-shadow: rgb(255, 255, 255) 2px 0px 0px, rgb(255, 255, 255) 1.75517px 0.958851px 0px, rgb(255, 255, 255) 1.0806px 1.68294px 0px, rgb(255, 255, 255) 0.141474px 1.99499px 0px, rgb(255, 255, 255) -0.832294px 1.81859px 0px, rgb(255, 255, 255) -1.60229px 1.19694px 0px, rgb(255, 255, 255) -1.97999px 0.28224px 0px, rgb(255, 255, 255) -1.87291px -0.701566px 0px, rgb(255, 255, 255) -1.30729px -1.51361px 0px, rgb(255, 255, 255) -0.421592px -1.95506px 0px, rgb(255, 255, 255) 0.567324px -1.91785px 0px, rgb(255, 255, 255) 1.41734px -1.41108px 0px, rgb(255, 255, 255) 1.92034px -0.558831px 0px;
}

.homelist li {
	width: 100%;
	margin: 0 0 1em 0;
	padding: 0;
	line-height: 80%;
}

.homelist li:nth-child(1){
	order: 1;
}

.homelist li:nth-child(2){
	display: flex;
	align-items: center;
	justify-content: space-around;
	width: 60%;
	order:3;
	background: url("../img/rn_bg1.png");
	background-size: 100% 100%;
	line-height: normal;
}

.homelist li:nth-child(3){
	order:2;
	padding: 0 .2em 0 0;
}


.homelist li:nth-child(3) small {
	font-size: 60%;
}

.homelist h2 {
	display: inline-block;
	margin: 0;
	padding: 0;
	text-transform: uppercase;
	font-size: 1.4em;
}

.homelist li a {
	padding: .6em 0;
	color:var(--dblue);
	text-decoration: none;
}

.homelist li a:hover {
	color:var(--red);
	text-decoration: 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-weight:normal;
	font-size:1.6em;
}


header h2 {
	display:inline;
	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: 'LEGO', sans-serif;
	font-size:1.6em;
	z-index:100;
	color:#fff;
	text-align:center;
	background:var(--dblue);
}


.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:var(--green);
}


main {
	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 main {
	text-align:center;
	width: 100%;
	margin: 2% 0;
	overflow: hidden;
}


main 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;
}

main h2 {
	margin:0 0 1em 0;
	font-weight:bold;
	font-size:2.2em;
}

main h3 {
	font-weight:bold;
	font-size:1.2em;
}

main h4 {
	font-weight:bold;
	margin:0 0 .6em 0;
	padding:0;
	font-size:1.2em;
}

.clecredits {
	width: 90%;
	margin: 2em auto 0 auto;
	text-align: center;
	font-size: 1em;
}

.clecredits p {
	margin: .4em 0;
}

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;
}

.tab4 {
	width: 80%;
}

.program h3 {
	text-align: center;
	margin:0 !important;
}

.tab-prog {
	width:100%;
	margin:0 auto;
	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;
	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;
}
.centertext ul li {
	display: block;
}

.sponsorlevels {
	display: block;
	margin: 1em 0 2em 0;
}

.sponsorlevels li {
	display: block;
	width: 30%;
	margin: .4em auto 0 auto;
}

.sponsorlevels li span {
	display: inline-block;
	font-weight: bold;
	width: 80%;
	text-align: left;
}

/* Tablet Layout: 481px to 768px. Inherits styles from: Mobile Layout. */

@media only screen and (min-width: 481px) {

}

/* 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;
}*/

.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);
}


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:1em auto 0 auto;
	text-align:center;
}

.presents h3 {
	display:block;
	width: 100%;
	font-size:1em;
	margin: 1em 0 0 0;
}

.toplogo2 {
	display:block;
	width:80%;
	margin:.6em 10%;
}

.home main {
	width: 90%;
	margin: 2% auto;
}

.home .innerlogo_dt, .innerlogo_mob {
	display:none !important;
}


.inner .innerlogo_dt {
	display: block;
	width:80%;
	margin:0 auto;
}


.titlerow {
	margin:1% 0 0 0;
	text-align:justify;
	color:#1a335f;
	text-transform:uppercase;
	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-weight:normal;
	font-size:1em;
}


header h2 {
	display:inline;
	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%;
	margin:0;
	font-size:1.1em;
	z-index:100000;
	color:#fff;
	text-align:justify;
	background:rgba(0,0,0,.8);
}


.menu-main ul {
	display:flex;
	justify-content: space-between;
	position:relative;
	margin:0;
	padding:0;
}

.menu-main ul li {
	display:block;
	padding:0;
	margin:0;
}


.menu-main ul li a {
	display:block;
	text-align:center;
	color:#fff;
	width:100%;
	text-decoration:none;
}

.menu-main ul li a:hover {
	color:var(--dblue);
text-shadow: rgb(255, 255, 255) 2px 0px 0px, rgb(255, 255, 255) 1.75517px 0.958851px 0px, rgb(255, 255, 255) 1.0806px 1.68294px 0px, rgb(255, 255, 255) 0.141474px 1.99499px 0px, rgb(255, 255, 255) -0.832294px 1.81859px 0px, rgb(255, 255, 255) -1.60229px 1.19694px 0px, rgb(255, 255, 255) -1.97999px 0.28224px 0px, rgb(255, 255, 255) -1.87291px -0.701566px 0px, rgb(255, 255, 255) -1.30729px -1.51361px 0px, rgb(255, 255, 255) -0.421592px -1.95506px 0px, rgb(255, 255, 255) 0.567324px -1.91785px 0px, rgb(255, 255, 255) 1.41734px -1.41108px 0px, rgb(255, 255, 255) 1.92034px -0.558831px 0px;
}

.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
 {
		color:var(--dblue);
text-shadow: rgb(255, 255, 255) 2px 0px 0px, rgb(255, 255, 255) 1.75517px 0.958851px 0px, rgb(255, 255, 255) 1.0806px 1.68294px 0px, rgb(255, 255, 255) 0.141474px 1.99499px 0px, rgb(255, 255, 255) -0.832294px 1.81859px 0px, rgb(255, 255, 255) -1.60229px 1.19694px 0px, rgb(255, 255, 255) -1.97999px 0.28224px 0px, rgb(255, 255, 255) -1.87291px -0.701566px 0px, rgb(255, 255, 255) -1.30729px -1.51361px 0px, rgb(255, 255, 255) -0.421592px -1.95506px 0px, rgb(255, 255, 255) 0.567324px -1.91785px 0px, rgb(255, 255, 255) 1.41734px -1.41108px 0px, rgb(255, 255, 255) 1.92034px -0.558831px 0px;
}


main {
	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 main {
	margin: 0 0 0 5%;
	padding: 0 0 10em 0;
}

main 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;
}

main h3 {
	font-weight:normal;
	font-size:1.4em;
}

main h4 {
	font-size:1.1em;

}


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:var(--dblue);
}

.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;
	font-size: .8em;
}


.video2021 {
	margin:0 auto;
	width:60%;
	height:auto;
}

.homelist {
	display: grid;
	width: auto;
	grid-template-columns: 40% 20% 40%;
	justify-content: space-between;
	align-items: center;
	list-style: none;
	margin:0 auto;
	padding: 0;
}

.homelist li:nth-child(1){
	text-align: left;
	order: 1;
}

.homelist li:nth-child(2){
	width: auto;
	order:2;
}

.homelist li:nth-child(3){
	order:3;
	padding: 0 .2em 0 0;
	text-align: right;
}


.tagline {
	display: block;
	position: absolute;
	left:0;
	bottom:.5em;
	width: 100%;
	text-align: center;
	color:#fff;
	font-size: 1.6em;
	font-weight: bold;
	text-shadow: rgb(0, 0, 0) 3px 0px 0px, rgb(0, 0, 0) 2.83487px 0.981584px 0px, rgb(0, 0, 0) 2.35766px 1.85511px 0px, rgb(0, 0, 0) 1.62091px 2.52441px 0px, rgb(0, 0, 0) 0.705713px 2.91581px 0px, rgb(0, 0, 0) -0.287171px 2.98622px 0px, rgb(0, 0, 0) -1.24844px 2.72789px 0px, rgb(0, 0, 0) -2.07227px 2.16926px 0px, rgb(0, 0, 0) -2.66798px 1.37182px 0px, rgb(0, 0, 0) -2.96998px 0.42336px 0px, rgb(0, 0, 0) -2.94502px -0.571704px 0px, rgb(0, 0, 0) -2.59586px -1.50383px 0px, rgb(0, 0, 0) -1.96093px -2.27041px 0px, rgb(0, 0, 0) -1.11013px -2.78704px 0px, rgb(0, 0, 0) -0.137119px -2.99686px 0px, rgb(0, 0, 0) 0.850987px -2.87677px 0px, rgb(0, 0, 0) 1.74541px -2.43999px 0px, rgb(0, 0, 0) 2.44769px -1.73459px 0px, rgb(0, 0, 0) 2.88051px -0.838247px 0px;
}


.clecredits {
	width: 100%;
	margin: 0em 0 0 0;
	text-align: center;
	font-size: .8em;
}


}

@media only screen and (min-width: 1200px) {
		
}