@charset "UTF-8";
/* CSS Document Last updated January 11, 2023 ZA*/


body {
  
}
.main-content a {
  color: #21409a!important;
  text-decoration: none;
}
h1, h2, h3, h4, h5, h6 {
  
}
h1, h2, h3, h4 {
  color: #000;
}
h1 {
	color:#21409A;
  font-size: 1.3em;
  font-weight: 700;
}
h2 {
	color:#21409A;
  font-size: 1.2em;
  font-weight: 700;
}
h3 {
	color:#6e7177;
  font-size: 1.1em;
  font-weight: 700;
}
h4 {
  font-size: 1em;
  font-weight: 700;
}
h5 {
  font-size: 0.9em;
  font-weight: 700;
}
h6 {
  font-size: 0.8em;
  font-weight: 700;
}
small,.small {
  font-size: 10pt;
}
hr {
  display: block;
  clear: both;
  border: none;
  height: 1px;
  background: #dbdbdb;
  margin: 1px;
  padding: 0;
}
/*COMMON ARTICLE CSS*/
.clr {
  clear: both;
}
.black_bold {
  color: #000;
  font-weight: 600;
}
.blue_bold {
  color: #21409A;
  font-weight: 600;
}
.red_bold {
  color: #850e12;
  font-weight: 600;
}
/*CSS Button*/
 a.button {
  background-color: #000;
  text-indent: 0;
  display: inline-block;
  color: #fff!important;
  font-size: 13pt;
  font-weight: 600;
  font-style: normal;
  line-height: 45px;
  width: auto;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  margin: 0 5px 5px;
  padding: 0 5px;
}
a.button:hover {
  background-color: #fed844;
  text-decoration: none;
}
a.button:active {
  position: relative;
  top: 1px;
}
/* Image Wrap Styles */
img.img_left {
  float: left;
  margin-right: 10px;
}
img.img_right {
  float: right;
  margin-left: 10px;
}
img.img_center {
  margin-left: auto;
  margin-right: auto;
  display: block;
}

@media only screen and (max-width: 400px) {
	img.img_left {
  float: none;
  display: block;
}
img.img_right {
 float: none;
  display: block;
}

}

/* LISTS DIVIDED INTO 4 PERFECTLY EVEN COLUMNS  */
#cols4 {
  -webkit-column-count: 4;
  /* Chrome, Safari, Opera */
  -moz-column-count: 4;
  /* Firefox */
  column-count: 4;
}
@media only screen and (max-width: 767px) {
  #cols4 {
    -webkit-column-count: 2;
    /* Chrome, Safari, Opera */
    -moz-column-count: 2;
    /* Firefox */
    column-count: 2;
  }
}
@media only screen and (max-width: 767px) {
  #cols4 {
    -webkit-column-count: 2;
    /* Chrome, Safari, Opera */
    -moz-column-count: 2;
    /* Firefox */
    column-count: 2;
  }
}
@media only screen and (max-width: 479px) {
  #cols4 {
    -webkit-column-count: 1;
    /* Chrome, Safari, Opera */
    -moz-column-count: 1;
    /* Firefox */
    column-count: 1;
  }
}

/** This scrolls the Exhibitor table next to the floor plan **/


/** SORTABLE EXHIBITOR TABLE **/
#exhibitorTable {
  margin: 0 auto 15px auto;
 overflow: scroll; 
	width: 99%;
	font-size: 1.1em;
}
#exhibitorTable thead {
  cursor: pointer;
  background: #e2e7e5;
	position: sticky;
	top: 0; 
	z-index: 1;
}
#exhibitorTable thead tr th {
  font-weight: bold;
  padding: 5px 10px;
}

#exhibitorTable tr:nth-child(even) {
    background-color: #f2f2f2
}

#exhibitorTable td {
  padding: 5px 10px;
}


/* BOXES FOR SPEAKER PAGE */
.speakers {
  width: 192px;
  height: 340px;
  display:inline-block;
  border: 1px #e1e1e1 solid;
  margin: -0px -3px;
  vertical-align: top;
}
.speakers h4 {
  color: #5e6168;
  margin: 5px 5px 2px 5px;
  font-size: 12pt;
}
.speakers p {
  margin: 2px 5px;
  font-size: 9.5pt;
}

@media only screen and (max-width: 400px) {
	.speakers {
  width: 165px;
	}
}



