body {
  margin: 0;
  padding: 0;
  min-width: 300px;
  font-family: 'Arimo', sans-serif;
  font-size: 16px;
  color: #42444a;
  overflow-x: hidden;
  overflow-y: scroll;
  background-color: #fff; }
  body .sso_no, body .sso_yes, body .content_yes, body .content_no {
    display: none; }
  body.sso_no .sso_no {
    display: inherit; }
  body.sso_yes .sso_yes {
    display: inherit; }
  body.content_yes .content_yes {
    display: inherit; }
  body.content_no .content_no {
    display: inherit; }
  body.soon h1 {
    text-align: center;
    font-size: 2em;
    padding: 2em;
    color: #555; }

.session-od a {
  color: #10366f;
  font-size: 0.6em;
  font-family: 'Roboto', sans-serif;
  font-weight: 300; }
  .session-od a .sso_yes {
    width: 7.5em;
    overflow: visible; }
  .session-od a.hover {
    color: #ed8b00; }

a {
  color: #5d90c8;
  text-decoration: none; }
  a.play {
    display: grid;
    grid-template-columns: 5em 2em;
    grid-template-rows: 2.5em;
    grid-gap: .05em;
    margin: 0 0.2em 0.5em 0.2em; }
    a.play .pl-text, a.play .pl-icon {
      align-self: center;
      justify-self: center;
      width: 100%;
      height: 100%;
      color: #fff; }
    a.play .pl-text {
      font-family: 'Roboto', sans-serif;
      font-weight: 300;
      font-size: .9em;
      padding-top: 0.85em;
      background-color: #10366f;
      text-transform: uppercase;
      box-sizing: border-box;
      border-radius: 0.2em 0 0 0.2em;
      letter-spacing: 0.2em; }
    a.play .pl-icon {
      font-size: 1.2em;
      padding-top: 0.5em;
      background-color: #5d90c8;
      color: #fff;
      box-sizing: border-box; }
  a:hover {
    color: #10366f; }
    a:hover.play .pl-text, a:hover.play .pl-icon {
      color: #ed8b00; }

.inner {
  position: relative;
  width: 90%;
  margin: 0 5%; }

#footer {
  width: 24em;
  margin: 2em auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 4fr;
  grid-template-rows: 3em 3em; }
  #footer a {
    justify-self: center;
    align-self: center;
    grid-gap: 1em 1em; }
    #footer a.social {
      font-size: 2em; }
    #footer a.weburl {
      font-size: 1.2em;
      grid-column: 1/5; }

@keyframes fadeInAnimation {
  0% {
    filter: blur(2px) opacity(0.2) brightness(50%); }
  100% {
    filter: blur(2px) opacity(0.7) brightness(100%); } }

h1, h2, h3, h4 {
  letter-spacing: .05em;
  line-height: 1.15; }

h1 {
  font-size: 2em; }

h2 {
  font-size: 1.5em;
  font-weight: 800; }

span.full {
  display: inherit; }

span.narr-in {
  display: none; }

span.narr-bl {
  display: none; }

#prompt {
  margin: 2em auto 15em auto;
  text-align: center; }
  #prompt h1 {
    margin-bottom: 2em;
    font-family: Roboto;
    font-weight: 100;
    font-style: italic;
    background-color: #fff;
    color: #42444a; }
  #prompt a {
    font-weight: 700; }
  #prompt .response {
    margin: 1em; }
    #prompt .response a {
      font-size: 2em; }

.header-inner {
  width: 90%;
  margin: 0 5%; }

#header {
  position: relative;
  z-index: 100;
  padding: 0;
  text-align: center;
  background-color: #fff;
  color: #42444a;
  width: 100%;
  margin: 20px 0 20px 0;
  height: 150px; }
  #header .header-inner {
    z-index: 10;
    height: 150px;
    position: relative; }
    #header .header-inner .nw, #header .header-inner .nc, #header .header-inner .ne {
      height: 150px;
      position: absolute;
      text-align: center;
      bottom: 0; }
    #header .header-inner img {
      height: 150px;
      margin: 0 auto;
      position: relative; }
    #header .header-inner .nw {
      width: 390px;
      left: 0px;
      z-index: 40; }
      #header .header-inner .nw img {
        width: 390px; }
    #header .header-inner .nc {
      left: 0;
      right: 0px;
      z-index: 20; }
      #header .header-inner .nc img {
        position: relative;
        width: 0px;
        margin: 0 auto; }
    #header .header-inner .ne {
      width: 238px;
      height: 60px;
      right: 0px;
      z-index: 30; }
      #header .header-inner .ne img {
        height: 60px;
        width: 238px; }
  #header .inner_bg {
    position: absolute;
    z-index: 5;
    width: 6%;
    height: 150px;
    top: 0;
    right: 0; }

#header-nav {
  position: relative;
  padding: 0;
  color: #dde1e4;
  border-top: 2px solid #5d90c8;
  background-color: #10366f;
  width: 100%;
  margin: 0 0 0 0; }
  #header-nav .header-inner {
    padding: .2em 0 .2em 0;
    display: grid;
    grid-template-columns: auto auto; }
    #header-nav .header-inner .hnav {
      align-self: center; }
      #header-nav .header-inner .hnav#hnav1 {
        justify-self: self-start;
        text-align: left; }
      #header-nav .header-inner .hnav#hnav2 {
        justify-self: self-end;
        text-align: right;
        font-size: .8em; }
        #header-nav .header-inner .hnav#hnav2 span {
          color: #999; }
          #header-nav .header-inner .hnav#hnav2 span a {
            font-size: 1em;
            color: #dde1e4; }
      #header-nav .header-inner .hnav a {
        font-size: .8em;
        color: #dde1e4;
        text-decoration: none;
        padding: 0 .5em; }
        #header-nav .header-inner .hnav a:hover {
          color: #ed8b00; }

@media (max-width: 820.91503px) {
  #header .header-inner .nc {
    display: none; } }

@media (max-width: 738.82353px) {
  #header .header-inner .nc {
    display: none; }
  #header .header-inner .ne {
    display: none; }
  #header .inner_bg {
    display: none; } }

