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: 395.5px;
      left: 0px;
      z-index: 40; }
      #header .header-inner .nw img {
        width: 395.5px; }
    #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: 828.10458px) {
  #header .header-inner .nc {
    display: none; } }

@media (max-width: 745.29412px) {
  #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: 113.78003px; }
    #header .header-inner {
      height: 113.78003px; }
      #header .header-inner .nw {
        margin: 0 auto;
        width: 300px;
        height: 113.78003px; }
        #header .header-inner .nw img {
          height: 113.78003px;
          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; }

#upper {
  margin: 1em 0;
  padding: 1em 0;
  display: grid; }
  #upper.boxes {
    display: grid;
    grid-template-columns: auto;
    grid-gap: 2em;
    grid-template-rows: auto; }
    #upper.boxes a.content-cat {
      display: grid;
      padding: 1em;
      grid-template-columns: 1fr;
      grid-gap: .5em;
      color: white;
      background-color: #008396;
      text-decoration: none;
      text-align: center;
      border-radius: 0;
      border: 2px solid white; }
      #upper.boxes a.content-cat h2 {
        align-self: center;
        justify-self: center;
        font-weight: 700;
        font-size: 1.6em;
        color: white;
        margin-block-start: 0;
        margin-block-end: 0;
        letter-spacing: .1em;
        text-transform: uppercase;
        padding: 1em; }
      #upper.boxes a.content-cat img {
        height: 6em;
        padding: 1em .5em;
        justify-self: center;
        align-self: center;
        z-index: 10;
        filter: opacity(0.2); }
      #upper.boxes a.content-cat.scheme2 {
        color: white;
        background-color: #5d90c8;
        border-color: #e4f8f9; }
        #upper.boxes a.content-cat.scheme2:hover h2 {
          color: #213f64; }
      #upper.boxes a.content-cat.scheme3 {
        color: white;
        background-color: #39a5d6;
        border-color: #dde1e4; }
        #upper.boxes a.content-cat.scheme3:hover h2 {
          color: #164966; }
      #upper.boxes a.content-cat:hover {
        border-color: white;
        color: #0f3e4a; }
        #upper.boxes a.content-cat:hover img {
          filter: blur(0px) opacity(0.4); }
        #upper.boxes a.content-cat:hover h2 {
          color: #0f3e4a; }
      #upper.boxes a.content-cat.left-bar {
        padding: 0;
        grid-gap: 0;
        border-color: white;
        grid-template-columns: 15px 5px 1fr; }
        #upper.boxes a.content-cat.left-bar .bar2 {
          width: 100%;
          height: 102%;
          margin-top: -1%;
          background-color: white; }
  #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; }
  #upper img.chair-welcome {
    width: 466px;
    height: 150px;
    margin: 2em 1em; }

body #upper.live3up {
  grid-template-columns: 1fr 1fr;
  grid-template-rows: minmax(8em, auto); }
  body #upper.live3up .live-now {
    display: none; }

body.tl-lv #upper.live3up {
  grid-template-columns: 1fr 1fr 1fr; }
  body.tl-lv #upper.live3up .live-now {
    display: inherit; }

#middle {
  margin: 2em 1em;
  text-align: center;
  color: #42444a; }
  #middle a {
    font-weight: 700; }

#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: 0 auto 1em 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: 0;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    padding: 0;
    font-size: 1em;
    font-weight: 200;
    margin: 0;
    color: #42444a;
    text-decoration: none;
    text-align: center; }
  #lower .sessions a.session {
    display: grid; }
    #lower .sessions a.session.info {
      grid-template-columns: 1fr 1.3em;
      grid-template-rows: 1fr;
      padding: 1.3em 0 1.3em 1.3em;
      font-weight: 700;
      font-size: 1em;
      color: white;
      margin-block-start: 0;
      margin-block-end: 0;
      letter-spacing: .1em;
      text-transform: uppercase;
      margin: .8em 0 0 0;
      color: #484C54;
      background-color: #fff;
      border-bottom: 1px solid #aeb2ba; }
      #lower .sessions a.session.info .session-icon {
        justify-self: self-end; }
      #lower .sessions a.session.info:hover {
        color: #5d90c8; }
    #lower .sessions a.session:hover {
      color: #ed8b00; }

@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) {
  body.live #upper.live3up {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    grid-gap: 1em; }
  #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) {
  body #upper.live3up {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    grid-gap: 1em; }
  body #upper img.chair-welcome {
    width: 300px;
    height: 96.56652px;
    margin: 2em auto; }
  #lower {
    grid-template-columns: 1fr;
    grid-template-areas: "sess" "sup"; }
    #lower .sessions .session {
      grid-template-columns: 1fr;
      grid-template-rows: auto;
      grid-gap: .2em .05em;
      grid-template-areas: "session-title" "session-od" "session-spk"		 "session-livel"			 "session-live"; }
      #lower .sessions .session .session-od {
        padding: .5em 0; }
      #lower .sessions .session .session-spkl, #lower .sessions .session .session-odl {
        display: none; }
      #lower .sessions .session.session-2spk {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        grid-gap: .2em .05em;
        grid-template-areas: "session-title" "session-od" "session-spk"		 "session-livel"			 "session-live" "session-spk2"		 "session-livel2"			 "session-live2"; }
        #lower .sessions .session.session-2spk .session-spk2 {
          padding-top: 1.5em; }
        #lower .sessions .session.session-2spk .session-live2 {
          padding-top: 0; }
        #lower .sessions .session.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; } }