.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12 {
  width: 96%;
  float: left;
  margin: 0.5rem 2%;
}
@media only screen and (min-width: 45em) {
  /* 720px */
  .col-1 {
    width: 4.33%;
  }
  .col-2 {
    width: 12.66%;
  }
  .col-3 {
    width: 21%;
  }
  .col-4 {
    width: 29.33%;
  }
  .col-5 {
    width: 37.66%;
  }
  .col-6 {
    width: 46%;
  }
  .col-7 {
    width: 54.33%;
  }
  .col-8 {
    width: 62.66%;
  }
  .col-9 {
    width: 71%;
  }
  .col-10 {
    width: 79.33%;
  }
  .col-11 {
    width: 87.66%;
  }
  .col-12 {
    width: 96%;
  }
}
/*RESPONSIVE MAP */
.map-responsive {
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
  height: 0;
}
.map-responsive iframe {
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  position: absolute;
}



/* current sponsors page */
	#sponsors {
			padding: 10px; min-height:400px;text-align: center}

		#sponsors > a {background: #FFFFFF; text-align: center; display: inline-block; height:110px; width:150px;padding:10px; line-height: 90px;vertical-align: middle;margin:5px}
		
		#sponsors img {max-width:130px; max-height:80px; margin:auto;}
		
		
@media only screen and (max-width: 720px) {
		
	#sponsors {
	background-image: none;
	max-width: auto;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	}
	
	#sponsors h3 {color:#0C468D}
	
	
	#sponsors a {background: #FFFFFF; text-align: center; display: inline-block; height:60px; width:120px;padding:10px; line-height: 60px;vertical-align: middle;margin:5px}
		
	#sponsors a > img {max-width:120px; max-height:60px; margin:auto;vertical-align: middle;}
	
}		
		



img.logo {max-width:100px; max-height:100px} /*size down logos on agenda*/