@media (max-width: 500px) {
  #header {
    margin: 10px 0 10px 0;
    height: 115.38462px; }
    #header .header-inner {
      height: 115.38462px; }
      #header .header-inner .nw {
        margin: 0 auto;
        width: 300px;
        height: 115.38462px; }
        #header .header-inner .nw img {
          height: 115.38462px;
          width: 300px; } }

@media (max-width: 600px) {
  .inner, .header-inner {
    width: 96%;
    margin: 0 2%; }
  #header .inner_bg {
    width: 3%; } }

@media (min-width: 1200px) {
  .inner, .header-inner {
    width: 80%;
    margin: 0 10%; }
  #header .inner_bg {
    width: 11%; } }

@media (min-width: 1600px) {
  .inner, .header-inner {
    width: 70%;
    margin: 0 15%; }
  #header .inner_bg {
    width: 16%; } }

#main {
  overflow: auto;
  position: relative; }
  #main:before {
    content: "";
    position: fixed;
    left: -2%;
    right: -2%;
    z-index: -1;
    top: -2%;
    bottom: -2%;
    width: 105%;
    height: 105%;
    display: block;
    background-size: 105% 105%;
    background-size: cover;
    animation: fadeInAnimation ease 3s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; }

@keyframes fadeInAnimation {
  0% {
    filter: blur(2px) opacity(0.2) brightness(50%); }
  100% {
    filter: blur(2px) opacity(0.8) brightness(100%); } }

body.place #fold-message {
  margin-top: 4em; }

#unsupp-brow {
  display: block;
  text-align: center;
  margin: 2em 1em 4em 1em; }
  #unsupp-brow a {
    display: block;
    margin: .5em; }

@supports (display: grid) {
  #unsupp-brow {
    display: none; } }

