h/*
#3f97d1 blue, RGB 48,60,76
#f57a3a orange, RGB 245,122,58

BASE (MOBILE) SIZE
	These are the mobile styles. It's what people see on their phones.
	Remember, keep it light: Speed is Important.

*/

/* typography */

body {
	font-family: "Roboto", "Helvetica", arial, sans-serif;
	background:#ffffff;
	color:#3C4043 !important;
	font-weight:400;
	font-size:1em;
	line-height:1.5em;
	}

h1, h2, h3, h4, h5, h6 {
	font-family: "Roboto", "Helvetica", arial, sans-serif;
	font-weight:600;
	line-height:1.5em;
	margin:0 0 1em 0;
	padding:0;
	text-align:center;
	color:#3C4043 !important;
}

h1 {font-size:2.5em; padding:2em 0 0 0;}
h2 {font-size:2.25em;}
h3 {font-size:2em; letter-spacing:-1px;}
h4 {font-size:1.25em; font-weight:bold; }

.subhead { margin: 0.5em 0 1em 0; font-size: 1.25em; font-weight: normal; line-height:150%; }

.indent { padding:0 0 0 1em; }

.fontsmall {font-size:0.8em; }

.intro { font-size:0.9em; line-height: 125%; }




/* links */

a,
a:visited,
a:active { text-decoration:none;}
a:hover { }

/* Box sizing. Awesome thing. Read about it here: http://www.w3schools.com/cssref/css3_pr_box-sizing.asp */
*{	box-sizing:border-box;
	-moz-box-sizing:border-box;}


.reg_button {

    background: transparent;
	border-radius: 2em;
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    font-family: "Roboto", "Helvetica", arial, sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .2px;
    margin: 14px;
    min-width: 150px;
    padding: 10px 14px 9px;
    text-align: center;
    text-transform: uppercase;
	background: #3f97d1;
    border: 2px solid #3f97d1;
	color:rgba(255,255,255,1.00);
}





.reg_button_inline {

    background: transparent;
	border-radius: 2em;
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    font-family: "Roboto", "Helvetica", arial, sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .2px;
    margin: 14px 14px 14px 0;
    min-width: 150px;
    padding: 10px 14px 9px;
	text-align: center;
    text-transform: uppercase;
	background: #3f97d1;
    border: 2px solid #3f97d1;
	color:rgba(255,255,255,1.00);
}

.reg_button_reverse {

    background: transparent;
	border-radius: 2em;
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    font-family: "Roboto", "Helvetica", arial, sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .2px;
    margin: 14px 14px 14px 0;
    min-width: 150px;
    padding: 10px 14px 9px;
	text-align: center;
    text-transform: uppercase;
	background: ;
    border: 2px solid #ffffff;
	color:#ffffff;
}

.link {
    background-repeat: no-repeat;
    display: inline-block;
    font-size: 1.1em;
    line-height: 1.2;
    margin-right: 30px;
	padding: 0 0 5px 50px; }

.link.calendar {
    background: url(media/event.svg) no-repeat 0 0;     max-height: 35px;
}

.link.pin {
    background: url(media/pin.svg) no-repeat 0 0;    max-height: 35px;
}

.grid_3 p { font-size: 1.25em; line-height: 1.5em; margin:0 1em; }
  




/* structure */   
.wrapper{
	width: 92%; 
	margin: 0 auto;
	padding:0;	
}

header{ 
	width:100%;
	background-color:rgba(255,255,255,1.00);	
	z-index:100;
}

.navwrapper{
	width: 92%; 
	margin: 0 auto;
}




#splash6040 {
	    background: #222222;
	padding:95px 0 0 0;
	background-image: url(media/cdmfwd19splash.jpg);
    background-size: cover !important;
    background-attachment: fixed !important;

    background-repeat: no-repeat;
    background-position: top;
    background-size: cover;
    -moz-background-size: cover;
    background-position: center;
    font-size: 1.1em;
    color: #ffffff !important; }




.omega img {
    width: auto;
    max-height: 640px;

}		

	
.nospace { margin:0; padding:0; line-height: normal; }

.topspace { margin-top:2em; }


.vertical-padding{  
	padding:1em 0;
}





.about-block {
	padding:1em;
}

p{ margin:0 0 1.5em;}


.page-padding{  
	padding:8em 0;
}

.desktop-padding {  
	padding:1em 0;
}


/* RESPONSIVE IMAGES  */
img{ max-width:100%; height:auto;}


