* {
  box-sizing: border-box;
}
:focus {
  outline:none;
}
::-moz-focus-inner {
  border:0;
}

html,
body {
  margin: 0;
  padding: 0;
  height: 100%;
}
body {
  font-size: 100%;
  font-family: 'Oxygen', sans-serif;
  color: #211f20;
  background: #ffffff;
  line-height: 1.5;
  overflow-y: scroll;
}
p {
  white-space: normal;
  min-height: 30px;
}
p:first-of-type {
  margin-top: 0;
}
p:last-of-type {
  margin-bottom: 0;
}
a {
  color: #211f20;
}
h1{
  color: #282e6e;
  font-weight: bold;
  font-size: 22px;
  line-height: 1.2;
  display: block;
  text-align: left;
}
hr {
  background: #3a8a41;
  border: 0;
  height: 1px;
  margin: 10px 0;
}
.blue-button {
  height: 30px;
  line-height: 30px;
  background: #292c72;
  padding: 0 20px;
  display: inline-block;
  font-family: 'Oxygen', sans-serif;
  font-size: 14px;
  font-weight: bold;
  text-decoration: none;
  color: #ffffff;
  border: 0;
}
.large-green-button {
  height: 30px;
  line-height: 30px;
  background-color: #3a8a41;
  padding: 0 20px;
  display: block;
  font-family: 'Oxygen', sans-serif;
  font-size: 14px;
  font-weight: bold;
  text-decoration: none;
  color: #ffffff;
  border: 0;
  background-image: url('/assets/theme/images/arrow_right.jpg');
  background-repeat: no-repeat;
  background-position: calc(50% - 95px) 0;
}
.large-blue-button {
  height: 30px;
  line-height: 30px;
  background-color: #4b7cad;
  padding: 0 20px;
  display: block;
  font-family: 'Oxygen', sans-serif;
  font-size: 14px;
  font-weight: bold;
  text-decoration: none;
  color: #ffffff;
  border: 0;
  background-image: url('/assets/theme/images/arrow_right_blue.jpg');
  background-repeat: no-repeat;
  background-position: calc(50% - 82px) 0;
}
div.page-background {
  /*width: 1120px;*/
  margin: 0 auto 0 auto;
  background-image: url('/assets/theme/images/background.jpg');
  background-position: right 0;
  background-repeat: no-repeat;
  min-height: 100%;
}
@media only screen and (max-width: 1120px) {
  div.page-background {
    width: 100%
  }
}


/*****************************************
 * Header
 *****************************************/
header {
  width: 100%;
  margin: 0 auto 0 auto;
  background: #f1f1fa;
  padding: 0;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 1000;
  /*visibility: hidden;*/
}
header > .wrapper {
  width: 980px;
  /*height: 80px;*/
  /*margin: 20px auto 20px auto;*/
  margin: 0 auto;
  display: table;
}
header > .wrapper > .logo-wrapper {
  display: table-cell;
  height: inherit;
}
header > .wrapper > .logo-wrapper > #menu-logo {
  vertical-align: top;
  height: 120px;
}
.header-background {
  background-image: url('/assets/theme/images/header_back_large.jpg');
  background-position: center;
  text-align: center;
  margin-top: 120px;
}
.header-background > img {
  vertical-align: top;
}
@media only screen and (max-width: 980px) {
  header > .wrapper {
    width: 100%;
  }
  .header-background {
    /*margin-top: 152px;*/
  }
  .header-background > img {
    width: 100%;
  }
}
@media only screen and (max-width: 590px) {
  header {
    padding: 0;  
    text-align: center;
  }
  header > .wrapper > .logo-wrapper > #menu-logo {
    width: 100%;
  }
}


/*****************************************
 * Footer
 *****************************************/