#upper {
  margin: 1em 0;
  padding: 1em 0;
  display: grid;
  grid-template-columns: 304px 1fr;
  grid-gap: 0 2em;
  grid-template-rows: minmax(10em, auto); }
  #upper .sessions .tz-key {
    font-style: italic;
    font-size: .7em;
    margin: 0 0 .2em 0; }
    #upper .sessions .tz-key .dt-local {
      display: none; }
    #upper .sessions .tz-key.localized .dt-local {
      display: block; }
  #upper .sessions h2 {
    text-align: center;
    justify-self: center;
    align-self: center;
    font-style: italic;
    font-weight: 300; }
  #upper .sessions .session {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    padding: 0;
    font-weight: 300;
    font-size: 1em;
    margin-block-start: 0;
    margin-block-end: 0;
    margin: .8em 0 2em 0;
    color: #484C54;
    background-color: #e4f8f9;
    text-decoration: none;
    text-align: center;
    border-radius: 0;
    border: 2px solid #5d90c8; }
    #upper .sessions .session .sess-header {
      color: #008396;
      background-color: #fff; }
    #upper .sessions .session .sess-title {
      align-self: center;
      justify-self: center;
      width: 100%;
      height: 100%;
      margin: 0;
      font-size: 1em;
      font-weight: 300;
      padding: 0.7em 0.3em;
      color: #fff;
      background-color: #5d90c8;
      box-sizing: border-box;
      text-transform: uppercase;
      letter-spacing: 0.05em; }
    #upper .sessions .session .dt-on {
      display: inherit; }
    #upper .sessions .session .dt-off {
      display: inherit; }
    #upper .sessions .session.tl-pl .sess-footer .dt-on {
      display: none; }
    #upper .sessions .session.tl-pl .sess-footer .dt-off {
      display: inherit; }
    #upper .sessions .session.tl-all .sess-footer .dt-on, #upper .sessions .session.tl-od .sess-footer .dt-on {
      display: none; }
    #upper .sessions .session.tl-all .sess-footer .dt-off, #upper .sessions .session.tl-od .sess-footer .dt-off {
      display: inherit; }
    #upper .sessions .session.tl-all.oda .sess-footer .dt-off, #upper .sessions .session.tl-all.sess-rt-od .sess-footer .dt-off, #upper .sessions .session.tl-od.oda .sess-footer .dt-off, #upper .sessions .session.tl-od.sess-rt-od .sess-footer .dt-off {
      display: none; }
    #upper .sessions .session.tl-all.oda .sess-footer .dt-on, #upper .sessions .session.tl-all.sess-rt-od .sess-footer .dt-on, #upper .sessions .session.tl-od.oda .sess-footer .dt-on, #upper .sessions .session.tl-od.sess-rt-od .sess-footer .dt-on {
      display: inherit; }
    #upper .sessions .session.tl-lv .sess-footer .dt-on {
      display: block; }
    #upper .sessions .session.tl-lv .sess-footer .dt-off {
      display: none; }
    #upper .sessions .session .sess-date-soon {
      align-self: center;
      justify-self: center;
      color: #008396; }
      #upper .sessions .session .sess-date-soon .sess-date-soon-label {
        font-size: .6em;
        color: #484C54;
        font-style: italic; }
      #upper .sessions .session .sess-date-soon .sess-date-soon-day, #upper .sessions .session .sess-date-soon .sess-date-soon-time {
        font-size: .6em;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0; }
      #upper .sessions .session .sess-date-soon .sess-date-soon-day {
        font-size: .8em; }
    #upper .sessions .session .s-date {
      color: #008396; }
      #upper .sessions .session .s-date .s-date-label {
        font-size: .6em;
        color: #484C54;
        font-style: italic;
        text-transform: uppercase; }
      #upper .sessions .session .s-date .s-date-day, #upper .sessions .session .s-date .s-date-time {
        font-size: .8em;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0; }
      #upper .sessions .session .s-date .s-date-time {
        font-size: .6em; }
    #upper .sessions .session .sess-inner {
      align-self: center; }
      #upper .sessions .session .sess-inner .sess-details-action {
        text-align: right;
        font-size: .7em;
        padding: .2em .5em;
        text-transform: uppercase;
        font-weight: 400; }
        #upper .sessions .session .sess-inner .sess-details-action a {
          color: #5d90c8; }
          #upper .sessions .session .sess-inner .sess-details-action a:hover {
            color: #ed8b00;
            text-decoration: underline; }
      #upper .sessions .session .sess-inner .sess-livesession {
        margin-bottom: 1em; }
        #upper .sessions .session .sess-inner .sess-livesession .sess-livesession-title {
          font-weight: bold;
          margin-top: 1em; }
      #upper .sessions .session .sess-inner .sess-player, #upper .sessions .session .sess-inner .sess-details {
        grid-template-columns: 150px 1fr 150px;
        grid-template-rows: auto;
        grid-gap: .5em;
        padding: 0 .5em .5em .5em; }
      #upper .sessions .session .sess-inner .sess-player {
        display: grid; }
        #upper .sessions .session .sess-inner .sess-player:nth-child(odd) {
          background-color: #f1fbfc; }
        #upper .sessions .session .sess-inner .sess-player .sess-action {
          align-self: center;
          justify-self: start; }
          #upper .sessions .session .sess-inner .sess-player .sess-action.s-date {
            align-self: center;
            text-align: center; }
          #upper .sessions .session .sess-inner .sess-player .sess-action a {
            color: #5d90c8;
            text-decoration: none; }
            #upper .sessions .session .sess-inner .sess-player .sess-action a.action {
              display: grid;
              grid-template-columns: 5em 2em;
              grid-template-rows: 2.5em;
              grid-gap: .05em;
              margin: 0.2em; }
              #upper .sessions .session .sess-inner .sess-player .sess-action a.action .action-text, #upper .sessions .session .sess-inner .sess-player .sess-action a.action .action-icon {
                align-self: center;
                justify-self: center;
                width: 100%;
                height: 100%;
                color: #fff; }
              #upper .sessions .session .sess-inner .sess-player .sess-action a.action .action-text {
                font-family: 'Roboto', sans-serif;
                font-weight: 300;
                font-size: .9em;
                padding-top: 0.85em;
                background-color: #10366f;
                text-transform: uppercase;
                box-sizing: border-box;
                border-radius: 0.2em 0 0 0.2em;
                letter-spacing: 0.2em; }
              #upper .sessions .session .sess-inner .sess-player .sess-action a.action .action-icon {
                font-size: 1.2em;
                padding-top: 0.5em;
                border-radius: 0 0.2em 0.2em 0;
                background-color: #5d90c8;
                color: #fff;
                box-sizing: border-box; }
              #upper .sessions .session .sess-inner .sess-player .sess-action a.action:hover .action-text, #upper .sessions .session .sess-inner .sess-player .sess-action a.action:hover .action-icon {
                color: #5d90c8; }
          #upper .sessions .session .sess-inner .sess-player .sess-action .sso_no a, #upper .sessions .session .sess-inner .sess-player .sess-action .content_no a {
            text-transform: uppercase;
            font-size: 10px; }
        #upper .sessions .session .sess-inner .sess-player .presentations {
          margin: 0 8px 8px 8px; }
          #upper .sessions .session .sess-inner .sess-player .presentations .sess-description {
            text-align: left;
            margin: 1em 15px 1.5em 10%;
            font-size: 90%; }
          #upper .sessions .session .sess-inner .sess-player .presentations .presentation {
            margin-top: 1em; }
            #upper .sessions .session .sess-inner .sess-player .presentations .presentation:first-child {
              margin-top: 0; }
            #upper .sessions .session .sess-inner .sess-player .presentations .presentation .speakers {
              margin-top: .5em; }
            #upper .sessions .session .sess-inner .sess-player .presentations .presentation .presTitle {
              font-size: .8em;
              margin-bottom: .3em;
              color: #008396;
              text-transform: uppercase;
              letter-spacing: 0.05em;
              font-weight: 500; }
            #upper .sessions .session .sess-inner .sess-player .presentations .presentation .spkDetails {
              text-align: left;
              font-size: .8em;
              margin: 10px 15px 15px 10%; }
            #upper .sessions .session .sess-inner .sess-player .presentations .presentation .presSpk {
              margin-top: 1em; }
              #upper .sessions .session .sess-inner .sess-player .presentations .presentation .presSpk:first-child {
                margin-top: 0; }
              #upper .sessions .session .sess-inner .sess-player .presentations .presentation .presSpk .speakerName {
                font-size: 1em;
                font-weight: 500; }
              #upper .sessions .session .sess-inner .sess-player .presentations .presentation .presSpk .affiliation {
                font-size: .8em;
                font-style: italic;
                font-weight: 300; }
              #upper .sessions .session .sess-inner .sess-player .presentations .presentation .presSpk .spkDiscs {
                margin-bottom: .8em;
                font-style: italic; }
                #upper .sessions .session .sess-inner .sess-player .presentations .presentation .presSpk .spkDiscs h3 {
                  font-weight: 700;
                  font-style: italic;
                  margin-block-start: .3em;
                  margin-block-end: 0;
                  font-size: .8em;
                  text-transform: uppercase; }
                #upper .sessions .session .sess-inner .sess-player .presentations .presentation .presSpk .spkDiscs .spkDisc {
                  margin-bottom: .3em; }
                  #upper .sessions .session .sess-inner .sess-player .presentations .presentation .presSpk .spkDiscs .spkDisc .spkDiscLabel {
                    font-style: normal; }
              #upper .sessions .session .sess-inner .sess-player .presentations .presentation .presSpk .spkBio {
                margin-bottom: .8em; }
            #upper .sessions .session .sess-inner .sess-player .presentations .presentation .spkRole {
              padding: 0 0 0 .5em;
              font-weight: 300;
              text-transform: uppercase;
              color: #777e8b; }
      #upper .sessions .session .sess-inner .sess-sthnk {
        font-size: .8em;
        font-style: italic; }
      #upper .sessions .session .sess-inner .sess-sup {
        margin: 1em auto .5em auto; }
        #upper .sessions .session .sess-inner .sess-sup .sess-sup-label {
          font-size: .6em;
          color: #777e8b;
          font-style: italic;
          margin-bottom: .4em; }
        #upper .sessions .session .sess-inner .sess-sup .sess-sup-name {
          font-size: 1em;
          color: #008396; }
      #upper .sessions .session .sess-inner .sess-download {
        margin: .5em; }
        #upper .sessions .session .sess-inner .sess-download a.sess-download-link {
          font-size: .8em;
          text-transform: uppercase;
          color: #ed8b00; }
          #upper .sessions .session .sess-inner .sess-download a.sess-download-link:hover {
            color: #5d90c8; }
      #upper .sessions .session .sess-inner .sess-details {
        font-size: .8em; }
        #upper .sessions .session .sess-inner .sess-details .sess-details-inner {
          margin: 0 11px 8px 11px; }
          #upper .sessions .session .sess-inner .sess-details .sess-details-inner .sess-detail-sect {
            margin: 0; }
            #upper .sessions .session .sess-inner .sess-details .sess-details-inner .sess-detail-sect .sess-detail-body {
              text-align: left;
              margin: 5px 15px 15px 10%; }
              #upper .sessions .session .sess-inner .sess-details .sess-details-inner .sess-detail-sect .sess-detail-body h3 {
                font-style: italic;
                font-weight: bold;
                margin-block-start: .3em;
                margin-block-end: 0.3em; }
              #upper .sessions .session .sess-inner .sess-details .sess-details-inner .sess-detail-sect .sess-detail-body h4 {
                font-style: italic;
                font-weight: bold;
                margin-block-start: .3em;
                margin-block-end: 0.3em; }
              #upper .sessions .session .sess-inner .sess-details .sess-details-inner .sess-detail-sect .sess-detail-body ul {
                margin-block-start: 0em;
                padding-inline-start: 1.3em; }
                #upper .sessions .session .sess-inner .sess-details .sess-details-inner .sess-detail-sect .sess-detail-body ul li {
                  margin-bottom: .5em; }
    #upper .sessions .session .sess-footer {
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-template-rows: auto;
      width: 100%;
      height: 100%;
      margin: 0;
      font-size: .6em;
      font-weight: 300;
      padding: .5em 1em .3em 1em;
      color: #e4f8f9;
      background-color: #5d90c8;
      box-sizing: border-box;
      text-transform: uppercase;
      letter-spacing: 0.05em; }
      #upper .sessions .session .sess-footer .s-date, #upper .sessions .session .sess-footer .sess-date {
        justify-self: self-start;
        text-align: left;
        align-self: center;
        color: #e4f8f9; }
      #upper .sessions .session .sess-footer .sess-cats {
        justify-self: self-end;
        text-align: right;
        align-self: center; }
        #upper .sessions .session .sess-footer .sess-cats .sess-cat {
          display: inline-block;
          padding: 0 .8em; }
    #upper .sessions .session.tl-od .sess-inner .sess-player .sess-action.s-action, #upper .sessions .session.tl-oda .sess-inner .sess-player .sess-action.s-action, #upper .sessions .session.tl-all .sess-inner .sess-player .sess-action.s-action {
      display: none; }
      #upper .sessions .session.tl-od .sess-inner .sess-player .sess-action.s-action.always, #upper .sessions .session.tl-oda .sess-inner .sess-player .sess-action.s-action.always, #upper .sessions .session.tl-all .sess-inner .sess-player .sess-action.s-action.always {
        display: inherit; }
    #upper .sessions .session.tl-od .sess-inner .sess-player .sess-action.s-date, #upper .sessions .session.tl-oda .sess-inner .sess-player .sess-action.s-date, #upper .sessions .session.tl-all .sess-inner .sess-player .sess-action.s-date {
      display: inherit; }
    #upper .sessions .session.tl-od .sess-inner .sess-player.od .sess-action.s-action, #upper .sessions .session.tl-oda .sess-inner .sess-player.od .sess-action.s-action, #upper .sessions .session.tl-all .sess-inner .sess-player.od .sess-action.s-action {
      display: inherit; }
    #upper .sessions .session.tl-od .sess-inner .sess-player.od .sess-action.s-date, #upper .sessions .session.tl-oda .sess-inner .sess-player.od .sess-action.s-date, #upper .sessions .session.tl-all .sess-inner .sess-player.od .sess-action.s-date {
      display: none; }
    #upper .sessions .session div.notdetail {
      display: block; }
    #upper .sessions .session span.notdetail a.notdetail {
      display: inline-block; }
    #upper .sessions .session .detail, #upper .sessions .session div.detail {
      display: none; }
    #upper .sessions .session.details .notdetail {
      display: none; }
    #upper .sessions .session.details div.detail {
      display: block; }
      #upper .sessions .session.details div.detail.sess-details {
        display: grid; }
    #upper .sessions .session.details span.detail, #upper .sessions .session.details a.detail {
      display: inline-block; }
    #upper .sessions .session.suppress-details-link .sess-details-action {
      display: none; }
    #upper .sessions .session.filtered {
      display: none; }
    #upper .sessions .session .dt-local {
      display: none; }
    #upper .sessions .session.localized .dt-local {
      display: inherit; }
    #upper .sessions .session.localized .sess-header .s-date-time-o .s-date-time.dt-event {
      color: #5a5d65; }
    #upper .sessions .session.localized .sess-header .s-date-time-o .s-date-time.dt-local {
      display: inherit; }
    #upper .sessions .session.localized .sess-inner .sess-player .presentations .presentation-time {
      display: inherit;
      grid-template-columns: 4.7em 4.8em; }
      #upper .sessions .session.localized .sess-inner .sess-player .presentations .presentation-time.dt-local {
        display: inherit; }
      #upper .sessions .session.localized .sess-inner .sess-player .presentations .presentation-time .dt-event {
        font-size: .7em; }
  #upper body .sessions h2.tl-lv {
    display: none; }
  #upper body .sessions h2.tl-pl {
    display: none; }
  #upper body .sessions h2.tl-oda {
    display: none; }
  #upper body .sessions .session.tl-lv, #upper body .sessions .session.tl-od {
    display: none; }
  #upper body .sessions .session.tl-pl {
    display: inherit; }
    #upper body .sessions .session.tl-pl.live {
      display: none; }
  #upper body .sessions .session.tl-oda {
    display: none; }
  #upper body.lv .sessions .session.tl-pl.oda, #upper body.all .sessions .session.tl-pl.oda, #upper body.as .sessions .session.tl-pl.oda, #upper body.pt .sessions .session.tl-pl.oda {
    display: none; }
  #upper body.see .sessions .session .sess-inner .sess-details-action {
    display: none; }
  #upper body.see .sessions .session .sess-inner .sess-player {
    padding-top: .5em; }
  #upper body.tl-lv .sessions h2.tl-lv, #upper body.tl-lv .sessions h2.tl-pl {
    display: inherit; }
  #upper body.tl-lv .sessions .session.tl-lv.live {
    display: inherit; }
  #upper body.tl-lv .sessions .session.tl-lv.pull, #upper body.tl-lv .sessions .session.tl-lv .pull {
    display: none; }
  #upper body.tl-lv .sessions .session.tl-all.live {
    display: none; }
  #upper body.tl-lv.last-sessions h2.tl-pl {
    display: none; }
  #upper body.tl-oda h2.tl-oda, #upper body.tl-oda h2.tl-pl {
    display: inherit; }
  #upper body.tl-oda .session.tl-oda.oda {
    display: inherit; }
    #upper body.tl-oda .session.tl-oda.oda.filtered {
      display: none; }
    #upper body.tl-oda .session.tl-oda.oda.pull, #upper body.tl-oda .session.tl-oda.oda .pull {
      display: none; }
  #upper body.tl-ended h2.tl-lv {
    display: none; }
  #upper body.tl-ended h2.tl-pl {
    display: none; }
  #upper body.tl-ended h2.tl-oda {
    display: none; }
  #upper body .sessions .session.filtered {
    display: none; }
  #upper #live-sessions {
    display: none;
    margin-bottom: 1em; }
    #upper #live-sessions .live-session {
      display: none;
      grid-template-columns: 12em 1fr;
      grid-template-rows: auto auto;
      background-color: #e4f8f9;
      grid-template-areas: "livetitle livetitle" "livejoin livesessions"; }
      #upper #live-sessions .live-session .live-session-title {
        font-size: 1.6em;
        font-weight: 200;
        text-transform: uppercase;
        color: white;
        background-color: #10366f;
        padding: .3em;
        grid-area: livetitle;
        text-align: center;
        align-self: center;
        justify-self: center;
        width: 100%;
        box-sizing: border-box; }
      #upper #live-sessions .live-session .live-session-join {
        font-size: 1.3em;
        grid-area: livejoin;
        text-align: center;
        align-self: self-start;
        justify-self: self-start;
        padding: 1em 1em 0 1em; }
      #upper #live-sessions .live-session .sessions {
        grid-area: livesessions;
        grid-gap: .2em 0; }
        #upper #live-sessions .live-session .sessions .session {
          grid-template-areas: "session-title session-title" "session-spk session-live";
          grid-template-columns: 1fr 11em;
          padding: .2em 0 .5em 0; }
          #upper #live-sessions .live-session .sessions .session .session-odl, #upper #live-sessions .live-session .sessions .session .session-livel, #upper #live-sessions .live-session .sessions .session .session-od {
            display: none; }
          #upper #live-sessions .live-session .sessions .session .session-spk {
            padding: .1em 0 .6em 0; }
          #upper #live-sessions .live-session .sessions .session .session-player {
            padding: .3em; }
            #upper #live-sessions .live-session .sessions .session .session-player .lvdt {
              display: none; }
  #upper body.tl-lv #upper #live-sessions {
    display: block; }
    #upper body.tl-lv #upper #live-sessions .live-session.tl-lv {
      display: none; }
      #upper body.tl-lv #upper #live-sessions .live-session.tl-lv.live {
        display: grid; }
  @media (max-width: 900px) {
    #upper #live-sessions .live-session {
      grid-template-columns: 1fr;
      grid-template-rows: auto auto auto;
      background-color: #e4f8f9;
      grid-template-areas: "livetitle" "livejoin" "livesessions"; }
      #upper #live-sessions .live-session .live-session-join {
        align-self: center;
        justify-self: center; }
      #upper #live-sessions .live-session .sessions {
        padding: 0 1em; } }
  @media (max-width: 600px) {
    #upper #live-sessions .live-session .live-session-title {
      font-size: 1.3em; }
    #upper #live-sessions .live-session .sessions .session {
      grid-template-areas: "session-title" "session-spk" "session-live";
      grid-template-columns: 1fr;
      grid-template-rows: auto auto auto;
      padding: .5em; }
      #upper #live-sessions .live-session .sessions .session .session-title, #upper #live-sessions .live-session .sessions .session .session-spk, #upper #live-sessions .live-session .sessions .session .session-player {
        text-align: center;
        align-self: center; }
      #upper #live-sessions .live-session .sessions .session .session-player {
        padding-top: 0; } }
  #upper .sessions .session.live-ebr .sess-title {
    font-size: 1.2em;
    font-weight: 300;
    padding: 0.7em 0.3em;
    box-sizing: border-box;
    text-transform: uppercase;
    letter-spacing: 0.05em; }
  #upper .sessions .session.live-ebr .sess-inner .sess-player {
    padding-top: .5em;
    grid-template-columns: 150px 1fr; }
    #upper .sessions .session.live-ebr .sess-inner .sess-player .presentations {
      display: grid;
      padding: .5em 0;
      margin: 0;
      grid-template-columns: 1fr 150px;
      grid-row-gap: 1em;
      grid-row-gap: 10px; }
      #upper .sessions .session.live-ebr .sess-inner .sess-player .presentations .presentation .speakers {
        margin-top: .25em; }
      #upper .sessions .session.live-ebr .sess-inner .sess-player .presentations .presentation .presTitle {
        font-size: 1em;
        margin-bottom: .2em; }
      #upper .sessions .session.live-ebr .sess-inner .sess-player .presentations .presentation .presSpk {
        margin-top: .5em; }
        #upper .sessions .session.live-ebr .sess-inner .sess-player .presentations .presentation .presSpk:first-child {
          margin-top: 0; }
        #upper .sessions .session.live-ebr .sess-inner .sess-player .presentations .presentation .presSpk .speakerName {
          font-size: .8em;
          font-weight: 700; }
        #upper .sessions .session.live-ebr .sess-inner .sess-player .presentations .presentation .presSpk .affiliation {
          font-size: .7em;
          font-weight: 400;
          font-style: italic; }
    #upper .sessions .session.live-ebr .sess-inner .sess-player .s-date, #upper .sessions .session.live-ebr .sess-inner .sess-player .sess-role {
      align-self: center;
      justify-self: center;
      text-align: center;
      color: #10366f; }
    #upper .sessions .session.live-ebr .sess-inner .sess-player .sess-role {
      text-transform: uppercase;
      color: #777e8b;
      font-size: .6em;
      font-style: italic; }
  #upper .sessions .session.live-ebr .sess-footer {
    grid-template-columns: 1fr; }
    #upper .sessions .session.live-ebr .sess-footer .s-date {
      align-self: center;
      justify-self: center;
      text-align: center; }
  #upper .overview {
    font-weight: 300;
    font-size: 0.9em; }
    #upper .overview p:first-child {
      margin-block-start: 0;
      margin-top: 0; }
    #upper .overview ol li {
      margin-bottom: .5em; }
    #upper .overview a {
      font-weight: 700; }
  #upper .welcome-vids {
    justify-self: center;
    align-self: center;
    width: 304px;
    height: 172.75px;
    max-width: 304px;
    max-height: 172.75px;
    overflow-y: hidden;
    overflow-x: hidden;
    margin: 1em .3em; }
    #upper .welcome-vids a.welcome-vid {
      width: 300px;
      height: 168.75px;
      justify-self: center;
      display: grid;
      grid-template-columns: 1fr;
      grid-template-rows: 1fr;
      background-color: #000;
      overflow-y: hidden;
      overflow-x: hidden;
      color: #5d90c8;
      text-decoration: none;
      text-align: center;
      margin: 2px auto 0 auto;
      border-radius: 0;
      border: 2px solid #5d90c8;
      box-sizing: border-box;
      font-weight: 700; }
      #upper .welcome-vids a.welcome-vid img, #upper .welcome-vids a.welcome-vid .welcome-over {
        height: 168.75px;
        width: 300px;
        grid-row: 1/2;
        grid-column: 1/2; }
      #upper .welcome-vids a.welcome-vid img {
        z-index: 100; }
      #upper .welcome-vids a.welcome-vid .welcome-over {
        z-index: 200;
        background-color: rgba(16, 54, 111, 0.9);
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 1fr; }
        #upper .welcome-vids a.welcome-vid .welcome-over .play-but, #upper .welcome-vids a.welcome-vid .welcome-over h2 {
          justify-self: center; }
        #upper .welcome-vids a.welcome-vid .welcome-over h2 {
          font-weight: 300;
          letter-spacing: .1em;
          align-self: center; }
        #upper .welcome-vids a.welcome-vid .welcome-over .play-but {
          align-self: self-end; }
      #upper .welcome-vids a.welcome-vid:hover {
        color: #ed8b00;
        border-color: #ed8b00; }
  #upper.info {
    display: block;
    font-size: 1em;
    font-weight: 400;
    color: #42444a; }
    #upper.info ul, #upper.info ol {
      padding-inline-start: 1.1em;
      margin-block-start: .2em; }
      #upper.info ul li, #upper.info ol li {
        margin-bottom: 0.2em; }
      #upper.info ul.bigger, #upper.info ol.bigger {
        font-size: 1em; }
    #upper.info p {
      margin-block-start: .1em; }
    #upper.info .space, #upper.info .nospace {
      margin-block-end: 1em;
      margin-block-start: .1em; }
      #upper.info .space ul, #upper.info .nospace ul {
        margin-block-end: 0.2em; }
    #upper.info .nospace {
      margin-block-end: 0.2em; }
    #upper.info h1 {
      font-size: 1.5em;
      font-weight: 700;
      color: #008396;
      text-transform: uppercase; }
    #upper.info h2 {
      font-size: 1.2em;
      font-weight: 300;
      color: #008396;
      margin-block-end: .2em;
      margin-block-start: 1.2em; }
      #upper.info h2.expand {
        background-color: #dde1e4;
        color: #10366f;
        font-family: 'Roboto', sans-serif;
        font-weight: 300;
        font-size: 1.4em;
        padding: .5em .2em;
        text-transform: uppercase; }
        #upper.info h2.expand span {
          float: right;
          font-weight: 300;
          font-size: .6em;
          padding: .5em; }
          #upper.info h2.expand span.ctl-collapse {
            display: none; }
          #upper.info h2.expand span.ctl-expand {
            display: block; }
        #upper.info h2.expand.expanded span.ctl-collapse {
          display: block; }
        #upper.info h2.expand.expanded span.ctl-expand {
          display: none; }
        #upper.info h2.expand:hover span {
          color: #5d90c8; }
    #upper.info .expandable {
      display: none;
      margin: .5em 0 2em 0; }
      #upper.info .expandable .expanded {
        display: block; }
    #upper.info h3 {
      font-size: 1em;
      font-weight: 400;
      margin-block-end: .2em;
      text-decoration: underline; }
      #upper.info h3.fac {
        font-weight: 700;
        text-decoration: none; }
    #upper.info h4 {
      margin-block-end: .3em; }
    #upper.info .top-link {
      text-align: right;
      font-size: 90%; }
    #upper.info .schedule {
      font-size: .9em;
      font-weight: 300; }
      #upper.info .schedule .day {
        width: 100%;
        background-color: #dde1e4;
        color: #10366f;
        margin-bottom: 1em;
        border-radius: 5px; }
        #upper.info .schedule .day h4 {
          background-color: #10366f;
          color: #dde1e4;
          margin-block-start: .33em;
          padding: .5em;
          font-size: 1.1em;
          font-weight: 300;
          border-radius: 5px 5px 0 0; }
        #upper.info .schedule .day .timeslots {
          width: 100%;
          display: grid;
          grid-template-columns: 1fr 1fr 1fr; }
          #upper.info .schedule .day .timeslots .slot {
            padding: .5em; }
            #upper.info .schedule .day .timeslots .slot .time {
              font-weight: 700;
              margin-bottom: .3em; }
            #upper.info .schedule .day .timeslots .slot .sesstitle {
              margin-bottom: .3em;
              font-style: italic; }
            #upper.info .schedule .day .timeslots .slot .spk {
              margin-bottom: .3em; }
            #upper.info .schedule .day .timeslots .slot .spkafill {
              margin-bottom: .3em;
              font-size: 90%;
              font-style: italic; }

