/*  FONT RATIOS
-------------------------------------------------- */
/*
Tag		Font Size	Line Height
.title	37px		59px
h1		29px		47px
h2		23px		38px
h3		18px		31px
h4		14px		25px
h5		11px		21px
*/

/*  BASIC SETUP
-------------------------------------------------- */
*, :after, :before {
    box-sizing: border-box
}

body {
	color: #000;
	font-size: 14px;
	font-family: 'Open Sans', 'Helvetica Neue', Arial, Geneva, sans-serif;
	font-weight: 400;
	line-height: 1.5;
	margin: 0;
	padding: 0;
	background: #fff url('/media/1039/left_bg.png') repeat-y 0 0;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: normal;
    margin: 0;
}

.title {
    font-size: 2.643em;
	line-height: 1.7;
    margin-bottom: 25px;
}

h1 {
    font-size: 2.071em;
    line-height: 1.6;
    margin-bottom: 25px;
}

h2 {
    font-size: 1.643em;
    line-height: 1.65;
    margin-bottom: 15px;
}

h3 {
    font-size: 1.286em;
	font-weight: 700;
    margin-bottom: 9px;
}

h4 {
    font-size: 1em;
    font-weight: 700;
    margin-bottom: 6px;
}

p {
	margin: 0;
	margin-bottom: 25px;
	padding: 0;
}

a:link,
a:visited {
	color:#06c;
	text-decoration: underline;
}

a:hover {
	color:#39f;
}

a:active {
	color:#9cf;
}

ul, ol {
	margin: 0;
    margin-left: 25px;
    margin-bottom: 25px;
	padding: 0;
}

li {
	margin-bottom: 0.65em;
}

/* LAYOUT
-------------------------------------------------- */
.topcontainer {
  position: absolute;
  left: 295px;
  width: 100%;
  max-width: 670px;
  height: 130px;
  border-bottom: 1px solid #cfd3d5;
}

.leftcontainer {
  position: absolute;
  top: 175px;
  width: 195px;
  text-align: right;
}

.rightcontainer {
  position: absolute;
  top: 175px;
  left: 295px;
	width: 100%;
  max-width: 670px;
  background-color: transparent;
}

.footer {
  border-top: 1px solid #cfd3d5;
  margin: 40px 0 40px 0;
  color: #9a9a9a;
  font-size: 10px;
  font-weight: 400;
  font-style: normal;
  text-align: right;
  clear: both;
}

.logo {
  /*background: transparent url('/media/1033/logo_bw.gif') no-repeat 0 0;*/
  width: 83px;
  height: 84px;
  left: 112px;
  top: 46px;
  position: absolute;
}

/* MENU
-------------------------------------------------- */
a.menu:link {
	color:#fff;
	/*font-size: 16px;*/
	font-weight: 600;
  	font-style: normal;
  	text-decoration: none;
  	text-shadow: 1px 1px 1px #aaa;
  	line-height: 130%;
}

a.menu:visited {
  	color:#fff;
}

a.menu:hover {
  	color:#000;
}

a.menu:active {
 	 color:#336699;
}

a.active:link {
  	color:#000;
}

a.active:visited {
	color:#000;
}

a.active:hover {
	color:#000;
}

a.active:active {
	color:#336699;
}

/* alternative menu */
#alternative-menu-button {
  margin: 0;
  display: none;
  position: relative;
  float: left;
  z-index: 20;
}

/* mobile menu icon starts */
#alternative-menu-button .container {
    display: inline-block;
    cursor: pointer;
}

.bar1, .bar2, .bar3 {
    width: 2.5em;
    height: 5px;
    background-color: #333;
    margin: 6px 0 6px 0;
    transition: 0.4s;
}

/* Rotate first bar */
.change .bar1 {
    -webkit-transform: rotate(-45deg) translate(-9px, 6px) ;
    transform: rotate(-45deg) translate(-9px, 6px) ;
}

/* Fade out the second bar */
.change .bar2 {
    opacity: 0;
}

/* Rotate last bar */
.change .bar3 {
    -webkit-transform: rotate(45deg) translate(-8px, -8px) ;
    transform: rotate(45deg) translate(-8px, -8px) ;
}
/* mobile menu icon ends */

#alternative-menu {
  display: none;
  width: 100%;
  font-size: 1.2em;
  background-color: #ced6d1;
  position: absolute;
  top: 0;
  z-index: 10;
  
  -webkit-box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
  -moz-box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
}

#alternative-menu ul {
  margin: 0;
  padding: 3.5em 1.5em 1.5em 1.5em;
  list-style-type: none;
}