footer {
  background: #ffffff;
  overflow: hidden;
  width: 980px;
  margin: 0 auto 0 auto;
  padding: 20px 0 20px 0;
}
footer > .wrapper {
  margin: 0 20px;
}
footer > .wrapper > .text {
  display: table-cell;
  font-size: 12px;
  color: #b6b6b6;
}
footer > .wrapper > .social {
  display: table-cell;
  vertical-align: middle;
  font-size: 0;
  white-space: nowrap;
  text-align: center;
}
footer > .wrapper > .social > a {
  background: #292c72;
  color: #ffffff;
  display: inline-block;
  width: 32px;
  height: 32px;
  line-height: 32px;
  font-size: 22px;
  margin: 0 8px 0 8px;
}
@media only screen and (max-width: 980px) {
  footer {
    width: 100%;
  }
}
@media only screen and (max-width: 590px) {
  footer > .wrapper > .social {
    display: block;
    margin-top: 16px;
  }
}


/*****************************************
 * Canvas
 *****************************************/
.canvas {
  margin-top: 20px;
  background: #ffffff;
  width: 980px;
  margin: 0 auto 0 auto;
  font-size: 16px;
  overflow: hidden;
}
.canvas > .wrapper {
  margin: 0 20px;
}
.canvas > .wrapper-center {
  margin: 0 20px;
  text-align: center;
}
.canvas ul {
  margin: 0;
  padding: 0 0 0 25px;
}
@media only screen and (max-width: 980px) {
  .canvas {
    width: 100%;
  }
}

/*****************************************
 * Slideshow
 *****************************************/
#headerSlide {
  position:relative;
  margin:0 auto;
  top:0px;
  left:0px;
  width:980px;
  height:300px;
  overflow:hidden;
  visibility:hidden;
}
#headerSlide .slides {
  cursor:default;
  position:relative;
  top:0px;
  left:0px;
  width:980px;
  height:300px;
  overflow:hidden;
}
#headerSlide .loading {
  position:absolute;
  top:0px;
  left:0px;
  width:100%;
  height:100%;
  text-align:center;
  background-color:rgba(0,0,0,0.7);
}
#headerSlide .loading img {
  margin-top:-19px;
  position:relative;
  top:50%;
  width:38px;
  height:38px;
  animation-name: headerSlide-loading;
  animation-duration: 1.6s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}
@keyframes headerSlide-loading {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/*****************************************
 * Main Menu
 *****************************************/
#main-menu-wrapper {
  font-family: 'Open Sans', sans-serif;
  white-space: nowrap;
  text-align: right;
  font-size: 0;
  display: table-cell;
  vertical-align: middle;
}
#main-menu {
  list-style: none;
  padding: 0;
  margin: 0;
  display: inline-block;
}
#main-menu > li {
  display: inline-block;
  margin: 0 10px 0 10px;
}
#main-menu > li > a {
  line-height: 22px;
  display: inline-block;
  font-size: 18px;
  padding: 0;
  margin: 0;
  background: #f1f1fa;
  color: #211f20;
  text-decoration: none;
  height: 22px;
}
#main-menu > li.selected > a {
  color: #008e33;
}
#main-menu > li:hover > a {
  color: #008e33;
}


/*****************************************
 * Slicknav Menu
 *****************************************/
.slicknav_menu {
  display: none;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1000;
  background-color: #f1f1fa;
  background-image: url('/assets/theme/images/logo_mob.jpg');
  background-repeat: no-repeat;
  background-position: center top;
}
.slicknav_nav a {
  color: #211f20;
}
body.nav-menu header {
  display: none;
}
body.nav-menu .header-background {
  margin-top: 54px;
}
body.nav-menu .slicknav_menu {
  display: block;

}

/*
 * Sponsors
 */