button.register{
    width:230px;
    height:70px;
    background: linear-gradient(to left top, #1c367f 50%, #21409A 50%);
    border-style: none;
    color:#fff;
    font-size: 30px;
    letter-spacing: 3px;
    font-family: 'Open Sans Condensed';
    font-weight: 600;
    outline: none;
    cursor: pointer;
    position: relative;
    padding: 0px;
    overflow: hidden;
    transition: all .5s;
    box-shadow: 0px 2px 2px rgba(0,0,0,.2);
}
button.register span{
    position: absolute;
    display: block;
}
button.register span:nth-child(1){
    height: 3px;
    width:200px;
    top:0px;
    left:-200px;
    background: linear-gradient(to right, rgba(0,0,0,0), #FBD442);
    border-top-right-radius: 1px;
    border-bottom-right-radius: 1px;
    animation: span1 2s linear infinite;
    animation-delay: 1s;
}

@keyframes span1{
    0%{
        left:-200px
    }
    100%{
        left:200px;
    }
}
button.register span:nth-child(2){
    height: 70px;
    width: 3px;
    top:-70px;
    right:0px;
    background: linear-gradient(to bottom, rgba(0,0,0,0), #FBD442);
    border-bottom-left-radius: 1px;
    border-bottom-right-radius: 1px;
    animation: span2 2s linear infinite;
    animation-delay: 2s;
}
@keyframes span2{
    0%{
        top:-70px;
    }
    100%{
        top:70px;
    }
}
button.register span:nth-child(3){
    height:3px;
    width:200px;
    right:-200px;
    bottom: 0px;
    background: linear-gradient(to left, rgba(0,0,0,0), #FBD442);
    border-top-left-radius: 1px;
    border-bottom-left-radius: 1px;
    animation: span3 2s linear infinite;
    animation-delay: 3s;
}
@keyframes span3{
    0%{
        right:-200px;
    }
    100%{
        right: 200px;
    }
}

button.register span:nth-child(4){
    height:70px;
    width:3px;
    bottom:-70px;
    left:0px;
    background: linear-gradient(to top, rgba(0,0,0,0), #FBD442);
    border-top-right-radius: 1px;
    border-top-left-radius: 1px;
    animation: span4 2s linear infinite;
    animation-delay: 4s;
}
@keyframes span4{
    0%{
        bottom: -70px;
    }
    100%{
        bottom:70px;
    }
}

button.register:hover{
    transition: all .5s;
    transform: rotate(-1deg) scale(1.1);
    box-shadow: 0px 3px 5px rgba(0,0,0,.4);
}
button.register:hover span{
    animation-play-state: paused;
}

div.warn {max-width:85%; margin:auto; border-left:2px solid #C8C7C9; border-right:2px solid #C8C7C9;}

div.warn h6 {color:#850e12!important; text-transform:uppercase; width:100%; text-align:center; font-size:13pt}

div.warn p {margin:3px 8px; font-size:10pt;text-align:left;}





/* This contains all page elements. */

.pageContainer{

	margin: 0px auto;

	max-width: 90%

	font-family: 'Open-Sans', sans-serif;

	font-size: 18px;

	line-height: 1.4;

}



@media screen and (max-width: 700px){

	.pageContainer{

		width: 100%;		

	}

}












/* This just centers the image within. */

.imageContainer{

	text-align: center;

}



.imageContainer img{
	margin: 0px auto;
	max-width: 95%;

}













/* This restricts content to half the page width, and becomes full page width on narrow screens. */

.halfWidthDiv{

	width: 48%;

	display: inline-block;

	margin-right: 15px;

	vertical-align: top;

	overflow: hidden;

}

@media screen and (max-width: 1000px){

	.halfWidthDiv{

		width: 95%;

		display: block;

		margin: 15px auto 40px auto;

	}

}



.halfWidthDiv img{

	max-width: 99%;

}

















/* Below are various section headers. */



.sectionHeader{

	font-family: 'Oswald';

	margin: 0px auto 20px auto;

	font-size: 32px;

	text-transform: uppercase;

	color: #253D6F; /* This header color will be unique for each brand. */

}







/* This contains the big resources buttons. */

.resourcesContainer{

	display: inline-block;

	margin: 20px 0px 0px 10px;

	padding-top: 10px;

	width: 35%;

	vertical-align: top;

}

@media screen and (max-width: 1000px){

	.resourcesContainer{

		display: block;

		width: auto;

	}

}



.resourcesContainer a:link, .resourcesContainer a:visited{

	text-decoration: none;

}



/* These are the resources buttons. */

.resourcesButton{

	margin: 0px 5px 12px 5px;

	padding: 6px 4px;

	background-color: #2D1C4A;

	color: #ffffff;

	font-size: 16pt;

	cursor: pointer;

	line-height: 1.2;

	border: 1px solid #696969;

	text-align: center;

	font-family:"Nunito Sans","Open Sans Condensed",sans-serif;

}



.resourcesButton:hover{

	background-color: #624e87;

}









/* This header is above all the Marketing Solutions options. */

#marketingSolutionsHeader{

	margin: 20px auto 0px auto;

	text-align: center;

}













/* This contains all the Marketing Solutions. */

#allSolutionsContainer{

	margin-top: 20px;

}











/* This contains the Marketing Solutions menu. */

#menuContainer{

	text-align: center;

	animation: revealMenu 0.4s;

}

@keyframes revealMenu{

	from{

		opacity: 0;

	}

	to{

		opacity: 1;

	}

}











/* These contain the individual Marketing Solutions. */

.marketingSolutionContainer{

	display: none;

	margin: 0px auto 50px auto;

	padding: 10px;

	width: 98%;

	overflow: hidden;

	border: 1px solid #696969;

	box-shadow: 2px 2px 4px #696969;

	border-radius: 5px;

	animation: revealSolution 0.4s;

}

@keyframes revealSolution{

	from{

		opacity: 0;

	}

	to{

		opacity: 1;

	}

}



	.marketingSolutionContainer h5 {color:#000}

	.marketingSolutionContainer h6 {font-size:13.5pt!important; color:#AE0107!important}





/* These are the various Marketing menu buttons. */

.solutionButton, .downloadButton, .categoryButton, #restoreMenuButton, .viewAllButton, #viewAllWithinCategoryButton, #resetButton{

	display: inline-block;

	margin: 8px;

	padding: 6px 12px;

	position: relative;

	background-color: #192E71;

	color: #ffffff;

	font-size: 16pt;	

	cursor: pointer;

	line-height: 1.2;

	width: 230px;

	border: 1px solid #696969;

	font-family:"Nunito Sans","Open Sans Condensed",sans-serif;

}



.solutionButton:hover, .downloadButton:hover, #restoreMenuButton:hover, .viewAllButton:hover, #viewAllWithinCategoryButton:hover, #resetButton:hover{

	background-color: #192E71;



}



.categoryButton:hover{

	opacity: 0.7;

}



.solutionButton a{

	text-decoration: none;

	color: #ffffff;

}









/* This makes certain buttons wider and responsive. */

#restoreMenuButton, .viewAllButton, #viewAllWithinCategoryButton, #resetButton{

	width: 400px;

}

@media screen and (max-width: 700px){

	#restoreMenuButton, .viewAllButton, #viewAllWithinCategoryButton, #resetButton{

		width: 95%;

	}

}





/* This is the information icon within the Marketing Solution buttons. */

.infoIcon{

	position: absolute;

	top: 2px;

	right: 4px;

}



.infoIcon:hover{

	background-color: #696969;

}







/* These contain the information that becomes visible when you hover over the info icon on the Marketing Solution buttons. */

.infoBox{

	display: none;

	padding: 5px;

	width: 175px;

	background-color: #ffffff;

	color: #000000;

	text-align: left;

	font-size: 16px;

	font-weight: normal;

	top: 2px;

	right: 2px;

	z-index: 10;

	box-shadow: 4px 4px 8px #000000;

	border: 1px solid #696969;

	position: absolute;

}



.infoIcon:hover .infoBox{

	display: block;

}









/* This has an icon on the left, and a paragraph next to it. */

.imageBesideTextContainer{

	padding: 20px 0px;

	overflow: hidden;

}



/* This lets the paragraphs within float as a block next to the image without wrapping around the image. */

.imageBesideTextContainer div{

	display: inline-block;

	max-width: 65%;

	vertical-align: top;

}

@media screen and (max-width: 700px){

	.imageBesideTextContainer div{

		display: block;

		max-width: 90%;

	}

}



.imageBesideTextContainer img{

	float: left;

	width: 220px;

	margin: 0px 20px 0px 0px;

}

@media screen and (max-width: 700px){

	.imageBesideTextContainer img{

		float: none;

		display: block;

		margin: 0px 0px 15px 0px;

		text-align: right;

	}

}





/* This works only in addition to imageBesideTextContainer. It adds size limits to the images. */ 

.contentMarketing img{

	width: 125px;

}





	



/* This floats content to the right, and goes pagewide on narrow screens. */

.floatRight{

	width: 50%;

	margin: 8px 0px 8px 8px;

	float: right;

	text-align: center;

	overflow: hidden;

}

@media screen and (max-width: 700px){

    .floatRight{

		float: none;

		width: 80%;

		margin: 8px auto;

	}

}



.floatRight img{

	max-width: 100%;

	max-height: 250px;

}



.prospectusContainer {

	float:right;

	width:25%;

	min-width:280px;

	background:#FFFDF7;

	border:1px solid #CCCCCC;

	margin:0 5px 5px 5px;

	padding:5px;

	text-align:center;

	}

	

.prospectusContainer h4 {

  text-align:center;

font-family:"Nunito Sans","Open Sans Condensed",sans-serif;

color:#231F20!important;

	margin:0 0 5px 0!important;

}

	

.prospectusContainer div {

  text-align:center;

margin:0px!important;

}

	

.prospectusContainer img {

  max-height:200px;

	border:1px solid #253D6F;

}



	.prospectusContainer .solutionButton {

	width:180px!important;

	}	

	

	.solutionButton > a {

	  color:#fff!important;

	}



	@media screen and (max-width: 700px){

	.prospectusContainer {

	float:none;

	width:100%;

		}

	}

	

.contactContainer {

	max-width:50%;

	margin:10px auto;

	background:#FFFDF7;

	border:1px solid #d6d6d6;

	font-size:10.5pt;

	}

	

.contactContainer strong {

  	font-size:10.5pt;

}	




.contactContainer div{

	width:47%;

	margin:1%;

	display:inline-block;

	vertical-align:top;

	}	

	

	

	

.contactContainer h4 {

  text-align:center;

	font-size:20pt;

font-family:"Nunito Sans","Open Sans Condensed",sans-serif;

color:#231F20!important;	

}

	

.contactContainer a {

	color:#55332b!important;	
  font-size:10pt;

}

		

.contactContainer img {

  max-width:100px;

  /*float:left;*/

  margin:0 5px 35px 0;

}	

	





@media screen and (max-width: 800px) {

	  .contactContainer {

	  width:100%;  

	  }

}



	

@media screen and (max-width: 420px) {

	.contactContainer div{

	width:99%;

	text-align:center;

	}

.contactContainer img {

  max-width:125px;

  display:block;

  float:none;

  margin:10px auto 5px auto;

}		

	

	}

	






@media screen and (max-width: 700px){

	.desktopOnly{

		display: none;

    }

}





.mobileOnly{

	display: none;

}

@media screen and (max-width: 700px){

	.mobileOnly{

		display: block;

    }

}


/* New agenda */
/* This is each section header, which also functions as the reveal button. */

.accordionHeader{
	margin: 0px;
	padding: 10px 5px;
	text-align: center;
	background-color: #d3d3d3;
	color: #605e5e;
	font-weight: bold;
	font-size: 20pt;
	border: 1px solid #ffffff;

}



.accordionHeader:hover{

	cursor: pointer;
	color: #21409A;
	background-color: #e8e8e8;

}







/* These styles are applied only when a header is opened. */



.accordionHeaderOpenStyles{
	background-color: #f2f2f2;
	color: #0C426A;

}





/* This contains the optional + or - icon next to the header. */



.headerIcon{
	float: left;
	min-width: 16px;

}


/* This contains the content to be revealed. */



.accordionSection{

	display: none;
	position: relative;
	margin: 0px auto 75px auto;
	animation: contentFadeIn 0.2s;
}



@keyframes contentFadeIn{



	from{

		opacity: 0;

		top: -20px;



	}



	to{

		opacity: 1;

		top: 0px;

	}



}



	

/* Agenda contents */

.time {font-family:'Open Sans Condensed', sans-serif;
	}


.sessionBox{

display: block;
margin: 0px auto 20px auto;
padding: 0px;
overflow: hidden;
text-align: left;
line-height: 1.1;
border: 2px solid #21409A;
border-radius: 4px;
width:95%;

}



.sessionBox > .time{

margin: 0px 0px 8px 0px;
padding: 5px 9px 5px 9px;
background-color: #21409A;
font-weight:bold;
font-size:1.1em;
color: #ffffff;
text-align:center;

}




.networkingBox{

display: block;
margin: 0px auto 20px auto;
padding: 0px;
overflow: hidden;
text-align: left;
line-height: 1.1;
border: 2px solid #605e5e;
border-radius: 4px;
width:95%;

}



.networkingBox > .time{

margin: 0px 0px 8px 0px;
padding: 5px 9px 5px 9px;
background-color: #605e5e;
font-weight:bold;
font-size:1.1em;
color: #ffffff;
text-align:center;

}








  .keynoteBox{

    display: block;
    margin: 0px auto 20px auto;
    padding: 0px;
    overflow: hidden;
    text-align: left;
    line-height: 1.1;
    border: 2px solid #775a0e;
    border-radius: 4px;
    width:95%;
    
    }
    
    
    
    .keynoteBox > .time{
    
    margin: 0px 0px 8px 0px;
    padding: 5px 9px 5px 9px;
    background-color: #775a0e;
    font-weight:bold;
    font-size:1.1em;
    color: #ffffff;
    text-align:center;
    
    }





.sessionTitle{

display: inline-block;
margin: 0px;
padding: 7px;
font-weight: bold;
font-size:1.1em;

}

.sessionTitle span {
color:#605e5e;
display: block;

}


@media screen and (max-width: 900px){

.sessionTitle{

  display: block;

}



.networkingBox >.sessionTitle{

  display: block;
  text-align:center;

}

}



.speakerName{

display: inline-block;
margin: 0px;
padding: 7px;
color: #605e5e;
border-left: 2px solid #d3d3d3;
font-size:.85em;
line-height:1.2em;

}

@media screen and (max-width: 900px){

.speakerName{
  display: block;
  border: none;
}

}

.speakerName span {
  color:#605e5e;
  font-weight:bold;
  display: block;
  
  }

.description{

display: inline-block;
margin: 0px;
padding: 7px;
font-size:.9em;

}

@media screen and (max-width: 900px){

.description{
  display: block;
  border: none;

}

}

@media screen and (min-width: 800px){
.withSponsor{
  width:85%;
}

.with2Sponsor{
  width:75%;
}

}



.sponsorBox{
display: inline-block;
margin: 0px;
padding: 7px;
color: #696969;
font-size:.7em;
text-align:center;
vertical-align: top;

}

.sponsorBox img{

max-width:120px!important;
max-height:95px!important;

}

@media screen and (max-width: 900px){
.sponsorBox{
  display: block;
}
}

/* REGISTRATION TABLE */
.regrow {
  display: table;
  table-layout: fixed;
  width: 99%; 
  margin:25px auto 5px auto;
  font-size:1.1em;
font-weight:bold;

}
.regrow div {
  display: table-cell;
  text-align:center;
  padding:5px;
}

.regrow small {font-size:11pt;
font-weight:normal;
}

#head {
margin-top:5px;
}

#head div {
background: #231F20;
font-size:13pt;
font-weight:bold;
color:#FFF;
}

#head div:not(:first-of-type) {
background: #3b4044;
font-size:11pt;
border-left:#fff 2px solid;
}

#head small {font-size:9.5pt;
font-weight:normal;
line-height:9pt!important;}


.regprice {
margin-top:0px;
border-bottom:#e1e1e1 1px solid;
}

.regprice div {
font-size:1.2em;
font-weight:normal;
border-left:1px solid #e1e1e1;
}

.regprice div:first-of-type {
font-size:1.25em;
font-weight:bold;
color:#21409A;
border-left:none;
}