.message {
  color: #008396;
  font-weight: 200;
  font-size: 1.5em;
  font-style: italic; }

#fold-message {
  text-align: center;
  background-color: rgba(221, 225, 228, 0.4);
  padding: .5em;
  margin: 0; }

#lower {
  margin: 0 0 1em 0;
  padding: 1em 0;
  display: grid;
  grid-template-columns: 1fr 304px;
  grid-gap: 0 2em;
  grid-template-areas: "sess sup"  "sess sup"; }
  #lower h2.sect-head {
    color: #008396;
    font-weight: 400;
    font-size: 1.3em;
    text-align: center;
    align-self: end;
    justify-self: center;
    background-color: rgba(221, 225, 228, 0.4);
    width: 100%;
    padding: .4em 0;
    margin-block-end: 0.5em; }
  #lower #lower-supporters {
    grid-area: sup;
    padding-top: 1em; }
  #lower #lower-sessions-label {
    grid-area: sessl; }
  #lower #lower-sessions {
    grid-area: sess; }
  #lower #lower-posters-card {
    grid-area: post; }
    #lower #lower-posters-card a img {
      height: 8em; }
  #lower #lower-empty {
    grid-area: empty; }
  #lower #lower-empty2 {
    grid-area: empty2; }
  #lower .supporters {
    justify-self: center;
    align-self: self-start;
    width: 304px;
    height: 254px;
    max-width: 304px;
    max-height: 254px;
    overflow-y: hidden;
    overflow-x: hidden;
    margin: 2px auto 0 auto;
    border-radius: 0;
    border: 2px dotted #5d90c8;
    box-sizing: border-box; }
    #lower .supporters a.supporter {
      width: 300px;
      height: 250px;
      justify-self: center;
      display: block;
      background-color: #0086c6; }
      #lower .supporters a.supporter img {
        height: 250px;
        width: 300px; }
      #lower .supporters a.supporter:hover {
        border-color: #00b2a9; }
      #lower .supporters a.supporter.up {
        margin-top: -250px; }
  #lower #lower-highlights {
    margin-top: 1em; }
    #lower #lower-highlights h2 {
      background-color: rgba(221, 225, 228, 0.4);
      height: 100%;
      margin-block-start: 0;
      margin-block-end: .5em;
      padding: .5em;
      text-align: center;
      text-decoration: none;
      color: #008396; }
    #lower #lower-highlights img {
      height: 4em;
      justify-self: center; }
  #lower .sessions {
    display: grid;
    grid-gap: 1em 0;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    padding: 0;
    font-size: 1em;
    font-weight: 200;
    margin: 1.2em 0;
    color: #42444a;
    text-decoration: none;
    text-align: center; }
    #lower .sessions .session-ebr {
      display: grid;
      text-align: center;
      grid-template-columns: minmax(8em, auto) 1fr minmax(8em, auto);
      grid-template-rows: auto .5em auto;
      grid-gap: .2em .2em;
      grid-template-areas: "session-title session-title session-title" "empty empty session-livel"			 "session-od session-spk session-live";
      background-color: #e4f8f9;
      border: 2px solid #008396;
      padding: 0 0 1em 0; }
      #lower .sessions .session-ebr .session-title {
        grid-area: session-title;
        align-self: center;
        justify-self: center;
        width: 100%;
        height: 100%;
        margin: 0;
        font-size: 1.2em;
        font-weight: 300;
        padding: 0.7em 0.3em;
        color: #fff;
        background-color: #008396;
        box-sizing: border-box;
        text-transform: uppercase;
        letter-spacing: 0.05em; }
      #lower .sessions .session-ebr .session-livel, #lower .sessions .session-ebr .session-livel2, #lower .sessions .session-ebr .session-odl {
        align-self: center;
        justify-self: center;
        margin-bottom: -.4em;
        font-size: .5em;
        font-weight: 700;
        padding: .5em .5em 0 0;
        color: #10366f;
        text-transform: uppercase;
        letter-spacing: 0.05em; }
      #lower .sessions .session-ebr .session-odl {
        padding: .5em 0 0 .5em; }
      #lower .sessions .session-ebr .session-livel {
        grid-area: session-livel; }
      #lower .sessions .session-ebr .session-od, #lower .sessions .session-ebr .session-title, #lower .sessions .session-ebr .session-spk, #lower .sessions .session-ebr .session-action {
        align-self: center;
        justify-self: center; }
      #lower .sessions .session-ebr .session-od {
        grid-area: session-od;
        padding-top: 0.5em; }
      #lower .sessions .session-ebr .session-spk {
        grid-area: session-spk;
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 1fr; }
        #lower .sessions .session-ebr .session-spk .speakerName {
          font-size: 0.9em;
          font-weight: 700;
          justify-self: center;
          align-self: self-end; }
        #lower .sessions .session-ebr .session-spk .organization {
          font-size: 0.7em;
          font-weight: 400;
          font-style: italic;
          margin-top: 0.3em;
          justify-self: center;
          align-self: self-start; }
      #lower .sessions .session-ebr .session-live {
        grid-area: session-live;
        display: grid;
        text-align: center;
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 1fr;
        padding: 0 .5em 0 0; }
      #lower .sessions .session-ebr .lvdt, #lower .sessions .session-ebr .lvtm {
        font-size: .6em;
        font-weight: 700;
        color: #008396;
        text-transform: uppercase;
        letter-spacing: 0; }
      #lower .sessions .session-ebr .lvdt {
        align-self: self-end;
        justify-self: center; }
      #lower .sessions .session-ebr .lvtm {
        align-self: self-start;
        justify-self: center; }
      #lower .sessions .session-ebr.session-2spk {
        grid-template-areas: "session-title session-title session-title" "session-odl session-spkl session-livel"			 "session-od session-spk session-live"					 "session-od session-spk2 session-live2"; }
        #lower .sessions .session-ebr.session-2spk .session-spk2, #lower .sessions .session-ebr.session-2spk .session-live2 {
          padding-top: 1em; }
        #lower .sessions .session-ebr.session-2spk .session-spk2 {
          grid-area: session-spk2; }
        #lower .sessions .session-ebr.session-2spk .session-live2 {
          grid-area: session-live2; }
        #lower .sessions .session-ebr.session-2spk .session-livel2 {
          grid-area: session-livel2;
          display: none; }
      #lower .sessions .session-ebr .session-action {
        padding-top: 0.5em;
        grid-template-rows: auto; }
        #lower .sessions .session-ebr .session-action a {
          color: #10366f;
          font-size: 0.6em;
          font-family: 'Roboto', sans-serif;
          font-weight: 300; }
          #lower .sessions .session-ebr .session-action a .sso_yes {
            width: 7.5em;
            overflow: visible; }
          #lower .sessions .session-ebr .session-action a.hover {
            color: #ed8b00; }