#sponsor-dialog {
  display: none;
  background: #ffffff;
  width: 700px;
  padding: 30px;
  margin: 10px;
  font-size: 0;
}
/* Close button */
#sponsor-dialog .sponsor-dialog_close {
  display: inline-block;
  height: 30px;
  width: 30px;
  color: #3a8a41;
  font-size: 22px;
  text-align: center;
  line-height: 30px;
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
}
#sponsor-dialog .top-wrapper {
  display: table;
  width: 100%;
}
/* Logo */
#sponsor-dialog .top-wrapper .logo-wrapper {
  display: table-cell;
}
/* Sponsor header info */
#sponsor-dialog .top-wrapper .heading-wrapper {
  display: table-cell; 
  width: 100%;
}
#sponsor-dialog .top-wrapper .heading-wrapper .heading {
  display: inline-block;
}
#sponsor-dialog .top-wrapper .heading-wrapper .heading .wrapper {
  height: 142px;
  display: table-cell;
  vertical-align: bottom;
  padding: 0 0 0 10px;
}
#sponsor-dialog .top-wrapper .heading-wrapper .heading .wrapper p {
  margin: 0;
  font-size: 16px;
  font-weight: bold;
  line-height: 20px;
  height: 20px;
  min-height: auto;
  white-space: nowrap;
}
#sponsor-dialog .top-wrapper .heading-wrapper .heading .wrapper .social {
  font-size: 0;
  min-height: 48px;
}
#sponsor-dialog .top-wrapper .heading-wrapper .heading .wrapper .social a {
  font-size: 22px;
  color: #ffffff;
  text-decoration: none;
  height: 32px;
  width: 32px;
  background: #292c72;
  display: inline-block;
  text-align: center;
  margin: 8px 8px 8px 0;
}

/* Details */
#sponsor-dialog .details {
  background: #dbdcf0;
  font-size: 16px;
  padding: 20px;
}

@media only screen and (max-width: 760px) {
  #sponsor-dialog {
    width: auto;
  }
}
@media only screen and (max-width: 560px) {
  #sponsor-dialog .top-wrapper .picture-wrapper .logo {
    width: 110px;
  }
  #sponsor-dialog .top-wrapper .heading-wrapper .heading .wrapper {
    height: 110px
  }
}


/*
 * Speakers
 */
#speaker-dialog {
  display: none;
  background: #ffffff;
  width: 700px;
  padding: 30px;
  margin: 10px;
  font-size: 0;
}
/* Close button */
#speaker-dialog .speaker-dialog_close {
  display: inline-block;
  height: 30px;
  width: 30px;
  color: #3a8a41;
  font-size: 22px;
  text-align: center;
  line-height: 30px;
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
}
#speaker-dialog .top-wrapper {
  display: table;
  width: 100%;
}
/* Picture */
#speaker-dialog .top-wrapper .picture-wrapper {
  display: table-cell;
}
/* Speaker header info */
#speaker-dialog .top-wrapper .heading-wrapper {
  display: table-cell; 
  width: 100%;
}
#speaker-dialog .top-wrapper .heading-wrapper .heading {
  display: inline-block;
}
#speaker-dialog .top-wrapper .heading-wrapper .heading .wrapper {
  height: 142px;
  display: table-cell;
  vertical-align: bottom;
  padding: 0 0 0 10px;
}
#speaker-dialog .top-wrapper .heading-wrapper .heading .wrapper p {
  margin: 0;
  font-size: 16px;
  font-weight: bold;
  line-height: 20px;
  height: 20px;
  min-height: auto;
  white-space: nowrap;
}
#speaker-dialog .top-wrapper .heading-wrapper .heading .wrapper p.line1 {
  font-weight: normal;
  font-style: italic;
  font-size: 12px;
}
#speaker-dialog .top-wrapper .heading-wrapper .heading .wrapper p.line2,
#speaker-dialog .top-wrapper .heading-wrapper .heading .wrapper p.line2 > p {
  font-weight: normal;
  font-style: italic;
  font-size: 12px;
}
#speaker-dialog .top-wrapper .heading-wrapper .heading .wrapper p.line2 > p {
  display: inline-block;
}
#speaker-dialog .top-wrapper .heading-wrapper .heading .wrapper p.line2 > p:hover {
  text-decoration: underline;
  cursor: pointer;
}
#speaker-dialog .top-wrapper .heading-wrapper .heading .wrapper .social {
  font-size: 0;
  min-height: 48px;
}
#speaker-dialog .top-wrapper .heading-wrapper .heading .wrapper .social a {
  font-size: 22px;
  color: #ffffff;
  text-decoration: none;
  height: 32px;
  width: 32px;
  background: #292c72;
  display: inline-block;
  text-align: center;
  margin: 8px 8px 8px 0;
}
/* Logo */
#speaker-dialog .top-wrapper .logo-wrapper {
  display: table-cell;
  vertical-align: top;
}
#speaker-dialog .top-wrapper .logo-wrapper .logo {
  float: right;
}
/* Details */
#speaker-dialog .details {
  background: #dbdcf0;
  font-size: 16px;
  padding: 20px;
}
/* Agenda */
#speaker-dialog .details .agenda-title {
  font-size: 14px;
  font-weight: bold;
  min-height: auto;
}
#speaker-dialog .details .agenda p {
  font-size: 13px;
  min-height: auto;
  margin: 0 0 0 20px;
}
#speaker-dialog .details .agenda .time {
  font-size: 13px;
  min-height: auto;
  margin: 10px 0 0 20px;
  font-weight: bold;
  cursor: pointer;
  text-decoration: underline;
}