#alternative-menu li {
  display: block;
  margin: 0;
  padding: 7px 0 7px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.3);
}

#alternative-menu li:first-child {
  border-top: 0;
}

#alternative-menu a.current {
  color: #000 !important;
  text-decoration: none !important;
}

#alternative-menu a:link,
#alternative-menu a:visited,
#alternative-menu a:hover,
#alternative-menu a:active {
  color: #fff;
  font-size: 17px;
  font-weight: 600;
  font-style: normal;
  text-decoration: none;
  text-shadow: 1px 1px 1px #aaa;
  line-height: 130%;
}

/* CLASSES
-------------------------------------------------- */
.toptext {
  color:#777;
  font-size: 14px;
  font-family: 'Open Sans', 'Helvetica Neue', Arial, Geneva, sans-serif;
  font-weight: 400;
  font-style: italic;
  position: absolute;
  padding-bottom: 2px;
  bottom: 0;
}

.nameheader {
  font-weight: 700;
}

.titletext {
  font-style: italic;
}

.cellshade {
  background-color: #f7f7f7;
}

.superscript {
  font-size: xx-small;
  vertical-align: super;
}

.h1-superscript {
  font-size: medium;
  vertical-align: super;
}

.breaker {
  clear: both;
}

.spacer {
  font-size: 1px;
  margin: 0 0 16px 0;
  padding: 0;
}

.em {
  font-style: italic;
}

.bold {
  font-weight: 700; 
}

.text-center {
	text-align: center;
}

.divider {
    border-bottom: 1px solid #cfd3d5;
}

.divider-last {
    border-bottom: 0;
}

.start-image {
  width: 100%;
  max-width: 670px;
}

.flag {
  width: auto;
  height: auto;
}

.contact-left,
.contact-right {
  width: 48%;
  float: left;
}

.lead {
	font-size: 1.15em;
}

.no-margin {
	margin: 0;
}

.half-margin {
    margin-bottom: 12px;
}

/* about snsus */
.snsus-row {
	width: 100%;
	margin-top: 1em;
	margin-bottom: 1em;
	display: inline-block;
	clear: both;
}

.snsus-about-content {
	background-color: #fff;
}

.snsus-about-img {
	width: 30%;
	padding-right: 2em;
	float: left;
}

.snsus-about-img img {
	width: 100%;
}

.snsus-about-text {
	width: 70%;
	float: right;
}

/* awards */
.award-content h3 {
	font-size: 1.1em;
	margin-bottom: 0;
}

.award-content p {
	margin-bottom: 12px;
}

/* SPONSORS
-------------------------------------------------- */
.sponsors-divider {
  height: 2em;
  border-top: 1px solid #cfd3d5;
}

.sponsors-logo-first,
.sponsors-logo-left,
.sponsors-logo-right {
  /*width: 335px;
  height: 120px;*/
  width: 50%;
  height: auto;
  margin: 0 0 1em 0;
  padding: 0;
}

.sponsors-logo-first img,
.sponsors-logo-left img,
.sponsors-logo-right img {
  width: 100%;
  height: auto;
}

.sponsors-logo-first {
  width: 670px;
  text-align: center;
}

.sponsors-logo-left {
  text-align: left;
  float: left;
}

.sponsors-logo-right {
  text-align: right;
  float: right;
}

/* PROGRAM & REGISTRATION
-------------------------------------------------- */
.program-header {
  color: #008bcb;
  /*font-size: 1.714em;
  margin: 0 0 0.1em 0;*/
}

.program-date {
  color: #008bcb;
  /*border-bottom: 1px solid #008bcb;*/
  padding: 0.5em;
  text-transform: uppercase;
  background-color: #deeff5;
}

.program-table {
  width: 100%;
  border-style: collapse;
}

.program-table tr td {
    border-bottom: 2px solid #deeff5;
}

.program-table tr:last-child td {
    border-bottom: 0;
}

.program-table td:first-child{
    width: 20%;
}

.program-table td {
	text-align: left;
	vertical-align: top;
	margin: 0;
	padding: 0.5em;
	padding-top: 1em;
}

.program-table h3 {
    margin-bottom: 4px;
}

.odd-row {
	background-color: #efefef;
}

.program-description {
	padding: 0.5em 0 1em 0;
}

.program-room {
	font-style: italic;
	padding: 0;
	margin: 6px 0 6px 0;
}

.session-header {
	color: #008bcb;
	/*font-weight: 700;*/
}