#overlay_o {
  top: 0;
  left: 0;
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 500;
  background-color: rgba(153, 153, 153, 0.85);
  color: black;
  display: none;
  grid-template-rows: auto;
  grid-template-columns: auto;
  text-align: center; }
  #overlay_o #overlay_cl {
    align-self: self-start;
    justify-self: self-end;
    padding: .3em;
    text-align: right; }
    #overlay_o #overlay_cl .fa-window-close {
      font-size: 2em; }
  #overlay_o #overlay_i {
    align-self: center;
    justify-self: center;
    padding: .2em;
    display: grid;
    grid-template-rows: 2em 1fr;
    grid-template-columns: 1fr;
    background-color: rgba(221, 221, 221, 0.9);
    border-radius: 10px;
    border: 1px solid #666; }
    #overlay_o #overlay_i #overlay_body {
      align-self: center;
      justify-self: center;
      padding: 1em; }
  #overlay_o a {
    font-size: 2em;
    display: block; }
  #overlay_o.on {
    display: grid; }

body.tl-lv #upper {
  grid-template-columns: 1fr; }
  body.tl-lv #upper #live-sessions {
    display: grid; }
  body.tl-lv #upper .welcome-vids {
    display: none; }
  body.tl-lv #upper .sessions .session.tl-lv {
    display: none; }
    body.tl-lv #upper .sessions .session.tl-lv.live {
      display: inherit; }