@media only screen and (max-width: 760px) {
  #speaker-dialog {
    width: auto;
  }
}
@media only screen and (max-width: 560px) {
  #speaker-dialog .top-wrapper .picture-wrapper .picture {
    width: 110px;
  }
  #speaker-dialog .top-wrapper .heading-wrapper .heading .wrapper {
    height: 110px
  }
  #speaker-dialog .top-wrapper .logo-wrapper .logo {
    width: 50px;
  }
}

body.agenda #agenda-list {
  visibility: hidden;
}

body.agenda .filter-group {
  text-align: right;
  visibility: hidden;
  margin-top: 20px;
}
body.agenda .filter-group label {
  font-size: 14px;
  line-height: 30px;
  display: inline-block;
}
body.agenda .filter-group .filter {
  /*padding-top: 10px;*/
}
body.agenda .filter-group select {
  font-size: 13px;
}

/* Date header */
body.agenda #agenda-list > .header {
  font-weight: bold;
  margin: 20px 0 0 0;
}

/* Agenda title bar */
body.agenda .agenda-section .title-bar.ui-accordion-header {
  background-image: url('/assets/theme/images/arrow_down.jpg');
  background-repeat: no-repeat;
  background-position: center right;
  background-color: #dbdcf2;
  border-radius: 0;
  border: 0;
  font-family: 'Oxygen', sans-serif;
}
body.agenda .agenda-section .title-bar {
  color: #211f20;
  text-align: right;
  padding-right: 61px;
}
body.agenda .agenda-section .title-bar .wrapper {
  display: inline-block;
  float: left;
  text-align: left;
}
body.agenda .agenda-section .title-bar .time {
  font-family: 'futuramedium', sans-serif;
  font-weight: bold;
  font-size: 12px;
  line-height: 35px;
  height: 35px;
  display: inline-block;
  width: 110px;
  vertical-align: middle;
  /*background: #a0a0a0;*/
}
body.agenda .agenda-section .title-bar .name {
  font-size: 13px;
  display: inline-block;
  text-align: left;
  vertical-align: middle;
  /*background: #c0c0c0;*/
  margin: 5px 0 5px 0;
}
body.agenda .agenda-section .title-bar .speakers {
  font-size: 12px;
  display: inline-block;
  text-align: right;
  vertical-align: top;
  /*background: #a0a0a0;*/
}
body.agenda .agenda-section .title-bar .speakers img {
  vertical-align: top;
  margin-left: 10px;
}
body.agenda .agenda-section .title-bar .speakers img.arrow {
  margin-left: 18px;
}


