* {
box-sizing: border-box;
margin:0;
padding:0;
}

html, body {
margin:0;
padding:0;
}


body {
background: #2E6C93;
font-family: arial;
}


img, a img { border:none; }



#top {
width: 800px;
margin: auto;
overflow:hidden;
}

#top a {
color: #7794a8;
text-decoration: none;
font-size: 12px;
height: 30px;
line-height: 30px;
float: left;
padding: 0px;

   -moz-transition: 0.3s;
-webkit-transition: 0.3s;
     -o-transition: 0.3s;
    -ms-transition: 0.3s;
        transition: 0.3s;
}

#top a#homelink {
display: block;
text-align: right;
float: right;
}

#top a:hover {
background: #365970;
padding: 0px 10px;
}


#page {
position: relative;
width: 960px;
margin: auto;
/* box-shadow: 0px 0px 40px #1c394c; */
overflow: hidden;
}





#form {
visibility: hidden;
opacity: 0;
position: absolute;
width: 480px;
height: 480px;
top: 95px;
left: 0px;
overflow:hidden;
background: #97ab35;
padding: 1em;
transition: 0.41s ease-in;
} 

#form.active {
visibility: visible;
opacity:0.91;
}



/* form errors */
#errors p, #errorlist li {
color: #fff;
padding: 4px;
margin: 0 0 4px 0; 
border-radius: 6px;
font-size: 12px;
}

#errors p {
background: #800000;
}

#errorlist { list-style-type: none;}

#errorlist li { 
background: #003A63;
font-weight: normal;
}

#required { 
padding: 4px 4px 4px 8px;
margin-bottom: 20px;
background: #55611e;
color: white;
border-radius: 6px;
box-shadow: 0px 7px 0px #87992f;
}




.formcol { float: left; }

#formcol1 { 
margin-right: 35px;
}


#formcol2 { 
position: relative;
top: 22px;
width: 53%;
}


#formcol1 div {
margin-bottom: 1em;
}

form label {
display: block;
}

#formcol1 label {
margin-bottom: 0.3em;
}

#formcol1 label {
color: #004854;
}


form input[type=text], form input[type=email], form input[type=tel] {
display: block;
width: 159px;
height: 26px;
border: 1px solid #ad8d6e;
padding-left: 5px;
font-size: 14px;
}


form input.cb {
border: none;
display:inline-block;
margin-right: 20px;
width: auto;
}



.form-button {
cursor: pointer;
position: absolute;
bottom: 1em;
background: #87992F;
color: #fff;
border: none;
padding: 0.5em 1em;
height: 36px;
font-family: arial;
}

#submitbutton {
text-transform: uppercase;
font-size: 14px;
width: 150px;
right: 1em;
}



#cancel-form {
left: 1em;
}

.form-button:hover {
background: #6D7D22;
}


#thanks {
	color: #003A63;
	text-align: center;
    background: none repeat scroll 0 0 #FFFFFF;
    border-radius: 10px 10px 10px 10px;
    padding: 20px;
    box-shadow: 0 0 18px #627382;
    width: 60%;
    margin: 6em auto 0 auto;
}


#thanks h3 {
font-size: 26px;
}

#thanks h3, #thanks p { margin-bottom: 16px; }



.rsvp {
list-style-type: none;
margin: 0px;
padding: 0px;
font-size: 12px;
}

.rsvp h2 {
font-size: 14px;
white-space: nowrap;
}

.rsvp h2, .rsvp p {
margin-bottom: 0.5em;
}

.rsvp li {
margin-bottom: 1em;
padding-bottom: 1em;
}

.rsvp fieldset {
border: 1px solid #647527;
padding: 0.5em 0 0.5em 0.5em;
margin-bottom: 0.5em;
}

.rsvp .THERECANBEONLYONE.active {
color: #F00;
text-transform: uppercase;
background: black;
padding: 5px;
}

form .rsvp input {
color: inherit;
color: inherit;
display: inline;
width: auto;
padding: 0;
margin: 0;
vertical-align: middle;
}


.rsvp label {
color: inherit;
display: inline;
padding-left: 0.5em;
}

.venue {
padding-left: 1em;
}


.time {
display: block;
padding-left: 3em;
font-size: 11px;
}

.rsvp > li > div {
margin-bottom: 0.5em;
}

.cb-wrapper {
	line-height: 0.8;
	margin-bottom: 1em;
}

.cb-wrapper:last-child {
margin-bottom: 0;
}


/* -----------------------------  */




.panel {
width: 50%;
height: 771px;
float: left;
position: relative;
}

.p1 {
width: 494px;
background: url(../jpg/p1-bg.jpg) #677fa1;
}

.p2 {
width: 466px;
background: url(../jpg/p2-bg.jpg) #09234e;
}





.p1 * {
color: transparent;
}


.p1-g1 {
position: absolute;
width: 480px;
height: 70px;
top: 25px;
left: 0px;
background: url(../png/p1-g1.png);
}