@media (max-width: 900px) {
  #lower {
    margin: 1em 0;
    padding: 1em 0;
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 1em;
    grid-template-areas: "sess" "sup"; }
  #overlay_fr #overlay_content img {
    width: 70%; } }

@media (max-width: 800px) {
  #upper {
    margin: .5em 0;
    padding: .5em 0;
    grid-template-columns: 1fr;
    grid-gap: 1em; }
    #upper .sessions .session.live-ebr .sess-inner .sess-player {
      grid-template-columns: 1fr; }
      #upper .sessions .session.live-ebr .sess-inner .sess-player .sess-action {
        text-align: center;
        justify-self: center; }
      #upper .sessions .session.live-ebr .sess-inner .sess-player .presentations {
        grid-template-columns: 1fr 90px; }
    #upper a.content-cat h2 {
      font-size: 1.5em; }
    #upper a.content-cat img {
      height: 5em; }
    #upper.info h2.expand {
      padding: 1.5em .2em; }
  #header-nav .header-inner .hnav {
    align-self: center; }
    #header-nav .header-inner .hnav#hnav1 {
      justify-self: self-start;
      text-align: left; }
    #header-nav .header-inner .hnav#hnav2 {
      justify-self: self-end;
      text-align: right; }
    #header-nav .header-inner .hnav a {
      display: block;
      padding: .5em; } }