/* Agenda details */
body.agenda .agenda-section .agenda-details.ui-accordion-content {
  border: 0;
  border-radius: 0;
  background: #f1f1f9;
  display: none;
  font-family: 'Oxygen', sans-serif;
}
body.agenda .agenda-section .agenda-details .agenda-info {
  margin: 10px 0 10px 0;
  font-size: 13px;
  font-weight: bold;
}
body.agenda .agenda-section .agenda-details .speakers div {
  display: inline-block;
  margin: 10px 30px 0 0;
  cursor: pointer;
  /*background: #c0c0c0;*/
}
body.agenda .agenda-section .agenda-details .speakers div img {
  vertical-align: top;
}
body.agenda .agenda-section .agenda-details .speakers div p {
  display: inline-block;
  margin: 14px 0 0 5px;
  font-size: 12px;
  font-weight: bold;
}
body.agenda .agenda-section .agenda-details .speakers div .line1,
body.agenda .agenda-section .agenda-details .speakers div .line2 {
  font-size: 10px;
  font-weight: normal;
  font-style: italic;
}

/*****************************************
 * Homepage
 *****************************************/
body.homepage .canvas > .wrapper > .right {
  float: right;
}
body.homepage .canvas > .wrapper > .right > .wrapper {
  background: #dbdcf2;
  width: 340px;
  padding: 30px;
  margin: 0 0 0 20px;
}
body.homepage .canvas > .wrapper > .text {
  background: #a0a0a0;
  background: #ffffff;
}
body.homepage .canvas > .wrapper > .text > .images {
  float: left;
  width: 169px;
  margin: 0 20px 0 0;
}
body.homepage .canvas > .wrapper > .text > .images > img {
  vertical-align: top;
  margin: 0 0 10px 0;
}
body.homepage .canvas > .wrapper > .text > .images > img:last-of-type {
  margin: 0;
}

body.homepage .news {
  background: #4b7cad;
  text-align: center;
  margin: 20px 0 20px 0;
}

body.homepage .news .articles {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0;
  display: inline-block;
  text-align: center;
  vertical-align: top;
}
body.homepage .news .articles li {
  display: inline-block;
  margin: 23px;
  vertical-align: top;
  position: relative;
  width: 142px;
}

body.homepage .news .article-image {
  
}
body.homepage .news .article-title {
  font-size: 12px;
  font-weight: bold;
  color: #ffffff;
  margin: 10px 0 0 0;
  text-align: left;
  min-height: auto;
}
body.homepage .news .article-description {
  font-size: 12px;
  color: #ffffff;
  margin: 10px 0 10px 0;
  text-align: left;
  min-height: auto;
}
body.homepage .news .articles li a {
  font-size: 12px;
  background-image: url('/assets/theme/images/arrow_right_blue.jpg');
  background-repeat: no-repeat;
  background-position: 0 0;
  height: 30px;
  line-height: 30px;
  display: inline-block;
  width: 142px;
  padding: 0 0 0 20px;
  text-decoration: none;
  font-weight: bold;
  color: #ffffff;
}

@media only screen and (max-width: 860px) {
  body.homepage .canvas > .wrapper > .text {
    display: table-header-group;
  }
  body.homepage .canvas > .wrapper > .right {
    float: none;
    display: table-footer-group;
  }
  body.homepage .canvas > .wrapper > .right > .wrapper {
    width: auto;
    margin: 20px 0 20px 0;
  }
}

@media only screen and (max-width: 540px) {
  body.homepage .canvas > .wrapper > .text > .images {
    display: none;
  }
}

/* 
 * Speakers List
 */
#speakers-list {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0;
  display: inline-block;
  text-align: center;
  vertical-align: top;
}
#speakers-list > li {
  display: inline-block;
  margin: 23px;
  vertical-align: top;
  position: relative;
  cursor: pointer;
}
/* Info box */
#speakers-list > li .speaker-info {
  font-size: 11px;
  background: #dbdcf0;
  width: 142px;
  height: 66px;
  position: absolute;
  bottom: 0;
}
#speakers-list > li .speaker-info .wrapper {
  display: table-cell;
  vertical-align: middle;
  height: 66px;
  width: 142px;
}
#speakers-list > li .speaker-info p {
  font-style: italic;
  margin: 0 2px;
}
#speakers-list > li .speaker-info p .name {
  font-weight: bold;
  font-style: normal;
}
/* Read more box */
#speakers-list > li .read-more {
  background: #3a8a41;
  width: 142px;
  height: 66px;
}
#speakers-list > li .read-more p {
  font-size: 12px;
  font-weight: bold;
  color: #ffffff;
  margin: 0;
  padding: 36px 0 0 38px;
  line-height: 30px;
  background-image: url('/assets/theme/images/arrow_right.jpg');
  background-repeat: no-repeat;
  background-position: 8px 36px;
}