.p1-content {
opacity: 1;
transition: 0.41s ease-out;
position: relative; /* so children inherit opcity in IE 8,9,10 */
}

.p1-content.inactive {
opacity:0;
}

.p1-content > * {
position: absolute;
transition: 1s ease-out;
}

.init {
opacity:0;
}

.p1-t2.init {
top: 190px;
transform: scale(0.7);
}

.p1-t2 {
width: 197px;
height: 67px;
background: url(../png/p1-t2.png);
left: 46px;
top: 255px;
}


.logo-icon.init { 
opacity: 0.0;
left: -60px;
transform: scale(0.5);
}

.logo-icon {
opacity: 1;
background: url(../png/logo-icon.png);
width: 415px;
height: 228px;
left: 46px;
top: 205px;
}


.p1-t3.init {
	transform: scale(0.6);
//opacity:0;
}

.p1-t3 {
	transform-origin: 100% 100%;
width: 390px;
height: 70px;
background: url(../png/p1-t3.png);
left: 46px;
top: 472px;
}


.p1-t4.init {
opacity:0;
transform: scale(0.6);
}


.p1-t4 {
transform-origin: 50% 0%;
width: 255px;
height: 93px;
background: url(../png/p1-t4.png);
left: 46px;
top: 570px;
}




.p2 > * {
position: absolute;
color: transparent;
}

.p2-g1 {
width: 451px;
height: 70px;
top: 25px;
right: 0px;
background: url(../png/p2-g1.png) top right;
}


.p2-text {
width: 419px;
height: 620px;
top: 115px;
left: 20px;
background: url(../png/p2-text.png) top right;
}









#bfsb {
top: 687px;
left: 20px;
width: 160px;
height: 50px;
background: url(../png/logo-bfsb-4.png) top left no-repeat;
text-indent: -9999px;
}

#register {
    background: url(../png/register-6.png);
    display: none;
    margin: auto;
    cursor: pointer;
    height: 67px;
    width: 179px;
    text-indent: -9999px;
    top: 477px;
    left: 20px;
    transition: 1s;
}

#register.inactive {
opacity:0;
}

#register a {
background: url(../sprite-register-4.html) bottom left;
}

#register a:hover {
background-position: 0px 0px;
}






/* -----------------------------  */





#footer:before {
content:'';
background: url(../png/dots-14.png);
height: 10px;
width: 960px;
position: absolute;
left: 0;
top: -12px;
}

#footer {
position: relative;
clear: both; 
height: 283px;
background: url(../png/footer-3.png) #053b59;
}


#footer h2 {
position: absolute;
top: 14px;
background-image: url('../png/footer-headings-2.png');
color: transparent;
height: 12px;
}

.hSponsor { 
left: 47px;
background-position: top left;
}

.hMediaSponsor { 
right: 40px;
width: 116px;
background-position: bottom left;
}


.logolist {
list-style-type: none;
overflow: hidden;
width: 100%;
margin: auto;
background: url('../png/sponsors-3.png') center center no-repeat;
height: 100%;
}

.logo {
position: absolute;
}

.logo.mof {
top: 50px;
left: 40px;
width: 180px;
height: 67px;
}

.logo.ansbacher {
top: 40px;
left: 255px;
width: 150px;
height: 67px;
}


.logo.delaney {
top: 20px;
left: 430px;
width: 100px;
height: 90px;
}


.logo.deltech {
top: 60px;
left: 570px;
width: 180px;
height: 47px;
}


.logo.dupuch {
top: 60px;
left: 800px;
width: 120px;
height: 47px;
}

.logo.equity {
top: 130px;
left: 30px;
width: 110px;
height: 70px;
}


.logo.graham {
top: 130px;
left: 210px;
width: 120px;
height: 67px;
}


.logo.genesis {
top: 130px;
left: 430px;
width: 110px;
height: 57px;
}

.logo.higgs {
top: 120px;
left: 620px;
width: 110px;
height: 70px;
}

.logo.julius {
top: 140px;
left: 800px;
width: 125px;
height: 40px;
}

.logo.lennox {
top: 220px;
left: 35px;
width: 180px;
height: 40px;
}

.logo.pwc {
top: 200px;
left: 300px;
width: 100px;
height: 67px;
}

.logo.rbc {
top: 210px;
left: 450px;
width: 215px;
height: 60px;
}

.logo.winter {
top: 200px;
left: 710px;
width: 210px;
height: 60px;
}



.logolist a {
display: block;
text-decoration: none;
width: 100%;
height: 100%;
transition: 1s;
border: 1px solid transparent;
}

.logolist a:hover {
border: 1px solid white;
}






@media screen and (max-width: 493px)
{
	#page {
	width: auto;
	}
	
	.panel {
	float:none;
	}
	
	.p2 {
	width: auto;
	}
	
	#form {
	top: 865px;
	
	}
	
	#form.active {
	opacity: 1;
	}

}