.registration-table {
	width: 100%;
	border-style: collapse;
	font-size: 12px;
	margin-bottom: 2.5em;
}

.registration-table td {
	width: 25%;
	text-align: left;
	vertical-align: top;
	margin: 0;
	padding: 0.5em;
}

/* IMAGE SLIDESHOW
-------------------------------------------------- */
.slideshow {
  width: 670px;
  height: 360px;
  margin: auto;
}

.slideshow img {
  /*padding: 12px;
  border: 1px solid #ccc;
  background-color: #eee;*/
}

/* NEWS
-------------------------------------------------- */
.news {
  margin-top: 2em;
  display: block;
}
.news h2 {
  font-weight: 700;
  margin: 0.4em 0 0 0;
  padding: 0;
}

.news-date {
  color: #999;
  font-size: 12px;
  font-weight: 400;
  margin: 0 0 0.714em 0;
  padding: 0;
}

.news-divider {
  height: 1px;
  line-height: 1px;
  border-bottom: 1px solid #eee;
  margin: 0.5em 0 0.714em 0 ;
  padding: 0;
}

/* BUTTONS
-------------------------------------------------- */
.snsus-button, .snsus-button:visited {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05, #3399ff), color-stop(1, #0066cc));
  background: -moz-linear-gradient(top, #3399ff 5%, #0066cc 100%);
  background: -webkit-linear-gradient(top, #3399ff 5%, #0066cc 100%);
  background: -o-linear-gradient(top, #3399ff 5%, #0066cc 100%);
  background: -ms-linear-gradient(top, #3399ff 5%, #0066cc 100%);
  background: linear-gradient(to bottom, #3399ff 5%, #0066cc 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#3399ff', endColorstr='#0066cc',GradientType=0);
  background-color: #3399ff;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
  border-radius: 6px;
  border: 1px solid #3866a3;
  display: inline-block;
  cursor: pointer;
  color: #ffffff !important;
  font-family: arial;
  font-size: 16px;
  font-weight: bold;
  padding: 6px 24px;
  text-decoration: none !important;
}

.snsus-button:hover {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05, #91c8ff), color-stop(1, #3399ff));
  background: -moz-linear-gradient(top, #91c8ff 5%, #3399ff 100%);
  background: -webkit-linear-gradient(top, #91c8ff 5%, #3399ff 100%);
  background: -o-linear-gradient(top, #91c8ff 5%, #3399ff 100%);
  background: -ms-linear-gradient(top, #91c8ff 5%, #3399ff 100%);
  background: linear-gradient(to bottom, #91c8ff 5%, #3399ff 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#91c8ff', endColorstr='#3399ff',GradientType=0);
  background-color:#91c8ff;
  border: 1px solid #3399ff;
}

.snsus-button:active {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05, #0066cc), color-stop(1, #3399ff));
  background: -moz-linear-gradient(top, #0066cc 5%, #3399ff 100%);
  background: -webkit-linear-gradient(top, #0066cc 5%, #3399ff 100%);
  background: -o-linear-gradient(top, #0066cc 5%, #3399ff 100%);
  background: -ms-linear-gradient(top, #0066cc 5%, #3399ff 100%);
  background: linear-gradient(to bottom, #0066cc 5%, #3399ff 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0066cc', endColorstr='#3399ff',GradientType=0);
  background-color: #0066cc;  
  position: relative;
  top: 2px;
}

/* PDF LINKS
-------------------------------------------------- */
.pdf-archive {
    font-size: 11px;
}

.pdf-archive a {
  background: transparent url("/media/1041/pdf_icon.png") center left no-repeat;
  padding-left: 22px;
}

.pdf-download-button {
  font-size: 16px;
  text-align: right;
}

.pdf-download-button a {
  text-decoration: none;
  background: transparent url("/media/1041/pdf_icon.png") center left no-repeat;
  padding-left: 22px;
}

.pdf-list {
  list-style-position: outside;
  list-style-image: url('/media/1040/pdf_icon_3.gif');
  margin: 0;
  padding: 0;
}

.pdf-list li {
  margin-left: 22px;
  margin-bottom: 0.5em;
}

/* BACK TO TOP
-------------------------------------------------- */
.go-top {
  color: #bdf;
  background-color: rgba(0, 0, 0, 0.3);
  padding: 1em;
  position: fixed;
  bottom: 2em;
  right: 2em;
  display: none;  
  -webkit-border-radius: 12px;
  -mozborder-radius: 12px;
  border-radius: 12px;
}

.go-top:hover {
  background-color: rgba(0, 0, 0, 0.6);
}

a.go-top:link,
a.go-top:visited,
a.go-top:hover,
a.go-top:active {
  color: #fff;
  text-decoration: none;
}

/* SOCIAL MEDIA
-------------------------------------------------- */
.socialbuttons {
    margin: 1em 0 0 40px;
    border-top: 1px solid #bac1bd;
}

.socialbuttons a.menu:link {
	font-size: 2.5em
}

.socialbuttonsmobile {
	padding: 0 1.5em 1.5em 1.5em;
}

#alternative-menu .socialbuttonsmobile a:link {
	font-size: 34px;
}

/* MISC
-------------------------------------------------- */
.splash-headline {
	width: 60%;
	color: #008bcb;
	font-size: 38px;
	font-weight: 700;
	text-align: center;
	line-height: 1.2;
	padding-top: 80px;
	float: left;
}

.splash-image {
	width: 40%;
	margin-bottom: 25px;
	float: right;
}

/* MEDIA QUERIES
-------------------------------------------------- */
@media only screen and (max-width: 800px) {
  img {
    width: 100%;
    height: auto;
  }

  #about-snsus-table td {
    width: 100%;
    max-width: 100%;
  }

  #speakers-table td.speaker-img-cell {
    width: 25%;
  }

  #speakers-table td.speaker-text-cell {
    width: 75%;
  }

  body {
    background: #fff url('/media/1039/left_bg.png') repeat-y -100px 0;
  }

  h1 {
    font-size: 1.3em;
  }

  .topcontainer {
    width: auto;
    max-width: 100%;
    height: 50px;
    margin: 0 50px 0 195px;
    border-bottom: 1px solid #cfd3d5;
    position: relative;
    left: auto;
  }

  .leftcontainer {
    width: 125px;
    text-align: right;
    position: absolute;
    top: 175px;
  }

  .rightcontainer {
    width: auto;
    max-width: 100%;
    margin: 25px 50px 0 195px;
    background-color: transparent;
    position: relative;
    top: auto;
    left: auto;
  }

  .logo {
    left: 35px;
    top: 46px;
  }

  a.menu:link, a.menu:active, a.active:link, a.active:active {
    font-size: 12px;
  }

  .contact-left,
  .contact-right {
    width: 100%;
    float: none;
  }
	
	.splash-headline {
		font-size: 36px;
		padding-top: 110px;
	}
}

@media only screen and (max-width: 568px) {
	body {
		font-size: 12px;
		background: #fff;
	}
  
	h1 {
		font-size: 1.6em;
    	line-height: 1.5;
    	margin-bottom: 14px;
	}
	
	h2 {
		font-size: 1.4em;
		line-height: 1.5;
		margin-bottom: 14px;
	}

	h3 {
		font-size: 1.25em;
		margin-bottom: 9px;
	}
	
	p {
  		margin-bottom: 18px;
	}

	.topcontainer {
		height: 50px;
		margin: 0;
		padding: 1.5em 1.5em 0 1.5em;
		border: 0;
		position: relative;
		left: auto;
	}

	.toptext {
		margin-left: 4em;
		position: relative;
		z-index: 20;
	}
  
	.leftcontainer {
		display: none;
	}

	.rightcontainer {
		margin: 1.5em auto 0 auto;
		padding: 1.5em;
	}

	.logo {
		width: 3.5em;
		height: 3.5em;
		left: 1.5em;
		top: 1.5em;
		background-size: contain;
		display: none;
	}

	#alternative-menu-button {
		display: block;
	}

	.program-header {
		font-size: 1.1em;
	}

	.program-table {
		font-size: 12px;
	}

	#speakers-table td.speaker-img-cell {
		width: 25%;
		display: none;
	}

	#speakers-table td.speaker-text-cell {
		width: 100%;
	}
	
	.splash-headline {
   	 	width: 100%;
		font-size: 24px;
    	padding: 10px 0 25px 0;
		float: none;
	}

	.splash-image {
    	width: 100%;
    	text-align: center;
		float: none;
	}

	.splash-image img {
    	width: 180px;
    	height: auto;
	}
	
	.h1-superscript {
    	font-size: xx-small;
	}
	
	.snsus-about-content {
		background-color: #fff;
	}
		
	.snsus-about-img {
		width: 100%;
		text-align: center;
		padding-right: 0;
		float: none;
	}
	
	.snsus-about-img img {
		width: 100%;
	}
	
	.snsus-about-text {     
		width: 100%;
		float: none;
	}
	
	.nameheader {
		font-size: 1.4em;
		line-height: 1.5;
		font-weight: 400;
	}
}