@media (max-width: 600px) {
  #upper .sessions .session.live-ebr .sess-inner {
    align-self: center; }
    #upper .sessions .session.live-ebr .sess-inner .sess-details {
      grid-template-columns: 1px 1fr;
      padding-left: 0; }
    #upper .sessions .session.live-ebr .sess-inner .sess-player {
      grid-template-columns: 1fr; }
      #upper .sessions .session.live-ebr .sess-inner .sess-player .presentations {
        grid-template-columns: 1fr; }
      #upper .sessions .session.live-ebr .sess-inner .sess-player .s-date, #upper .sessions .session.live-ebr .sess-inner .sess-player .sess-role {
        align-self: self-start;
        margin-top: -0.3em; }
  #lower {
    grid-template-columns: 1fr;
    grid-template-areas: "sess" "sup"; }
    #lower .sessions .session-ebr {
      grid-template-columns: 1fr;
      grid-template-rows: auto;
      grid-gap: .2em .05em;
      grid-template-areas: "session-title" "session-odl" "session-od" "session-spk"		 "session-livel"			 "session-live"; }
      #lower .sessions .session-ebr .session-od {
        padding: .5em 0; }
      #lower .sessions .session-ebr .session-spkl {
        display: none; }
      #lower .sessions .session-ebr.session-2spk {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        grid-gap: .2em .05em;
        grid-template-areas: "session-title" "session-odl" "session-od" "session-spk"		 "session-livel"			 "session-live" "session-spk2"		 "session-livel2"			 "session-live2"; }
        #lower .sessions .session-ebr.session-2spk .session-spk2 {
          padding-top: 1.5em; }
        #lower .sessions .session-ebr.session-2spk .session-live2 {
          padding-top: 0; }
        #lower .sessions .session-ebr.session-2spk .session-action {
          padding-top: 0.5em; }
        #lower .sessions .session-ebr.session-2spk .session-livel2 {
          display: block; }
  #footer {
    width: 20em;
    grid-gap: 1em; } }

@media (max-width: 350px) {
  #footer {
    width: 300px;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 2.5em 2.5em 2em; }
    #footer a.weburl {
      grid-column: 1/4; }
    #footer a.hashtag {
      grid-column: 1/4; } }