/*MAIN MENU*/
.menu-toggle{
	float:right;
	display:block;
	padding:10px;
	margin:0;
	color:#fff;
	cursor:pointer;
	text-transform:uppercase;
	font-size:20px;
}
.menu-toggle.toggled-on{
	background:rgba(0,0,0,0.8);
}
.srt-menu{
	display:none;
}	
.srt-menu.toggled-on{
	display:block;
	position:relative;
	z-index:10;
	background:rgba(0,0,0,0.5);
}

.srt-menu{
	clear:both;
	margin-bottom:0;
	
}
.srt-menu li a {
	color:#ffffff;
	display:block;
	margin:1px 0; 
	padding:10px;
	text-decoration:none;
	font-size:.9em;
	text-transform:uppercase;
}
.srt-menu li a:hover{
	background:rgba(0,0,0,0.9);
	cursor: pointer;
	color:#fff;
}
.srt-menu li li a {
	padding-left:40px;
}
.srt-menu li li li a {
	padding-left:80px;
}


table a:link {
  color: #666;
  font-weight: bold;
  text-decoration: none; 
}
table a:visited {
  color: #999999;
  font-weight: bold;
  text-decoration:none;
}
table a:active,
table a:hover {
	color: #bd5a35;
	text-decoration:underline;
}

table {
	width:100%;
/*	margin:20px; */
	font-size:1.25em ;
}

table th {
	font-size:1.2em;
	padding:1.25em;
	font-weight: normal;
	background: #ffffff;
	color:#000000;
}

table th:first-child {
	text-align: left;
	padding-left:20px;
}
table tr:first-child th:first-child {
	-moz-border-radius-topleft:3px;
	-webkit-border-top-left-radius:3px;
	border-top-left-radius:3px;
}
table tr:first-child th:last-child {
	-moz-border-radius-topright:3px;
	-webkit-border-top-right-radius:3px;
	border-top-right-radius:3px;
}
table tr {
	text-align: left;
/*		padding-left:20px; */
}
table td:first-child {
	text-align: left;
/*	padding-left:20px; */
	border-left: 0;
}
table td {
	padding:0; margin:0;
}
table tr.even td {
}