.sponsor-grid-wrapper {
  text-align: center;
}
.sponsors-header {
  background: #f1f1fa;
  font-size: 14px;
  padding: 0 0 0 10px;
  line-height: 30px;
  height: 30px;
  text-align: left;
  margin: 30px 0 0 0;
}
.sponsors-list {
  list-style: none;
  padding: 0 !important;
  margin: 0;
  font-size: 0;
  display: inline-block;
  text-align: center;
  vertical-align: top;
}
.sponsors-list > li {
  display: inline-block;
  margin: 23px;
  vertical-align: top;
  position: relative;
  cursor: pointer;
}

body.article .article_image {
  float: left;
  max-width: 300px;
  max-height: 300px;
  margin: 0 10px 10px 0;
}

@media only screen and (max-width: 640px) {
  body.article .article_image {
    max-width: 200px;
    max-height: 200px;
  }
}


@media only screen and (max-width: 460px) {
  body.article .article_image {
    float: none;
    max-width: 200px;
    max-height: 200px;
    display: block;
    margin: 0 auto 10px auto;
  }
}

body.news .articles {
  margin: 20px 0 0 0;
}
body.news .articles .article .article_image {
  display: table-cell;
  vertical-align: top;
}
body.news .articles .article .article_image img {
  vertical-align: top;
}
body.news .articles .article .article_body {
  display: table-cell;
  vertical-align: top;
  padding: 0 0 0 10px;
  width: 100%;
}
body.news .articles .article .article_body h3 {
  margin: 0;
}
body.news .articles .article .article_body p {
  margin: 0;
  min-height: 62px;
}
body.news .articles .article .article_body a {
  color: #211f20;
  text-decoration: none;
  float: right;
}
body.news .articles .article .article_body a:hover {
  text-decoration: underline;
}
@media only screen and (max-width: 540px) {
  body.news .articles .article .article_image img {
    max-width: 80px;
  }
}

body.contact .form-wrapper {
  display: table;
}
body.contact .form-wrapper .text {
  display: table-cell;
  width: 50%;
  padding: 0 10px 0 0;
}
body.contact .form-wrapper .contact-form {
  display: table-cell;
  width: 50%;
  padding: 0 0 0 10px;
}

body.contact .form-wrapper .contact-form input[type=text],
body.contact .form-wrapper .contact-form input[type=email] {
  font-family: 'Oxygen', sans-serif;
  border: 0;
  border-radius: 0;
  background: #f1f1fa;
  height: 30px;
  line-height: 30px;
  margin: 0 0 10px 0;
  width: 300px;
  font-size: 14px;
  padding: 0 10px;
}

body.contact .form-wrapper .contact-form textarea {
  font-family: 'Oxygen', sans-serif;
  border: 0;
  border-radius: 0;
  background: #f1f1fa;
  resize: none;
  padding: 5px 10px;
  font-size: 14px;
  width: 300px;
  height: 100px;
  margin: 0 0 10px 0;
}
body.contact .form-wrapper .contact-form .send-form {
  cursor: pointer;
}


@media only screen and (max-width: 650px){
  body.contact .form-wrapper .text,
  body.contact .form-wrapper .contact-form {
    width: 100%;
    display: inline-block;
    padding: 0;
  }
  body.contact .form-wrapper .contact-form {
    padding: 20px 0 0 0; 
  }
}
@media only screen and (max-width: 500px){
  body.contact .form-wrapper .contact-form input[type=text],
  body.contact .form-wrapper .contact-form input[type=email],
  body.contact .form-wrapper .contact-form textarea {
    width: 100%;
  }
}