.blue_subhead {color: #3f97d1; font-size: 1.5em;     margin-top: 2em;}


/*SPACE GRID ELEMENTS VERTICALLY, SINCE THEY ARE ONE UNDER ANOTHER SO FAR*/
.grid_1,
.grid_2,
.grid_3,
.grid_4,
.grid_5,
.grid_6,
.grid_7,
.grid_8,
.grid_9,
.grid_10,
.grid_11,
.grid_12,
.grid50a,
.grid50b,
.grid50c
.grid64c{
	margin:0.5em;
	text-align:center;
}



.alpha{margin-left:0px;}
.omega{margin-right:0px;}
.pad20{padding:25% 15%;}
.pad40{padding:4em;}	

.center { text-align: center}





.heads {border-radius: 50%; min-width: 200px; max-width: 200px;}


.cards { color:#333333 !important; text-align: center !important;}
.cards h4 {text-align: center !important;}
.cards p {font-size:0.9em;}

.cards2 {text-align: center !important; color:#333333 !important; min-height: 400px; }
.cards2 h4 {text-align: center !important;}
.cards2 p {font-size:0.9em;}


/*FOOTER*/
footer{  

	color:#ccc;
	font-size:80%;
	padding:20px 0;
}

footer a {color:#f2f2f2; text-decoration:none;}
footer a:hover {color:#f57a3a; text-decoration:none;}

footer ul{
	margin:0 0 0 8%;
	padding:0;
}

.greyelement { background:#dadada; padding: 2em 0; }

.footerelement { background:#e5e5e5; padding: 2em 0; }




.grid_64c { 
	
	display:none;
}

.grid_64d { min-height: 360px; }
.grid_64d h3 { color:#ffffff !important; }





.blueelement { 
	background-color:#3f97d1;
	height:100%;
	width:100%;
	color:#ffffff !important;
}

.blueelement h2 { 
	color:#ffffff !important;
}

#agenda {
	background:#ffffff;	
}





.agenda_day { margin-bottom: 3em;}


.agenda_cell { border-bottom: 1px solid #cccccc; padding:1em 0; color:#434343;}

.agenda_cell li { font-size: 0.9em; margin: 0; padding:0; line-height:110%; }

.session_title {  font-size: 1em; margin: 0; padding:0; line-height:110%;  }

.presenter75 { font-size: 0.75em !important; margin: 0.5em 0 0 0.25em; padding:0; }
.blurb75 { font-size: 0.64em !important; margin: 0.5em 0 0 0.5em; padding:0; }

.timeslot { font-size: 0.6em; margin: 0; padding:0; }





.blue { background:#3f97d1; padding: 2em 0; margin:0; color:#ffffff !important;}
.blue h1 { color:#ffffff !important; text-align:center; margin:1em 0; padding:0; }
.blue h3 { color:#ffffff !important; }

.testelement { /*background:#ececec;*/ background:#fff; padding: 2em 0; }

.whiteelement { background:#ffffff; padding: 2em 0; }

.whitetext {color:#ffffff;}
.bluetext {color:#3f97d1;}
.orangetext {color:#f57a3a;}
.orangetitle {color:#f57a3a; text-transform:uppercase;}

.whitebold {color:#fff; font-weight: bold;}
.bluebold {color:#3f97d1; font-weight: 500;}

.socialfooticons { margin: 0 0 2em 0;}


/* Contain floats: h5bp.com/q */ 
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }



	

img.desaturate { 
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
	opacity: 0.8;
}




span #form {
	width: 100%; margin:0 auto;
}

#pardot-form {
    background: #ffffff;
    margin: 0 auto;
    max-width: 480px;
	padding: 0;
	font-family: "Roboto", "Helvetica", arial, sans-serif;
	color:#757575;
}


.form_mast {
	background: #3f97d1; width: 100%; padding: 0 0 0.25em 0; margin: 0;
}

.form_mast h1 {
	text-align:center;
	font-size:2.5em;
	color:#ffffff;
	font-weight:normal;
	margin:1.5em 0 0 0;
}


.form_body {
			padding:1em;
			margin: 0 0 2em 0 !important;
	    background: #ffffff;
		font-family: "Roboto", "Helvetica", arial, sans-serif;
	color:#757575;
}

form.form span.value {
    /*margin: -18px 0 0 250px;*/
}

form.form p label.inline {
    line-height: 2.25em;
}


form.form p {
    clear:both !important;
}

form.form p label {
    color: #757575 !important;
    float: left !important;
    text-align: left !important;
    line-height: 3em;
    width: auto;
	font-weight: normal;
	background: none !important;
	padding-bottom:1em;
}

form.form input.text {
 font-weight: normal;
    min-width: 200px;
    width: 60% !important;
    padding: 0.75em;
    max-width: 60%;
    border: 2px solid #cccccc;
    float: right;
    border-radius: 5px;
}


form.form select {
font-weight: normal;
    min-width: 200px;
    width: 60% !important;
    padding: 0.75em;
    max-width: 60%;
    border: 2px solid #cccccc;
    float: right;
    border-radius: 5px;
}


form.form p.submit input {
    background: transparent;
	border-radius: 2em;
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    font-family: "Google Sans", "Roboto", "Helvetica", arial, sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .2px;
    margin: 14px 14px 14px 0;
    min-width: 150px;
    padding: 10px 14px 9px;
	text-align: center;
    text-transform: uppercase;
	background: #3f97d1;
    border: 2px solid #3f97d1;
	color:rgba(255,255,255,1.00);
}

form.form p.submit {
    margin-left: 5px;
    text-align: center;
}


form.form p.required .field-label:after {
	content: "*";
    color: #990000 !important; }



form.form p.error label {
    color: #990000 !important;
}

form.form p.error label: {
    content: " - This field is required.";
	color:#990000 !important;
	font-size:0.8em;
}

form.form p.no-label {
    margin: -1.55em 0 1em 1em;
    /* display: none; */
    font-size: 0.75em;
    color: #990000;
}

.errors {    background: #990000 !important;
    color: #ffffff !important;}



span.description { font-size:0.8em; display:block; padding:0 0 0 1em;}

.no_pm { padding:0; margin:0; line-height: 1em; }







/****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
*****************************************
MEDIAQUERIES
*****************************************
****************************************/











/*
LARGER MOBILE DEVICES
This is for mobile devices with a bit larger screens.
*/
@media only screen and (min-width: 481px) {


} 


/*
TABLET & SMALLER LAPTOPS
The average viewing window and preferred media query for those is 768px.
But I think that some more breathing space is good:)
*/
@media only screen and (min-width: 920px) {

h1, h2, h3, h4, h5, h6 {
	text-align:left;
}



.wrapper{
	max-width: 1180px; 
	margin: 0 auto;
	padding:0;
}
	

header{ 
	padding:0;
	position: fixed;
	top:0;
	width:100%;
	background-color:rgba(255,255,255,1.00);	
	z-index:100;
	max-height: 95px;
	min-height: 95px;
	box-shadow: 0 2px 2px 0 rgba(0,0,0,.14), 0 3px 1px -2px rgba(0,0,0,.2), 0 1px 5px 0 rgba(0,0,0,.12);
}

.navwrapper{
	max-width: 1200px; 
	margin: 0 auto;
}

#banner{ 
	float:left; 
	text-align:left;
	margin-bottom:0px;
	margin-top:5px;
}
	
	
#agenda h2 {
	    font-size: 45px;
    font-weight: 400;
    line-height: 1.2;
    margin: 0 0 10px 0;	
}
	
	
#agenda h3 {
    font-size: 16px;
    line-height: 1.5;
    margin: 0;
	text-transform: uppercase;
	font-weight:normal;
	}

#agenda ul {line-height: 1.5em;}

	
.about-block {
	padding:0em;
}

aside { 
	float:right;
	width:30%;
}


.intro { font-size:1.1em; line-height: 150%; }

.vertical-padding{  
	padding:4em 0;
}






/*** MAIN MENU - ESSENTIAL STYLES ***/
.menu-toggle{display:none;}
#menu-main-navigation{display:block;}

.srt-menu, .srt-menu * {
	margin:			0;
	padding:		0;
	list-style:		none;
}
.srt-menu ul {
	position:		absolute;
	display:none;
	width:			15em; /* left offset of submenus need to match (see below) */
}
.srt-menu ul li {
	width:			100%;
}
.srt-menu li:hover {
	visibility:		inherit; /* fixes IE7 'sticky bug' */
}
.srt-menu li {
	float:			left;
	position:		relative;
	margin-left:1px;
	height:25px;
}
.srt-menu li li {
	margin-left:0px;
	height:auto;
}
.srt-menu a {
	display:		block;
	position:		relative;
}

.srt-menu li a:hover{
	background:none;
	cursor: pointer;
	border-bottom: 2px solid #f57a3a;
	color:#fff;
}
.srt-menu li:hover ul,
.srt-menu li.sfHover ul {
	display:block;
	left:			0;
	top:			64px; /* match top ul list item height */
	z-index:		99;
	-webkit-box-shadow:  2px 3px 2px 0px rgba(00, 00, 00, .3);
    box-shadow:  2px 3px 2px 0px rgba(00, 00, 00, .3);
}
ul.srt-menu li:hover li ul,
ul.srt-menu li.sfHover li ul {
	top:			-999em;
}
ul.srt-menu li li:hover ul,
ul.srt-menu li li.sfHover ul {
	left:			12em; /* match ul width */
	top:			0;
}
ul.srt-menu li li:hover li ul,
ul.srt-menu li li.sfHover li ul {
	top:			-999em;
}
ul.srt-menu li li li:hover ul,
ul.srt-menu li li li.sfHover ul {
	left:			10em; /* match ul width */
	top:			0;
}

/*** DEMO2 SKIN ***/
#topnav {
	float:right;
	margin: 0;
}

.srt-menu {
	float:right;
	margin: 0;
}
.srt-menu a {
	text-decoration:none;
}
.srt-menu li a{
	margin:0; 
	padding:20px;
}
.srt-menu a, .srt-menu a:visited  { /* visited pseudo selector so IE6 applies text colour*/
	color:			#fff;	
}
.srt-menu li li a {
		border-top:		1px solid rgba(255,255,255,.2);
		background:		#333; /*fallback for old IE*/
		background:rgba(48,60,76,0.9);
		color:	#fff;
		padding:10px 10px 10px 20px;
}
.srt-menu li li a:visited{color:#fff;}
.srt-menu li li li a,
.srt-menu li.current * li a{
	padding-left:20px;
	background:rgba(48,60,76,0.9);
}

.srt-menu li:hover > a,
.srt-menu li.current a{ 
	color:#fff;
	background:none;
}
.srt-menu li li:hover > a{
	color:#fff;
	background:none;
}




table {
	width:100%;
	margin:20px;
	font-size:1.25em ;
}

table th {
	font-size:1.2em;
	padding:1.25em;
	font-weight: normal;
	background: #ffffff;
	color:#000000;
}

table th:first-child {
	text-align: left;
	padding-left:20px;
}
table tr:first-child th:first-child {
	-moz-border-radius-topleft:3px;
	-webkit-border-top-left-radius:3px;
	border-top-left-radius:3px;
}
table tr:first-child th:last-child {
	-moz-border-radius-topright:3px;
	-webkit-border-top-right-radius:3px;
	border-top-right-radius:3px;
}
table tr {
	text-align: left;
/*		padding-left:20px; */
}
table td:first-child {
	text-align: left;
/*	padding-left:20px; */
	border-left: 0;
}
table td {
	padding:0; margin:0;
}
table tr.even td {
}

.agenda_day { margin-bottom: 3em;}


.agenda_cell { border-bottom: 1px solid #cccccc; padding:1em 0; color:#434343;}

.agenda_cell li { font-size: 0.9em; margin: 0; padding:0; line-height:110%; }

.session_title {  font-size: 1em; margin: 0; padding:0; line-height:110%;  }

.presenter75 { font-size: 0.75em !important; margin: 0.5em 0 0 0.25em; padding:0; }
.blurb75 { font-size: 0.64em !important; margin: 0.5em 0 0 0.5em; padding:0; }

.timeslot { font-size: 0.75em; margin: 0.25em 0 0 0; padding:0; }









/*GRID*/
/*
 & Columns : 12 

 */
.grid_1 { width: 5%; }
.grid_2 { width: 13.333333333333%; }
.grid_3 { width: 21.666666666667%; }
.grid_4 { width: 30%; }
.grid_5 { width: 38.333333333333%; }
.grid_6 { width: 46.666666666667%; }
.grid_7 { width: 55%; }
.grid_8 { width: 63.333333333333%; }
.grid_9 { width: 71.666666666667%; }
.grid_10 { width: 80%; }
.grid_11 { width: 88.333333333333%; }
.grid_12 { width: 96.666666666667%; }
.grid_100 { height:100%; width: 100%; margin:0; padding:0; }

.grid_1,
.grid_2,
.grid_3,
.grid_4,
.grid_5,
.grid_6,
.grid_7,
.grid_8,
.grid_9,
.grid_10,
.grid_11,
.grid_12 {
	margin-left: 1.6666666666667%;
	margin-right: 1.6666666666667%;
	float: left;
	text-align:left;
}


	
	
	.pad64 { padding:2em 0;}
	



.alpha{margin-left:0px;}
.omega{margin-right:0px;}
.rightfloat{float:right;}
.pad20{padding:25% 15%;}
.pad40{padding:4em;}	
.right {text-align: right;}
.left {text-align: left;}
.center { text-align: center}



.desktop-padding {  
	padding:6em 0;
}

	

	}




/*
DESKTOP
This is the average viewing window. So Desktops, Laptops, and
in general anyone not viewing on a mobile device. Here's where
you can add resource intensive styles.
*/
@media only screen and (min-width: 1024px) {



} 

/*
LARGE VIEWING SIZE
This is for the larger monitors and possibly full screen viewers.
*/
@media only screen and (min-width: 1240px) {

} 

/*
RETINA (2x RESOLUTION DEVICES)
This applies to the retina iPhone (4s) and iPad (2,3) along with
other displays with a 2x resolution.
*/
@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
       only screen and (min--moz-device-pixel-ratio: 1.5),
       only screen and (min-device-pixel-ratio: 1.5) {


} 

/*
iPHONE 5 MEDIA QUERY
iPhone 5 or iPod Touch 5th generation styles (you can include your own file if you want)
*/
@media (device-height: 568px) and (-webkit-min-device-pixel-ratio: 2) { 

  
}

/*
PRINT STYLESHEET
*/
@media print {
  * { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } /* Black prints faster: h5bp.com/s */
  a, a:visited { text-decoration: underline; }
  a[href]:after { content: " (" attr(href) ")"; }
  abbr[title]:after { content: " (" attr(title) ")"; }
  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }  /* Don't show links for images, or javascript/internal links */
  pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
  thead { display: table-header-group; } /* h5bp.com/t */
  tr, img { page-break-inside: avoid; }
  img { max-width: 100% !important; }
  @page { margin: 0.5cm; }
  p, h2, h3 { orphans: 3; widows: 3; }
  h2, h3 { page-break-after: avoid; }
}