/*! --------------------------- */
/*! Root CSS Less               */
/*! --------------------------- */
/*! Version: 0.6.2              */
/*! Author: MR0                 */
/*! Author URL: http://mr0.cl   */
/*! --------------------------- */
/*! MR0 © 2017 | MIT license    */
/*! --------------------------- */
/* CHANGELOG */
/*
V 0.6.0 | 2017.10.03
- Start Log
V 0.6.1 | 2017.10.10
- Deprecated large and small headlines
- Standard headline sizes
- Add Link Tint Variable
- Add Base Tint Variable
- Sort and stablish classes
V 0.6.2 | 2018.03.08
- Only html and body with font size
- Add display block to picture tag
- Add object-fit to img.cover
V 0.6.1 | 2018.04.21
- picture as inline-block
- add no-display
- hidden as visibility: hidden
*/
*,
:before,
:after {
  position: relative;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}
:focus {
  outline: none;
}
html {
  font-size: 10px;
  background: #FFF;
}
body {
  font: 400 1.4rem/1.4em Helvetica, Arial, sans-serif;
  color: #222;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  min-height: 100vh;
  width: 100vw;
}
body:before,
body:after {
  content: "";
  display: block;
  clear: both;
}
a {
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
video {
  display: block;
}
picture {
  display: inline-block;
}
strong,
b {
	font-weight: 400;
}
.uppercase {
  text-transform: uppercase;
}
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  margin: 2rem 0 0.67em;
  font-weight: 400;
  line-height: 1.2em;
  letter-spacing: 0.05em;
}
h1 b,
h2 b,
h3 b,
h4 b,
h5 b,
h6 b,
.h1 b,
.h2 b,
.h3 b,
.h4 b,
.h5 b,
.h6 b {
  font-weight: 600;
}
h1,
.h1 {
  font-size: 3rem;
}
h2,
.h2 {
  font-size: 2.5rem;
}
h3,
.h3 {
  font-size: 2.17rem;
}
h4,
.h4 {
  font-size: 2rem;
}
h5,
.h5 {
  font-size: 1.83rem;
}
h6,
.h6 {
  font-size: 1.67rem;
}
p {
  margin: 1rem 0 2rem;
  min-height: 1em;
}
a,
a:hover,
a:active {
  color: #2AD;
}
img {
  width: auto;
  height: auto;
}
blockquote,
dl,
figure,
table,
ul,
ol,
form {
  margin-bottom: 2rem;
}
textarea {
  min-height: 8rem;
  max-width: 100%;
}
input,
textarea {
  appearance: none;
}
input,
textarea,
select {
  height: 4rem;
  padding: .5rem 1rem;
  background: transparent;
  border: none;
  border-bottom: 1px solid #DDD;
  border-radius: 0;
  box-shadow: none;
  width: 100%;
  margin-bottom: 1.5rem;
  font-size: 1.4rem;
}
input:focus,
textarea:focus,
select:focus {
  border-bottom-color: #2AD;
}
input[type="checkbox"],
input[type="radio"] {
  height: 1.6rem;
  width: 2rem;
  vertical-align: middle;
}
input[type="submit"] {
  width: auto;
}
label,
legend {
  display: block;
  margin-bottom: 0.67rem;
  font-weight: 600;
  font-size: 1.4rem;
}
label {
  user-select: none;
}
label.checkbox,
label.radio {
  font-weight: 400;
}
label.checkbox input,
label.radio input {
  display: inline-block;
  margin-right: 0.67rem;
  width: auto;
  height: auto;
  vertical-align: top;
}
label.checkbox input + *,
label.radio input + * {
  vertical-align: top;
}
fieldset {
  padding: 0;
  border: none;
  margin-bottom: 2rem;
}
code {
  padding: .2rem .67rem;
  margin: 0 .2rem;
  white-space: nowrap;
  background: #F1F1F1;
}
pre {
  margin-bottom: 2rem;
}
pre > code {
  display: block;
  padding: 1rem 1.67rem;
  white-space: pre;
}
table {
  margin-bottom: 2rem;
  border-collapse: collapse;
  border-spacing: 0;
}
th,
td {
  padding: 1rem 1.67rem;
  text-align: left;
  border-bottom: 1px solid #EEE;
}
hr {
  display: block;
  border-top: 1px solid #EEE;
}
.light-list.full li {
  max-width: 80%;
  margin-left: 10%;
  margin-right: 10%;
}
.burger {
  width: 2em;
  height: 0;
  border-top: 0.16em solid #222;
  line-height: 0;
  color: transparent;
  text-indent: -9999px;
  display: block;
  transform: scale(0.999);
}
.burger:before,
.burger:after {
  content: "";
  display: block;
  height: 0.8em;
  transform: translateY(0) rotate(0deg) translateZ(0);
  transition: transform 0.3s;
}
.burger:before {
  border-top: 0.16em solid #222;
  margin-top: -0.88em;
}
.burger:after {
  border-bottom: 0.16em solid #222;
}
.burger.open {
  border-color: transparent;
}
.burger.open:before {
  transform: translateY(0.64em) rotate(45deg) translateZ(0);
}
.burger.open:after {
  transform: translateY(-0.64em) rotate(-45deg) translateZ(0);
}
.burger:hover,
.burger:active,
.burger:focus {
  text-indent: -9999px;
  color: transparent;
}
.button-outline,
button.outline,
.button,
button,
input[type="submit"] {
  display: inline-block;
  height: 4rem;
  padding: 0 2rem;
  line-height: 4rem;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
.button,
button,
input[type="submit"] {
  color: #FFF;
  background-color: #2AD;
  border: none;
}
.button:hover,
button:hover,
input[type="submit"]:hover,
.button:active,
button:active,
input[type="submit"]:active,
.button:focus,
button:focus,
input[type="submit"]:focus {
  color: #FFF;
  background-color: #1b88b1;
}
.button-outline,
button.outline,
input[type="submit"].outline {
  color: #555555;
  background-color: transparent;
  border: 1px solid #888888;
}
.button-outline:hover,
button.outline:hover,
input[type="submit"].outline:hover,
.button-outline:active,
button.outline:active,
input[type="submit"].outline:active,
.button-outline:focus,
button.outline:focus,
input[type="submit"].outline:focus {
  color: #222;
  border-color: #555555;
}
.fade {
  transition: opacity 0.3s;
  opacity: 0;
}
.fade.in {
  opacity: 1;
}
.fade.out {
  display: none;
}
.slideshow.slideshow-fade .slide {
  opacity: 0;
  transition: opacity 0.6s 0s;
  z-index: 0;
  transform: translateZ(0);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.slideshow.slideshow-fade .slide.current {
  position: relative;
  z-index: 10;
  opacity: 1;
}
.slideshow.slideshow-fade .slide.next,
.slideshow.slideshow-fade .slide.prev {
  z-index: 5;
  transition-delay: 0.6s;
}
.slideshow.slideshow-horz .slide {
  transition: left 0.6s 0s;
  z-index: 0;
  transform: translateZ(0);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.slideshow.slideshow-horz .slide.current {
  position: relative;
  z-index: 10;
  left: 0;
}
.slideshow.slideshow-horz .slide.prev {
  left: -100%;
  z-index: 5;
}
.slideshow.slideshow-horz .slide.next {
  left: 100%;
  z-index: 5;
}
.tabs .panel {
  display: none !important;
}
.tabs .panel.current {
  display: block !important;
}
.center {
  text-align: center;
}
.clipper {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  clip: rect(0, auto, auto, 0);
  overflow: hidden;
}
.clipper > * {
  transform: translateZ(0);
}
.contain {
  position: absolute;
  top: 50%;
  left: 50%;
  max-width: 100%;
  max-height: 100%;
  transform: translate(-50%, -50%);
}
.cover {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
}
img.cover {
  width: 0;
  height: 0;
  object-fit: cover;
}
.fixed {
  position: fixed;
}
.hidden {
  visibility: hidden;
}
.left {
  text-align: left;
}
.no-display {
  display: none;
}
.occult {
  width: 0;
  height: 0;
  color: transparent;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.right {
  text-align: right;
}
.round {
  border-radius: 50%;
  overflow: hidden;
}
.table {
  display: table;
  width: 100%;
}
.table.row {
  margin-left: 0;
  margin-right: 0;
}
.table.row > [class*="col-"] {
  float: none;
  display: table-cell;
}
.table > * {
  display: table-cell;
}
.margin {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.margin-xs {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.margin-sm {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.margin-md {
  margin-top: 3rem;
  margin-bottom: 3rem;
}
.margin-lg {
  margin-top: 4rem;
  margin-bottom: 4rem;
}
.margin-lg {
  margin-top: 6rem;
  margin-bottom: 6rem;
}
.container,
.container-xl,
.container-lg,
.container-md,
.container-no,
.container-sm,
.container-xs {
  margin-left: auto;
  margin-right: auto;
  padding: 0 2rem;
  width: 100%;
  display: block;
}
.container.pad-no,
.container-xl.pad-no,
.container-lg.pad-no,
.container-md.pad-no,
.container-no.pad-no,
.container-sm.pad-no,
.container-xs.pad-no {
  padding-left: 0;
  padding-right: 0;
}
.container.pad-xs,
.container-xl.pad-xs,
.container-lg.pad-xs,
.container-md.pad-xs,
.container-no.pad-xs,
.container-sm.pad-xs,
.container-xs.pad-xs {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}
.container.pad-sm,
.container-xl.pad-sm,
.container-lg.pad-sm,
.container-md.pad-sm,
.container-no.pad-sm,
.container-sm.pad-sm,
.container-xs.pad-sm {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.container.pad-md,
.container-xl.pad-md,
.container-lg.pad-md,
.container-md.pad-md,
.container-no.pad-md,
.container-sm.pad-md,
.container-xs.pad-md {
  margin-left: 1rem;
  margin-right: 1rem;
}
.container.pad-lg,
.container-xl.pad-lg,
.container-lg.pad-lg,
.container-md.pad-lg,
.container-no.pad-lg,
.container-sm.pad-lg,
.container-xs.pad-lg {
  margin-left: 4rem;
  margin-right: 4rem;
}
.container.pad-xl,
.container-xl.pad-xl,
.container-lg.pad-xl,
.container-md.pad-xl,
.container-no.pad-xl,
.container-sm.pad-xl,
.container-xs.pad-xl {
  margin-left: 8rem;
  margin-right: 8rem;
}
.container-xl {
  max-width: 1800px;
}
.container-lg {
  max-width: 1500px;
}
.container {
  max-width: 1200px;
}
.container-md {
  max-width: 900px;
}
.container-sm {
  max-width: 600px;
}
.container-xs {
  max-width: 300px;
}
.btn {
	display: inline-block;
	width: auto;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 3em;
	font-family: inherit;
	font-size: 120%;
    padding: 1.5rem 2.5rem;
    height: auto;
    line-height: 1.3;
	color: #fff;
	background: #000;
	border: 1px solid #000;
	text-decoration: none;
}
.btn:hover,
.btn:focus {
	background: #f0f0f0;
	color: #000;
}
@media (min-width: 600px) {
  .mobi-show {
    display: none !important;
  }
  .tblt-center {
    text-align: center;
  }
  .tblt-clipper {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    clip: rect(0, auto, auto, 0);
    overflow: hidden;
  }
  .tblt-clipper > * {
    transform: translateZ(0);
  }
  .tblt-contain {
    position: absolute;
    top: 50%;
    left: 50%;
    max-width: 100%;
    max-height: 100%;
    transform: translate(-50%, -50%);
  }
  .tblt-cover {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    transform: translate(-50%, -50%);
  }
  .tblt-fixed {
    position: fixed;
  }
  .tblt-hidden {
    display: none;
  }
  .tblt-left {
    text-align: left;
  }
  .tblt-occult {
    width: 0;
    height: 0;
    color: transparent;
    overflow: hidden;
    display: block;
    margin: 0;
    padding: 0;
  }
  .tblt-right {
    text-align: right;
  }
  .tblt-round {
    border-radius: 50%;
    overflow: hidden;
  }
  .tblt-table {
    display: table;
    width: 100%;
  }
  .tblt-table.row {
    margin-left: 0;
    margin-right: 0;
  }
  .tblt-table.row > [class*="col-"] {
    float: none;
    display: table-cell;
  }
  .tblt-table > * {
    display: table-cell;
  }
}
@media (min-width: 900px) {
  .mobi-show {
    display: none !important;
  }
  .desk-center {
    text-align: center;
  }
  .desk-clipper {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    clip: rect(0, auto, auto, 0);
    overflow: hidden;
  }
  .desk-clipper > * {
    transform: translateZ(0);
  }
  .desk-contain {
    position: absolute;
    top: 50%;
    left: 50%;
    max-width: 100%;
    max-height: 100%;
    transform: translate(-50%, -50%);
  }
  .desk-cover {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    transform: translate(-50%, -50%);
  }
  .desk-fixed {
    position: fixed;
  }
  .desk-hidden {
    display: none;
  }
  .desk-left {
    text-align: left;
  }
  .desk-occult {
    width: 0;
    height: 0;
    color: transparent;
    overflow: hidden;
    display: block;
    margin: 0;
    padding: 0;
  }
  .desk-right {
    text-align: right;
  }
  .desk-round {
    border-radius: 50%;
    overflow: hidden;
  }
  .desk-table {
    display: table;
    width: 100%;
  }
  .desk-table.row {
    margin-left: 0;
    margin-right: 0;
  }
  .desk-table.row > [class*="col-"] {
    float: none;
    display: table-cell;
  }
  .desk-table > * {
    display: table-cell;
  }
}
@media (max-width: 599px) {
  .mobi-hidden {
    display: none !important;
  }
  .tblt-show {
    display: none !important;
  }
  .desk-show {
    display: none !important;
  }
}
@media (max-width: 899px) {
  .desk-show {
    display: none !important;
  }
}
/*! --------------------------- */
/*! End Root CSS Less           */
/*! --------------------------- */
@font-face {
  font-family: 'twc-icons';
  src:
    url('fonts/twc-icons.ttf?eqvuzv') format('truetype'),
    url('fonts/twc-icons.woff?eqvuzv') format('woff'),
    url('fonts/twc-icons.svg?eqvuzv#twc-icons') format('svg');
  font-weight: normal;
  font-style: normal;
}
body:before {
  content: "";
  position: fixed;
  top: -1px;
  left: 0;
  right: 0;
  display: block;
  border-top: 1px solid #000;
  transform: translateZ(0);
}
body.home .section-title {
  border-bottom: none;
}
p:first-child {
  margin-top: 0;
}
p:last-child {
  margin-bottom: 0;
}
main {
  font-size: 18px;
  line-height: 1.3em;
}
main section {
  z-index: 0;
}
main a {
  color: #000;
}
main a:hover {
  color: #4ED2E2;
}
main,
footer {
  z-index: 80;
}
img.load-full-img {
  filter: blur(5px);
  transform: scale(1.02) translateZ(0);
  transition: transform 0.2s, filter 0.2s;
}
img.load-full-img.cover {
  transform: scale(1.02) translate(-49%, -49%) translateZ(0);
}
img.load-full-img.load-full-img-complete {
  filter: blur(0);
  transform: scale(1) translateZ(0);
}
img.load-full-img.load-full-img-complete.cover {
  transform: scale(1) translate(-50%, -50%) translateZ(0);
}
section {
  margin: 6rem 0;
  font-weight: 300;
}
section b {
  font-weight: 400;
}
section + section {
  border-top: 1px solid #000;
}
section + section.no-line {
  border-top: none;
}

/*
section + section.speakers .section-title:first-child {
  margin-top: -3rem;
}
*/
section.first-screen + section {
  border-top: none;
}
.big-call + section {
  margin-top: 0;
}
.big-call + .sponsors {
  border-top: 0;
}
h1.occult + section {
  margin-top: 0;
}
svg.borders {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
  padding-bottom: 100%;
  z-index: 0;
  transform: translateZ(0);
}
svg.borders rect {
  fill: none;
  stroke: #000;
  stroke-width: 6.5rem;
  stroke-dasharray: 100% 300%;
  stroke-dashoffset: 70%;
}
svg.borders.no-pad {
  padding-bottom: 0;
  height: auto;
}
svg.strips line {
  stroke: #000;
  stroke-width: 2px;
}
.strips {
  background: url('media/strips-r.svg') repeat center;
  background-size: 30px auto;
}
svg.strips-small line {
  stroke: #000;
  stroke-width: 1px;
}
.strips-small {
  background: url('media/strips-small-l.svg') repeat center;
  background-size: 18px auto;
}
body.in-mobile-menu {
  position: fixed;
}
.section-title {
  text-align: center;
  padding: 3rem 2rem;
  border-bottom: 1px solid #000;
  font-size: 28px;
  letter-spacing: 0.2em;
  margin: 0 0 5rem;
  text-transform: uppercase;
}
.section-title small {
  display: block;
  letter-spacing: 0.075em;
  font-size: 60%;
  font-weight: 300;
}

.subsection-title {
  text-align: center;
  padding: 3rem 0;
  font-size: 21px;
  letter-spacing: 0.1em;
  margin: 6rem auto 2rem;
  text-transform: uppercase;
  max-width: calc(600px - 4rem);
}

.section-title.no-line {
  border-bottom: none;
}
.detail {
  font-size: 80%;
  color: #000;
}
.footnote {
  font-size: 80%;
  color: #000;
}
.footnote:before {
  content: "";
  display: block;
  border-top: 1px solid #000;
  max-width: 100px;
  margin: 0 0 1rem;
}
section.speaker .speaker-keynote p.footnote {
  font-size: 90%;
}
header.main {
  border-bottom: 1px solid #000;
  background: #FFF;
  z-index: 100;
  overflow: hidden;
}
header.main .container {
  display: flex;
  align-content: stretch;
}
header.main .container > * {
  margin: 0;
  flex: 1 1 0;
  padding: 1rem 3rem;
  border-right: 1px solid #000;
}
header.main .container .logo {
  padding-right: 15%;
  min-width: 50%;
}
header.main .container .logo img {
  width: 340px;
  display: block;
  margin-left: -2rem;
  top: 50%;
  transform: translateY(-50%);
}
@media (max-width: 900px) {
  header.main .container .logo img {
    width: 80%;
  }
}
@media (max-width: 600px) {
  header.main .container .logo img {
    width: 100%;
  }
}
@media (max-width: 900px) {
  header.main .container .logo {
    padding-right: 0;
    min-width: 33%;
  }
}
@media (max-width: 600px) {
  header.main .container .logo {
    border-right: none;
    max-width: 60%;
  }
}
header.main .container .h2 {
  flex: 1 1 100%;
  text-align: center;
  font-style: normal;
}
header.main .container .h2 span {
  top: 50%;
  display: block;
  transform: translateY(-50%);
}
header.main .container em.h2 {
  font-size: 21px;
}
header.main .container .strips-small {
  height: 150px;
  min-width: calc(50vw - 600px);
  margin-right: calc(578px - 50vw);
  padding: 0;
}
header.main .container .strips-small g {
  transform: rotateY(180deg) translateX(-100%);
}
@media (max-width: 900px) {
  header.main .container .strips-small {
    height: 100px;
  }
}
@media (max-width: 1200px) {
  header.main .container .strips-small {
    left: 0;
    padding: 0;
    min-width: 2rem;
    margin-right: -2.1rem;
  }
}
header.main .burger {
  position: absolute;
  top: 50%;
  right: 3rem;
  font-size: 18px;
}
nav.main {
  border-bottom: 1px solid #000;
  z-index: 10;
  font-size: 14px;
  background: #FFF;
}
nav.main .container {
  display: flex;
  align-content: stretch;
  margin: 0 auto;
  padding: 0 calc(2rem + 1px);
}
nav.main .container > li {
  margin: 0;
  flex: 1 1 0;
  display: block;
  z-index: 10;
  border-right: 1px solid #000;
}
nav.main .container > li:first-child {
  border-left: 1px solid #000;
}
nav.main .container > li:nth-child(3n + 1) a:hover,
nav.main .container > li:nth-child(3n + 1) a:focus{
  background: #4ED2E2;
}
nav.main .container > li:nth-child(3n + 2) a:hover,
nav.main .container > li:nth-child(3n + 2) a:focus{
  background: #FC5C65;
}
nav.main .container > li:nth-child(3n + 3) a:hover,
nav.main .container > li:nth-child(3n + 3) a:focus{
  background: #FED850;
}

nav.main .container > li.fix-tint:nth-child(3n + 1) a,
nav.main .container > li.fix-tint:nth-child(3n + 1) span {
  background: #4ED2E2;
}
nav.main .container > li.fix-tint:nth-child(3n + 2) a,
nav.main .container > li.fix-tint:nth-child(3n + 2) span {
  background: #FC5C65;
}
nav.main .container > li.fix-tint:nth-child(3n + 3) a,
nav.main .container > li.fix-tint:nth-child(3n + 3) span {
  background: #FED850;
}
nav.main .container > li.fix-tint:nth-child(3n + 1) a:hover,
nav.main .container > li.fix-tint:nth-child(3n + 1) span:hover,
nav.main .container > li.fix-tint:nth-child(3n + 2) a:hover,
nav.main .container > li.fix-tint:nth-child(3n + 2) span:hover,
nav.main .container > li.fix-tint:nth-child(3n + 3) a:hover,
nav.main .container > li.fix-tint:nth-child(3n + 3) span:hover {
  background: #000;
  color: #FFF;
}

nav.main .container > li:nth-child(3n + 1) span:hover,
nav.main .container > li:nth-child(3n + 1) span:focus{
  background: #4ED2E2;
}
nav.main .container > li:nth-child(3n + 2) span:hover,
nav.main .container > li:nth-child(3n + 2) span:focus{
  background: #FC5C65;
}
nav.main .container > li:nth-child(3n + 3) span:hover,
nav.main .container > li:nth-child(3n + 3) span:focus{
  background: #FED850;
}
nav.main .container > li.submenu:nth-child(3n + 1) > ul {
  background: #4ED2E2;
}
nav.main .container > li.submenu:nth-child(3n + 2) > ul {
  background: #FC5C65;
}
nav.main .container > li.submenu:nth-child(3n + 3) > ul {
  background: #FED850;
}
nav.main .container > li.submenu:hover > ul,
nav.main .container > li.submenu:active > ul,
nav.main .container > li.submenu:focus > ul,
nav.main .container > li.submenu > span:hover + ul{
  display: block;
}
@media (max-width: 900px) {
  nav.main .container {
    padding: 0;
  }
}
nav.main a,
nav.main span {
  display: block;
  padding: 1rem;
  text-transform: uppercase;
  text-decoration: none;
  color: #000;
  cursor: pointer;
  user-select: none;
}
nav.main li.submenu:after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  top: 50%;
  right: 2rem;
  border: 4px solid transparent;
  border-top: 6px solid #000;
  margin: -2px;
}
nav.main .submenu ul {
  border: 1px solid #000;
  display: none;
  position: absolute;
  top: 100%;
  left: -1px;
  width: calc(100% + 2px);
  z-index: 0;
}
nav.main .submenu ul li {
  display: block;
}
nav.main .submenu ul li:hover {
  background-color: #000;
}
nav.main .submenu ul li:hover a {
  color: #FFF;
}
nav.main .container > .submenu ul li a:hover {
  color: #FFF;
  background-color: #000;
}
#mobi-menu {
  position: fixed;
  top: 0;
  left: 0;
  padding: 60px 0 4rem;
  background: #FFF;
  height: 100vh;
  width: 100vw;
  transform: translateX(-100vw);
  transition: transform 0.3s;
  z-index: 90;
  overflow: auto;
}
#mobi-menu ul.container {
  padding: 4rem 2rem;
  margin: 0;
  margin-top: 10px;
  margin-bottom: 4rem;
}
#mobi-menu ul.container li {
  display: block;
}
#mobi-menu ul.container a,
#mobi-menu ul.container span {
  display: block;
  color: #000;
  text-decoration: none;
  padding: 1.5rem 2rem;
  font-size: 18px;
  text-align: left;
  text-transform: uppercase;
}
#mobi-menu ul.container span {
  color: #AAA;
}
#mobi-menu ul.container li ul {
  margin-left: 2rem;
}
#mobi-menu ul.container li ul a,
#mobi-menu ul.container li ul span {
  font-size: 14px;
}
#mobi-menu ul.container li:nth-child(3n + 1) > a:active,
#mobi-menu ul.container li.fix-tint:nth-child(3n + 1) > a {
  background-color: #4ED2E2;
}
#mobi-menu ul.container li:nth-child(3n + 2) > a:active,
#mobi-menu ul.container li.fix-tint:nth-child(3n + 2) > a {
  background-color: #FC5C65;
}
#mobi-menu ul.container li:nth-child(3n + 3) > a:active,
#mobi-menu ul.container li.fix-tint:nth-child(3n + 3) > a {
  background-color: #FED850;
}
#mobi-menu.open {
  transform: translateX(0);
}
nav.social a {
  color: transparent;
  font-size: 0;
  line-height: 0;
  display: inline-block;
}
nav.social a:before {
  font-family: 'twc-icons';
  display: block;
  line-height: 1em;
}
nav.social a[href*="facebook"]:before {
  content: '\f09a';
}
nav.social a[href*="twitter"]:before {
  content: '\f099';
}
nav.social a[href*="instagram"]:before {
  content: '\f16d';
}
nav.social a[href*="linkedin"]:before {
  content: '\f0e1';
}
nav.social a:nth-child(3n + 1):hover:before {
  color: #4ED2E2;
}
nav.social a:nth-child(3n + 2):hover:before {
  color: #FC5C65;
}
nav.social a:nth-child(3n + 3):hover:before {
  color: #FED850;
}
section.container,
section.container-md {
  margin: 5rem auto;
}
.blocks {
  display: flex;
  align-items: stretch;
  justify-content: center;
  flex-wrap: wrap;
}
.blocks > * {
  display: block;
  flex: 0 0 33%;
  color: #000;
  font-size: 18px;
  text-decoration: none;
}
.blocks a:hover {
  color: #000;
}
.blocks.small-blocks > * {
  flex: 0 0 25%;
}
.blocks picture {
  display: block;
}
.blocks picture img {
  outline: none;
  width: 100%;
  height: auto;
  display: block;
}
.blocks picture img.cover {
  outline: none;
  width: 0;
  height: 0;
  display: block;
}
.blocks .name {
  padding-right: 3rem;
  letter-spacing: 0.05em;
  line-height: 1.2em;
  font-size: 21px;
  font-weight: 400;
  display: block;
}
.blocks .name.center {
  padding-left: 3rem;
}
@media (max-width: 600px) {
  .blocks {
    display: block;
  }
}
.first-screen {
  height: 60vh;
  max-height: 480px;
  display: flex;
  align-items: center;
  margin: 0;
}
.first-screen h1,
.first-screen h2,
.first-screen h3,
.first-screen p {
  border: 1px solid #000;
  background: #FFF;
  padding: 0.5rem 2.5rem;
  margin: 0 0 -1px;
  display: inline-block;
}
.first-screen h1 em,
.first-screen h2 em,
.first-screen h3 em,
.first-screen p em {
  font-size: 150%;
  font-style: normal;
}
.first-screen h1 .filled,
.first-screen h2 .filled,
.first-screen h3 .filled,
.first-screen p .filled {
  background: #000;
  display: block;
  margin: -0.8rem -2.5rem;
  padding: 1.5rem 2.5rem 1.7rem;
  color: #FFF;
}
.first-screen h1 .big,
.first-screen h2 .big,
.first-screen h3 .big,
.first-screen p .big {
  font-size: 200%;
}
@media (max-width: 600px) {
  .first-screen h1 .big,
  .first-screen h2 .big,
  .first-screen h3 .big,
  .first-screen p .big {
    font-size: 120%;
  }
}
.first-screen h1.tint-1 .filled,
.first-screen h2.tint-1 .filled,
.first-screen h3.tint-1 .filled,
.first-screen p.tint-1 .filled {
  background: #4ED2E2;
  color: #000;
  border-bottom: 1px solid #000;
}
.first-screen h1.tint-2 .filled,
.first-screen h2.tint-2 .filled,
.first-screen h3.tint-2 .filled,
.first-screen p.tint-2 .filled {
  background: #FC5C65;
  color: #000;
  border-bottom: 1px solid #000;
}
.first-screen h1.tint-3 .filled,
.first-screen h2.tint-3 .filled,
.first-screen h3.tint-3 .filled,
.first-screen p.tint-3 .filled {
  background: #FED850;
  color: #000;
  border-bottom: 1px solid #000;
}
@media (max-width: 600px) {
  .first-screen h1,
  .first-screen h2,
  .first-screen h3,
  .first-screen p {
    display: block;
    margin-top: -1px;
  }
}
.first-screen h1 {
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 52px;
  border-left: 9px solid #000;
  font-weight: 300;
}
@media (max-width: 600px) {
  .first-screen h1 {
    font-size: 30px;
    padding: 0.5rem 1rem;
  }
}
.first-screen h2 {
  margin-left: 8px;
  padding-left: 7.3rem;
}
.first-screen h3,
.first-screen .downloader {
  font-size: 24px;
  line-height: 1.4em;
  padding-top: 0.8rem;
  padding-bottom: 1rem;
  padding-left: 7.3rem;
  margin-left: calc(8px + 2em);
}
.first-screen h3.tint-1,
.first-screen .downloader.tint-1 {
  background-color: #4ED2E2;
}
.first-screen h3.tint-2,
.first-screen .downloader.tint-2 {
  background-color: #FC5C65;
}
.first-screen h3.tint-3,
.first-screen .downloader.tint-3 {
  background-color: #FED850;
}
@media (max-width: 600px) {
  .first-screen h3,
  .first-screen .downloader {
    margin-left: 8px;
  }
}
.first-screen picture {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 0;
}
.first-screen .date {
  border: 1px solid #000;
  padding: 0.75rem 1rem;
  display: inline-block;
  font-style: normal;
  background: #FFF;
  margin-bottom: -1px;
  font-size: 18px;
  line-height: 1.2em;
}
.first-screen .title-rise {
  border: 1px solid #000;
  padding: 1.3rem 1.5rem;
  display: inline-block;
  font-style: normal;
  background: #FFF;
  margin-bottom: -1px;
  font-size: 21px;
  font-weight: 400;
  line-height: 1.2em;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.first-screen .date.tint-1 {
  background: #4ED2E2;
}
.first-screen .date.tint-2 {
  background: #FC5C65;
}
.first-screen .date.tint-3 {
  background: #FED850;
}
.first-screen .date span {
  display: block;
}
@media (max-width: 600px) {
  .first-screen .date span {
    display: inline-block;
    font-size: 21px;
  }
}
@media (max-width: 600px) {
  .first-screen .date .month:after {
    content: ". ";
  }
}
.first-screen .date .days {
  margin: 1.1em 0 0 0.5em;
  line-height: 1em;
  font-size: 32px;
}
@media (max-width: 600px) {
  .first-screen .date .days {
    margin: 0;
    font-size: 21px;
  }
}
.first-screen .strips-small {
  position: absolute;
  top: 0;
  left: 0;
  width: 2.2em;
  height: 100%;
  border-right: 1px solid #000;
  background-color: #FFF;
}
.first-screen .strips-small g {
  transform: rotateY(180deg) translateX(-100%);
}
.first-screen .container,
.first-screen .container-md {
  top: 15%;
  padding: 1rem 2rem;
  z-index: 10;
}
@media (max-width: 900px) {
  .first-screen .container,
  .first-screen .container-md {
    left: -4px;
    top: 2px;
    margin-top: 30vh;
    transform: translateY(0);
    padding: 0 1.5rem;
  }
}
@media (max-width: 600px) {
  .first-screen .container,
  .first-screen .container-md {
    top: 0;
  }
}
.first-screen .cover {
  z-index: 0;
}
@media (max-width: 900px) {
  .first-screen {
    margin-bottom: 4rem;
    min-height: 0;
    padding: 10px 0;
    height: auto;
    max-height: none;
  }
  .first-screen picture {
    max-height: 50vh;
  }
}
@media (max-width: 600px) {
  .first-screen {
    padding: 35px 0;
  }
}
@media (max-width: 600px) {
  .first-screen h1 + br {
    display: none;
  }
}
@media (max-width: 600px) {
  .first-screen + .big-call {
    top: 1px;
  }
}
.first-screen .call {
  position: absolute;
  top: -50%;
  right: 2rem;
  padding: 0;
  margin-left: 8px;
}
.first-screen .call.small a {
  font-size: 14px;
  max-width: 280px;
  line-height: 1.4em;
  letter-spacing: 0.1em;
}
.first-screen .call + .call {
  margin-top: 75px;
}
@media (max-width: 600px) {
  .first-screen .call {
    position: relative;
    right: 0;
    top: 0;
    margin-top: 2rem;
  }
  .first-screen .call + .call {
    margin-top: 2rem;
  }
}
.first-screen .call a {
  display: block;
  text-decoration: none;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  padding: 1.5rem 2rem 1.5rem 6rem;
}
.first-screen .call a:hover {
  background: #000;
  color: #FFF;
}
.first-screen .call .strips-small {
  z-index: 10;
}
.first-screen .call.tint-1 {
  background-color: #4ED2E2;
}
.first-screen .call.tint-2 {
  background-color: #FC5C65;
}
.first-screen .call.tint-3 {
  background-color: #FED850;
}
.big-call {
  text-transform: uppercase;
  color: #FFF;
  background: #000;
  padding: 3rem;
  text-align: center;
  margin: 0;
  font-size: 28px;
  letter-spacing: 0.3em;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
}
.big-call.tint-1,
.big-call.tint-2,
.big-call.tint-3 {
  color: #000;
}
.big-call.tint-1 a,
.big-call.tint-2 a,
.big-call.tint-3 a {
  color: #000;
}
.big-call.tint-1 {
  background: #4ED2E2;
}
.big-call.tint-2 {
  background: #FC5C65;
}
.big-call.tint-3 {
  background: #FED850;
}
.big-call a {
  color: #FFF;
  text-decoration: none;
  display: block;
  padding: 3rem;
  margin: -3rem;
}
@media (max-width: 600px) {
  .big-call a {
    padding: 2rem;
    margin: -2rem;
  }
}
@media (max-width: 600px) {
  .big-call {
    font-size: 21px;
    padding: 2rem;
  }
}
.speaker .speakers {
  margin-top: 6rem;
  padding: 0;
}
.speakers .blocks {
  margin: 0 -0.5rem;
}
@media (max-width: 600px) {
  .speakers .blocks {
    margin: 0;
  }
}
.speakers .blocks.small-blocks {
  margin: 0;
}
.speakers .blocks.small-blocks > * {
  flex: 0 0 calc(25% - 1rem);
}
@media (max-width: 900px) {
  .speakers .blocks.small-blocks > * {
    flex: 0 0 calc(33.333% - 1rem);
  }
}
.speakers .blocks > *,
.speakers .blocks .slide {
  padding: 0 3rem 1rem;
  margin: 0 1rem 2rem;
  flex: 0 0 calc(33% - 2rem);
  background: #FFF;
  border: 1px solid #000;
}
@media (max-width: 900px) {
  .speakers .blocks > *,
  .speakers .blocks .slide {
    padding: 0 2rem 1rem;
  }
}
.speakers .blocks > *:nth-child(3n + 1) rect,
.speakers .blocks .slide:nth-child(3n + 1) rect {
  stroke-dashoffset: 70%;
}
.speakers .blocks > *:nth-child(3n + 2) rect,
.speakers .blocks .slide:nth-child(3n + 2) rect {
  stroke-dashoffset: 340%;
}
.speakers .blocks > *:nth-child(3n + 3) rect,
.speakers .blocks .slide:nth-child(3n + 3) rect {
  stroke-dashoffset: 480%;
}
.speakers .blocks > *:nth-child(6n + 4) rect,
.speakers .blocks .slide:nth-child(6n + 4) rect {
  stroke-dashoffset: 240%;
}
.speakers .blocks > *:nth-child(6n + 5) rect,
.speakers .blocks .slide:nth-child(6n + 5) rect {
  stroke-dashoffset: 490%;
}
.speakers .blocks > *:nth-child(6n + 6) rect,
.speakers .blocks .slide:nth-child(6n + 6) rect {
  stroke-dashoffset: 350%;
}
.speakers .blocks > *:nth-child(3n + 1) a:hover rect,
.speakers .blocks .slide:hover:nth-child(3n + 1) rect {
  stroke-dashoffset: 170%;
}
.speakers .blocks > *:nth-child(3n + 2) a:hover rect,
.speakers .blocks .slide:hover:nth-child(3n + 2) rect {
  stroke-dashoffset: 440%;
}
.speakers .blocks > *:nth-child(3n + 3) a:hover rect,
.speakers .blocks .slide:hover:nth-child(3n + 3) rect {
  stroke-dashoffset: 580%;
}
.speakers .blocks > *:nth-child(6n + 4) a:hover rect,
.speakers .blocks .slide:hover:nth-child(6n + 4) rect {
  stroke-dashoffset: 340%;
}
.speakers .blocks > *:nth-child(6n + 5) a:hover rect,
.speakers .blocks .slide:hover:nth-child(6n + 5) rect {
  stroke-dashoffset: 590%;
}
.speakers .blocks > *:nth-child(6n + 6) a:hover rect,
.speakers .blocks .slide:hover:nth-child(6n + 6) rect {
  stroke-dashoffset: 450%;
}


.speakers .blocks > a:hover:nth-child(3n + 1) rect,
.speakers .blocks .slide:hover:nth-child(3n + 1) rect {
  stroke-dashoffset: 170%;
}
.speakers .blocks > a:hover:nth-child(3n + 2) rect,
.speakers .blocks .slide:hover:nth-child(3n + 2) rect {
  stroke-dashoffset: 440%;
}
.speakers .blocks > a:hover:nth-child(3n + 3) rect,
.speakers .blocks .slide:hover:nth-child(3n + 3) rect {
  stroke-dashoffset: 580%;
}
.speakers .blocks > a:hover:nth-child(6n + 4) rect,
.speakers .blocks .slide:hover:nth-child(6n + 4) rect {
  stroke-dashoffset: 340%;
}
.speakers .blocks > a:hover:nth-child(6n + 5) rect,
.speakers .blocks .slide:hover:nth-child(6n + 5) rect {
  stroke-dashoffset: 590%;
}
.speakers .blocks > a:hover:nth-child(6n + 6) rect,
.speakers .blocks .slide:hover:nth-child(6n + 6) rect {
  stroke-dashoffset: 450%;
}
.speakers .blocks > *.tint-1 rect,
.speakers .blocks .slide.tint-1 rect {
  stroke: #4ED2E2;
}
.speakers .blocks > *.tint-2 rect,
.speakers .blocks .slide.tint-2 rect {
  stroke: #FC5C65;
}
.speakers .blocks > *.tint-3 rect,
.speakers .blocks .slide.tint-3 rect {
  stroke: #FED850;
}
.speakers .blocks > * rect,
.speakers .blocks .slide rect {
  transition: stroke-dashoffset 0.4s;
}
.speakers .blocks > *:hover .more:after,
.speakers .blocks .slide:hover .more:after,
.speakers .blocks > *:hover .more:before,
.speakers .blocks .slide:hover .more:before {
  border-top-color: #000;
}
.speakers .blocks > *:hover.tint-1 .more,
.speakers .blocks .slide:hover.tint-1 .more {
  background: #4ED2E2;
}
.speakers .blocks > *:hover.tint-2 .more,
.speakers .blocks .slide:hover.tint-2 .more {
  background: #FC5C65;
}
.speakers .blocks > *:hover.tint-3 .more,
.speakers .blocks .slide:hover.tint-3 .more {
  background: #FED850;
}
@media (max-width: 600px) {
  .speakers .blocks > *,
  .speakers .blocks .slide {
    margin: 3rem 0;
  }
}
.speakers .blocks > .profile-block-track,
.speakers .blocks > .profile-block {
  padding: 0;
  border: none;
}
.speakers .blocks > .profile-block-track > a,
.speakers .blocks > .profile-block > a {
  display: block;
  padding: 3rem 3rem 0;
  border: 1px solid #000;
  text-decoration: none;
}
@media (max-width: 900px) {
  .speakers .blocks > .profile-block-track > a
  .speakers .blocks > .profile-block > a {
    padding: 2rem 2rem 0;
  }
  .speakers.full .name {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
.speakers .blocks > .profile-block-track > a > picture,
.speakers .blocks > .profile-block > a > picture {
  margin-top: 0;
}
.speakers .blocks > .profile-block-track > a > .name,
.speakers .blocks > .profile-block > a > .name {
  margin-bottom: 2rem;
}
.speakers .blocks picture {
  margin: 3rem 0 0;
  border: 1px solid #000;
  overflow: hidden;
  z-index: 10;
}
.speakers .blocks picture img {
  width: 100%;
  margin: 0;
}
.speakers .blocks picture img.load-full-img-complete {
  transform: scale(1.02) translateZ(0);
}
.speakers .name {
  display: block;
  min-height: 5rem;
  overflow: hidden;
  margin: 0 0 0.5rem;
}
@media (max-width: 900px) {
  .speakers .blocks picture {
    margin-top: 2rem;
  }
  .speakers .name {
    font-size: 18px;
    min-height: 4rem;
  }
}
.speakers picture + .name {
  padding: 2rem 6rem 0 3rem;
  border-top: 1px solid #000;
  margin: 3rem -3rem 0.5rem;
}
@media (max-width: 900px) {
  .speakers picture + .name {
    margin: 2rem -2rem 0.5rem;
  }
}
.speakers .more {
  position: absolute;
  background: #000;
  height: 4rem;
  width: 4rem;
  border: 1px solid #000;
  bottom: 3rem;
  right: 3rem;
}
.speakers .more:before,
.speakers .more:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 66%;
  border-top: 1px solid #FFF;
  transform: translate(-50%, -50%);
}
.speakers .more:after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.speakers .slideshow {
  margin: 0 -2rem;
  padding: 0 2rem;
  overflow: hidden;
}
.speakers .slideshow .slides {
  height: 0;
  margin: 0;
  padding: 0;
  border: none;
}
.speakers .slideshow.in-swipe .slide {
  transition: none;
}
.speakers .slideshow .slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  transition: opacity 0.3s, transform 0.3s;
  background: #FFF;
  padding: 0 3rem 1rem;
  margin: 0;
  display: block;
  border: 1px solid #000;
  text-decoration: none;
}
.speakers .slideshow .slide.current {
  opacity: 1;
}
.speakers .slideshow .slide .more:after,
.speakers .slideshow .slide .more:before {
  border-top: 1px solid #FFF;
}
.speakers .slideshow .slideshow-pagination {
  text-align: center;
  padding: 1rem 0 0;
  border: none;
}
.speakers .slideshow .slideshow-pagination a {
  display: inline-block;
  padding: 0;
  margin: 1rem;
  color: transparent;
  border: 1px solid #000;
  width: 15px;
  height: 15px;
  overflow: hidden;
  border-radius: 100%;
}
.speakers .slideshow .slideshow-pagination a.current {
  border-color: #FC5C65;
  background: #FC5C65;
}
.speakers .blocks a {
  text-decoration: none;
}
.speakers.full .blocks > * {
  padding-bottom: 2rem;
}
.speakers.full .blocks > *:hover .more {
  background: #000;
}
.speakers.full .blocks > *:hover .more:after,
.speakers.full .blocks > *:hover .more:before {
  border-top-color: #FFF;
}
.speakers.full .blocks > .profile-block-track {
  padding-bottom: 0;
}
.speakers.full .name {
  height: auto;
  padding-right: 9rem;
}
@media (max-width: 900px) {
  .speakers.full .name {
    padding-right: 2rem;
  }
}
.speakers.full .name + a {
  display: block;
  color: #000;
  font-size: 80%;
  text-decoration: none;
  border-top: 1px solid #000;
  padding: 1rem 3rem;
  margin: 2rem -3rem 0;
}
.speakers.full .name + a:hover {
  text-decoration: underline;
}
.speakers.full .name + a:after {
  content: "";
  display: block;
  clear: both;
}
.speakers.full .name + a .more {
  margin: -2rem 0 0;
  top: 0;
  bottom: unset;
}
.speakers.full .blocks > * .name + a:hover .more:after,
.speakers.full .blocks > * .name + a:hover .more:before {
  border-top-color: #000;
}
.speakers.full .blocks > .tint-1 .name + a:hover .more {
  background: #4ED2E2;
}
.speakers.full .blocks > .tint-2 .name + a:hover .more {
  background: #FC5C65;
}
.speakers.full .blocks > .tint-3 .name + a:hover .more {
  background: #FED850;
}
.speakers.full .sessions {
  margin: 0;
  border-top: 1px solid #000;
  margin: 0 -3rem -2rem;
  padding: 1rem 0 1.25rem 6rem;
}
.speakers.full .sessions li {
  display: block;
  margin: 0;
  padding: 0.25rem 2rem;
}
.speakers.full .sessions a {
  color: #000;
  font-size: 80%;
  text-decoration: none;
  line-height: 1.3em;
  display: block;
}
.speakers.full .sessions a:hover {
  text-decoration: underline;
}
.speakers.full .sessions .strips-small {
  position: absolute;
  top: 0;
  left: 0;
  width: 5rem;
  height: 100%;
  border-right: 1px solid #000;
}
.speakers.full .profile-block-track .sessions {
  margin: 0.5rem 0 0;
  padding: 0;
  border: 1px solid #000;
  border-bottom: none;
}
.speakers.full .profile-block-track .sessions:before {
  content: "";
  display: block;
  position: absolute;
  top: calc(-0.5rem - 1px);
  left: -1px;
  height: 0.5rem;
  width: calc( 100% + 2px);
  border-left: 1px solid #000;
  border-right: 1px solid #000;
  background-color: #EEE;
}
.speakers.full .profile-block-track.tint-1 .sessions:before {
  background-color: #4ED2E2;
}
.speakers.full .profile-block-track.tint-2 .sessions:before {
  background-color: #FC5C65;
}
.speakers.full .profile-block-track.tint-3 .sessions:before {
  background-color: #FED850;
}
.speakers.full .profile-block-track .sessions li {
  padding: 0;
  z-index: 10;
  border-bottom: 1px solid #000;
}
.speakers.full .profile-block-track .sessions a {
  padding: 1.35rem 2rem 1.15rem 7rem;
}
.speakers.full .profile-block-track .sessions .strips-small {
  z-index: 0;
}


.new-schedule .blocks > * {
  margin: 0 1rem 2rem;
  flex: 0 0 calc(33% - 2rem);
  background: #FFF;
  border: 1px solid #000;
}
.new-schedule .blocks > * a.block {
  display: block;
}
.new-schedule .blocks > * .name {
  padding: 2rem;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 3.1rem;
  left: 3.1rem;
  right: 3.1rem;
  bottom: 3.1rem;
  border: 1px solid #000;
  z-index: 10;
}
.new-schedule .blocks > * .borders {
  position: relative;
  display: block;
}
.new-schedule .blocks > * .more {
  position: absolute;
  background: #000;
  height: 5rem;
  width: 5rem;
  border: 1px solid #000;
  bottom: 3.1rem;
  right: 3.1rem;
  background: #FFF;
  z-index: 20;
}
.new-schedule .blocks > *.tint-1 .more:hover {
  background-color: #4ED2E2;
}
.new-schedule .blocks > *.tint-2 .more:hover {
  background-color: #FC5C65;
}
.new-schedule .blocks > *.tint-3 .more:hover {
  background-color: #FED850;
}
.new-schedule .blocks > * .more:before,
.new-schedule .blocks > * .more:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 66%;
  border-top: 1px solid #000;
  transform: translate(-50%, -50%);
}
.new-schedule .blocks > * .more:after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.new-schedule .blocks > *:nth-child(3n + 1) rect,
.new-schedule .blocks .slide:nth-child(3n + 1) rect {
  stroke-dashoffset: 70%;
}
.new-schedule .blocks > *:nth-child(3n + 2) rect,
.new-schedule .blocks .slide:nth-child(3n + 2) rect {
  stroke-dashoffset: 340%;
}
.new-schedule .blocks > *:nth-child(3n + 3) rect,
.new-schedule .blocks .slide:nth-child(3n + 3) rect {
  stroke-dashoffset: 480%;
}
.new-schedule .blocks > *:nth-child(6n + 4) rect,
.new-schedule .blocks .slide:nth-child(6n + 4) rect {
  stroke-dashoffset: 240%;
}
.new-schedule .blocks > *:nth-child(6n + 5) rect,
.new-schedule .blocks .slide:nth-child(6n + 5) rect {
  stroke-dashoffset: 490%;
}
.new-schedule .blocks > *:nth-child(6n + 6) rect,
.new-schedule .blocks .slide:nth-child(6n + 6) rect {
  stroke-dashoffset: 350%;
}
.new-schedule .blocks > *:nth-child(3n + 1) a:hover rect,
.new-schedule .blocks .slide:hover:nth-child(3n + 1) rect {
  stroke-dashoffset: 170%;
}
.new-schedule .blocks > *:nth-child(3n + 2) a:hover rect,
.new-schedule .blocks .slide:hover:nth-child(3n + 2) rect {
  stroke-dashoffset: 440%;
}
.new-schedule .blocks > *:nth-child(3n + 3) a:hover rect,
.new-schedule .blocks .slide:hover:nth-child(3n + 3) rect {
  stroke-dashoffset: 580%;
}
.new-schedule .blocks > *:nth-child(6n + 4) a:hover rect,
.new-schedule .blocks .slide:hover:nth-child(6n + 4) rect {
  stroke-dashoffset: 340%;
}
.new-schedule .blocks > *:nth-child(6n + 5) a:hover rect,
.new-schedule .blocks .slide:hover:nth-child(6n + 5) rect {
  stroke-dashoffset: 590%;
}
.new-schedule .blocks > *:nth-child(6n + 6) a:hover rect,
.new-schedule .blocks .slide:hover:nth-child(6n + 6) rect {
  stroke-dashoffset: 450%;
}


.new-schedule .blocks > a:hover:nth-child(3n + 1) rect,
.new-schedule .blocks .slide:hover:nth-child(3n + 1) rect {
  stroke-dashoffset: 170%;
}
.new-schedule .blocks > a:hover:nth-child(3n + 2) rect,
.new-schedule .blocks .slide:hover:nth-child(3n + 2) rect {
  stroke-dashoffset: 440%;
}
.new-schedule .blocks > a:hover:nth-child(3n + 3) rect,
.new-schedule .blocks .slide:hover:nth-child(3n + 3) rect {
  stroke-dashoffset: 580%;
}
.new-schedule .blocks > a:hover:nth-child(6n + 4) rect,
.new-schedule .blocks .slide:hover:nth-child(6n + 4) rect {
  stroke-dashoffset: 340%;
}
.new-schedule .blocks > a:hover:nth-child(6n + 5) rect,
.new-schedule .blocks .slide:hover:nth-child(6n + 5) rect {
  stroke-dashoffset: 590%;
}
.new-schedule .blocks > a:hover:nth-child(6n + 6) rect,
.new-schedule .blocks .slide:hover:nth-child(6n + 6) rect {
  stroke-dashoffset: 450%;
}
.new-schedule .blocks > *.tint-1 rect,
.new-schedule .blocks .slide.tint-1 rect {
  stroke: #4ED2E2;
}
.new-schedule .blocks > *.tint-2 rect,
.new-schedule .blocks .slide.tint-2 rect {
  stroke: #FC5C65;
}
.new-schedule .blocks > *.tint-3 rect,
.new-schedule .blocks .slide.tint-3 rect {
  stroke: #FED850;
}
.new-schedule .blocks > * rect,
.new-schedule .blocks .slide rect {
  transition: stroke-dashoffset 0.4s;
}

.schedule-calendar {
  padding-top: 40px;
}
.schedule-calendar .blocks > * {
  flex: 1 0 0;
  margin: -1px -1px 0 0;
  border: 1px solid #000;
  padding: 0;
  overflow: hidden;
}
.schedule-calendar .blocks > * > .grid {
  position: absolute;
  top: 41px;
  left: 0;
  width: 100%;
  z-index: 0;
}
.schedule-calendar .blocks > * > .grid span {
  display: block;
  height: 26px;
  border-top: 1px dashed #BBB;
  border-bottom: 1px dashed #BBB;
  margin-bottom: 24px;
}
.schedule-calendar .blocks > * > .grid span:first-child {
  border-top: 1px solid transparent;
}
@media (max-width: 1200px) {
  .schedule-calendar .blocks > *.day-11 {
    max-width: 107px;
  }  
}
@media (max-width: 1000px) {
  .schedule-calendar .blocks > *,
  .schedule-calendar .blocks > *.day-11 {
    max-width: 100%;
    flex: 0 0 50%;
    margin: 0 -1px 0 0;
  }
  .schedule-calendar .blocks > hr {
    flex: 0 0 100%;
    border: none;
    margin: 0 0 4rem;
  }
  .schedule-calendar .blocks > hr:first-child {
    margin: 0;
  }
}
@media (max-width: 700px) {
  .schedule-calendar .blocks {
    display: flex;
  }
  .schedule-calendar .blocks > *,
  .schedule-calendar .blocks > *.day-11 {
    flex: 0 0 calc( 100% - 3em );
  }
}

.schedule-calendar .blocks > *.hours {
  max-width: 3em;
}
.schedule-calendar .blocks > *.hours ul li {
  padding: 0.3em 10px;
}
.schedule-calendar .blocks > * .day {
  display: block;
  margin: 0;
  letter-spacing: 0.1em;
  border-bottom: 1px solid #000;
  height: 42px;
}
.schedule-calendar .blocks > * .day.tint-1 {
  background-color: #4ED2E2;
}
.schedule-calendar .blocks > * .day.tint-2 {
  background-color: #FC5C65;
}
.schedule-calendar .blocks > * .day.tint-3 {
  background-color: #FED850;
}
.schedule-calendar .blocks > * .day .day-num {
  display: inline-block;
  margin-right: 10px;
  border-right: 1px solid #000;
  padding: 0.5em;
  min-width: 2.1em;
  text-align: center;
  background: #FFF;
  vertical-align: middle;
}
.schedule-calendar .blocks > * .day .day-name {
  display: inline-block;
  text-transform: uppercase;
  vertical-align: middle;
}
/*
.schedule-calendar .blocks > * .day:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 2.1em;
  height: 100%;
  border-left: 1px solid #000;
  background: #FFF url('media/strips-small-r.svg') repeat center;
  background-size: 20px auto;
}
*/
.schedule-calendar .blocks > * ul {
  margin: 0;
  z-index: 10;
}
.schedule-calendar .blocks > * ul li {
  top: -1px;
  display: flex;
  align-items: stretch;
  align-content: stretch;
  font-size: 14px;
  line-height: 1.2em;
  height: 51px;
  border-top: 1px solid #000;
  border-bottom: 1px solid transparent;
  margin-bottom: -1px;
  background: #FFF;
}
.schedule-calendar .blocks > * ul li:last-child {
  margin-bottom: -2px;
}
/*
.schedule-calendar .blocks > * ul li:before {
  content: "›";
  display: inline-block;
  vertical-align: middle;
  font-size: 18px;
  line-height: 1em;
  width: 10px;
  margin-left: -10px;
  left: 1px;
}
*/
.schedule-calendar .blocks > * ul li a.current {
  font-weight: 600;
  pointer-events: none;
}
.schedule-calendar .blocks > * ul li a,
.schedule-calendar .blocks > * ul li span {
  display: block;
  flex: 1 0 0;
  text-decoration: none;
  padding: 0.3em 10px;
  border-right: 1px solid #000;
  border-left: 1px solid #000;
  border-bottom: 1px solid #000;
  margin-left: -1px;
  margin-bottom: -1px;
  letter-spacing: 0.05em;
}
.schedule-calendar .blocks > * ul li a.tint-1,
.schedule-calendar .blocks > * ul li span.tint-1 {
  background-color: #4ED2E2;
}
.schedule-calendar .blocks > * ul li a.tint-2,
.schedule-calendar .blocks > * ul li span.tint-2 {
  background-color: #FC5C65;
}
.schedule-calendar .blocks > * ul li a.tint-3,
.schedule-calendar .blocks > * ul li span.tint-3 {
  background-color: #FED850;
}
.schedule-calendar .blocks > * ul li a.tint-4,
.schedule-calendar .blocks > * ul li span.tint-4 {
  background-color: #c85bc8;
}
.schedule-calendar .blocks > * ul li a.tint-5,
.schedule-calendar .blocks > * ul li span.tint-5 {
  background-color: #26E4BE;
}
.schedule-calendar .blocks > * ul li a.tint-6,
.schedule-calendar .blocks > * ul li span.tint-6 {
  background-color: #70EAB4;
}
.schedule-calendar .blocks > * ul li a.tint-7,
.schedule-calendar .blocks > * ul li span.tint-7 {
  background-color: #FD9526;
}
.schedule-calendar .blocks > * ul li a.tint-8,
.schedule-calendar .blocks > * ul li span.tint-8 {
  background-color: #9b62e4;
}
.schedule-calendar .blocks > * ul li a.tint-9,
.schedule-calendar .blocks > * ul li span.tint-9 {
  background-color: #FD9BCB;
}
.schedule-calendar .blocks > * ul li a.tint-0,
.schedule-calendar .blocks > * ul li span.tint-0 {
  background-color: #1BAAC7;
}
.schedule-calendar .blocks > * ul li a.tint-a,
.schedule-calendar .blocks > * ul li span.tint-a {
  background-color: #e9e9f1;
}

.schedule-calendar .blocks > * ul li a:last-child,
.schedule-calendar .blocks > * ul li span:last-child {
  border-right: none;
}
.schedule-calendar .blocks > * ul li a:hover {
  background: #000;
  color: #FFF;
}

.events {
  overflow: hidden;
}
.events nav a {
  padding: 3rem;
}
.events nav a.tint-1 .date-day {
  background: #4ED2E2;
}
.events nav a.tint-1 .more:after,
.events nav a.tint-1 .detail:after {
  background: #4ED2E2;
}
.events nav a.tint-2 .date-day {
  background: #FC5C65;
}
.events nav a.tint-2 .more:after,
.events nav a.tint-2 .detail:after {
  background: #FC5C65;
}
.events nav a.tint-3 .date-day {
  background: #FED850;
}
.events nav a.tint-3 .more:after,
.events nav a.tint-3 .detail:after {
  background: #FED850;
}
.events nav a:hover picture img {
  transform: scale(1.1);
}
.events nav a:hover picture img.cover {
  transform: translate(-50%, -50%) scale(1.1);
}
.events nav a:hover .detail:after {
  height: 100%;
}
.events .blocks {
  margin-right: -3rem;
}
.events .small-blocks {
  margin-right: 0;
}
.events picture {
  border: 1px solid #000;
  margin-bottom: 3rem;
  overflow: hidden;
  z-index: 10;
}
.events picture img {
  transform: scale(1.01);
  transition: transform 0.6s;
}
.events picture img.cover {
  transform: translate(-50%, -50%) scale(1.01);
  transition: transform 0.6s;
}
.events .date-day,
.events .date-month,
.events .time {
  position: absolute;
  display: block;
  top: 3rem;
  left: 3rem;
  padding: 5px;
  line-height: 1em;
  width: 7rem;
  height: 7rem;
  font-size: 18px;
  z-index: 15;
}
.events .date-day,
.events .time {
  background: #FFF;
  border: 1px solid #000;
  text-align: right;
  line-height: calc(14rem - 1em - 20px);
  vertical-align: bottom;
  font-size: 32px;
}
.events .date-month {
  font-weight: 400;
  z-index: 20;
}
.events .time {
  left: 10rem;
  margin-left: -1px;
  padding-top: 0.5em;
  text-align: center;
  line-height: 1.4em;
  font-size: 18px;
  font-weight: 400;
}
.events.full .date-day,
.events.full .date-month,
.events.full .time {
  padding: 8px;
}
.events.full .date-day {
  line-height: calc(14rem - 1em - 32px);
}
.events.full .time {
  padding-top: 0.5em;
}
.events .name {
  min-height: 3.6em;
  display: block;
}
@media (max-width: 600px) {
  .events .name {
    min-height: 0;
  }
}
.events .more {
  display: block;
  margin: 1rem 6rem 1rem 0;
  padding-top: 0.5rem;
  font-size: 15px;
  letter-spacing: 0.1em;
  border-top: 1px solid #000;
  line-height: 1.2em;
  text-decoration: underline;
}
.events .more:after {
  content: "";
  display: block;
  width: 1em;
  height: 1.2em;
  float: right;
  margin-right: -6rem;
  background: #000;
}
.events .detail {
  display: block;
  margin: 1rem 3rem 1rem 0;
  padding-top: 1rem;
  border-top: 1px solid #000;
  line-height: 1.2em;
}
.events .detail:after {
  content: "";
  display: block;
  width: 1em;
  height: 1.2em;
  position: absolute;
  right: -3rem;
  bottom: 0;
  background: #000;
  transition: height 0.3s;
}
.events .strips,
.events .strips-small {
  position: absolute;
  top: 0;
  left: 0;
  height: 0;
  width: 75%;
  padding-bottom: 75%;
  z-index: 0;
  transform: rotateY(180deg);
}
.events .strips.no-pad,
.events .strips-small.no-pad {
  height: auto;
  padding: 0;
}
.events .strips-small {
  height: calc(3rem + 1px);
  left: 3rem;
  width: calc(100% - 6rem);
  border: 1px solid #000;
  padding-bottom: 0;
  transform: rotateY(0deg);
}
.events .small-blocks > * {
  padding: 4rem 2rem 2rem;
}
.events .small-blocks > * .date-day,
.events .small-blocks > * .date-month,
.events .small-blocks > * .time {
  top: 0;
  left: 2rem;
}
.events .small-blocks > * .strips-small {
  height: calc(4rem + 1px);
  left: 2rem;
  width: calc(100% - 4rem);
}
.events.full .name {
  min-height: 0;
}
.events.events-narrow .section-title {
  margin-bottom: 2rem;
}
.events.events-narrow a {
  display: flex;
  padding: 2rem;
}
.events.events-narrow a:before {
  content: "";
  position: absolute;
  top: 2rem;
  left: 3rem;
  right: 2rem;
  bottom: 2rem;
  border: 1px solid #000;
}
.events.events-narrow picture {
  display: flex;
  align-items: center;
  flex: 0 0 40%;
  margin-left: 1rem;
  margin-bottom: 0;
}
.events.events-narrow .name {
  min-height: 0;
  padding: 0 2rem 0;
  align-self: center;
  font-size: 18px;
}
.events.events-narrow a > .name:first-child {
  display: block;
  text-align: center;
  padding-left: 3rem;
  flex: 1 1 60%;
}
.events.events-narrow .detail {
  margin: 0;
  border-top: none;
}
.events.events-narrow .detail:after {
  display: none;
}
.events.events-narrow em {
  font-style: normal;
  padding: 2rem;
}
.events.events-narrow em > .name {
  padding: 0;
}
.events.events-narrow .strips {
  top: 2rem;
  padding-bottom: 0;
  height: calc(100% - 4rem);
  width: 3rem;
}
@media (max-width: 600px) {
  .events.events-narrow a {
    padding-right: 3rem;
  }
  .events.events-narrow a:before {
    right: 3rem;
  }
}
.papers-call {
  padding: 4rem 0;
}
.papers-call h3,
.papers-call .h3
{
  margin: 0;
  z-index: 10;
  text-align: center;
  line-height: 1em;
  font-size: 3rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
}
.papers-call.papers-call-small h3,
.papers-call.papers-call-small .h3{
  font-size: 2rem;
}
.papers-call a,
.papers-call .h3 span {
  display: inline-block;
  background: #FFF;
  padding: 3rem 3rem;
  color: #000;
  text-decoration: none;
  border: 2px solid #000;
  margin: 0 3rem;
}
.papers-call .strips {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 5rem;
  margin: -2.5rem 0;
  z-index: 0;
}
.papers-call a:hover {
  background: #000;
  color: #FFF;
}
.big-squares {
  margin-top: 5rem;
  margin-bottom: 5rem;
}
.big-squares .blocks {
  margin: 0 -0.5rem;
}
.big-squares .blocks > a picture {
  overflow: hidden;
}
.big-squares .blocks > a picture img {
  transform: scale(1) translateZ(0) translate(-50%, -50%);
  transition: transform 0.6s;
}
.big-squares .blocks > a:hover picture img {
  transform: scale(1.1) translateZ(0) translate(-45%, -45%);
}
.big-squares .blocks > a.schedule-link picture svg {
  width: calc(100% - 60px);
  height: auto;
  min-width: 0;
  min-height: 0;
}
.big-squares .blocks > a.schedule-link picture img.print-svg {
  display: none;
}
.big-squares a.schedule-link svg .schedule-days rect {
  fill: #F0F0F0;
  transition: fill step-end 0.3s;
}
.big-squares a.schedule-link svg .schedule-days rect {
  fill: #F0F0F0;
}
.big-squares a.schedule-link svg .schedule-days rect:nth-child(6) {
  fill: #FADB53;
}
.big-squares a.schedule-link svg .schedule-days rect:nth-child(10) {
  fill: #6ACFE1;
}
.big-squares a.schedule-link svg .schedule-days rect:nth-child(19) {
  fill: #F06564;
}
.big-squares a.schedule-link:hover svg .schedule-days rect:nth-child(3) {
  animation: fill-to-red step-end 0.3s 0s;
}
.big-squares a.schedule-link:hover svg .schedule-days rect:nth-child(6) {
  animation: fill-to-yellow step-end 0.3s 0.2s;
}
.big-squares a.schedule-link:hover svg .schedule-days rect:nth-child(9) {
  animation: fill-to-blue step-end 0.3s 0.4s;
}
.big-squares a.schedule-link:hover svg .schedule-days rect:nth-child(12) {
  animation: fill-to-red step-end 0.3s 0.6s;
}
.big-squares a.schedule-link:hover svg .schedule-days rect:nth-child(15) {
  animation: fill-to-yellow step-end 0.3s 0.4s;
}
.big-squares a.schedule-link:hover svg .schedule-days rect:nth-child(18) {
  animation: fill-to-blue step-end 0.3s 0.2s;
}
.big-squares a.schedule-link:hover svg .schedule-days rect:nth-child(21) {
  animation: fill-to-red step-end 0.3s 0s;
}
.big-squares a.schedule-link:hover svg .schedule-days rect:nth-child(24) {
  animation: fill-to-yellow step-end 0.3s 0.2s;
}
.big-squares a.schedule-link:hover svg .schedule-days rect:nth-child(27) {
  animation: fill-to-yellow step-blue 0.3s 0.2s;
}
.big-squares .blocks > * {
  padding: 3rem;
  border: 1px solid #000;
  margin: 0.5rem;
  flex: 1 0 calc(50% - 1rem);
  max-width: 66%;
}
@media (max-width: 600px) {
  .big-squares .blocks > * {
    max-width: 100%;
  }
.papers-call h3 {
  font-size: 2rem;
  letter-spacing: 0.15em;
}
}
.big-squares .blocks > * em {
  position: absolute;
  top: 6rem;
  left: 6rem;
  right: 6rem;
  font-size: 32px;
  font-style: normal;
  text-transform: uppercase;
  line-height: 1.4em;
  letter-spacing: 0.2em;
}
@media (max-width: 600px) {
  .big-squares .blocks > * em {
    font-size: 21px;
  }
}
.big-squares .blocks > *.schedule-link em {
  padding-top: 5px;
}
.big-squares .blocks > * em.middle {
  top: 50%;
  text-align: center;
  transform: translateY(-50%);
}
.big-squares .blocks > * em .strip {
  background: #FFF;
  line-height: 1em;
  display: inline-block;
  padding: 0.1em 0.2em;
  margin: 0.2em 0 0;
  text-indent: 0.1em;
}
.big-squares .blocks > * picture {
  border: 1px solid #000;
  display: block;
  padding-bottom: 100%;
  overflow: hidden;
  z-index: 0;
}
.big-squares .blocks > * picture img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: cover;
  display: block;
  width: 0;
  min-width: 100%;
  min-height: 100%;
}
.big-squares .blocks > * .more {
  position: absolute;
}
@media (max-width: 600px) {
  .big-squares .blocks > * {
    margin-bottom: 3rem;
  }
}
@keyframes fill-to-red {
  0% {
    fill: #F0F0F0;
  }
  50% {
    fill: #F06564;
  }
  100% {
    fill: #F0F0F0;
  }
}
@keyframes fill-to-yellow {
  0% {
    fill: #F0F0F0;
  }
  50% {
    fill: #FADB53;
  }
  100% {
    fill: #F0F0F0;
  }
}
@keyframes fill-to-blue {
  0% {
    fill: #F0F0F0;
  }
  50% {
    fill: #6ACFE1;
  }
  100% {
    fill: #F0F0F0;
  }
}
.relevant-blocks ul {
  margin: 3rem;
  display: flex;
  align-items: stretch;
  justify-content: center;
  flex-wrap: wrap;
}
.relevant-blocks li {
  display: flex;
  flex: 0 0 20%;
  min-height: 180px;
  border: 1px solid #000;
  margin: -1px -1px 0 0;
  padding: 3rem;
  justify-content: center;
  align-items: stretch;
  text-align: center;
  /* font-size: 18px; */
}
.relevant-blocks li .flag-msg {
  position: absolute;
  top: 3rem;
  right: -1px;
  padding: 1rem;
  background: #000;
  text-transform: uppercase;
  color: #FFF;
  letter-spacing: 0.1em;
  font-size: 14px;
  line-height: 1em;
  font-weight: 400;
  z-index: 10;
  border: 1px solid #000;
  border-right: none;
  pointer-events: none;
}
.relevant-blocks li:hover .flag-msg,
.relevant-blocks li.disabled:hover .flag-msg {
  border-color: #FFF;
}
.relevant-blocks li.disabled {
  border-color: #999;
}
.relevant-blocks li.disabled .flag-msg {
  background: #999;
  border-color: #999;
}
.relevant-blocks li.disabled a {
  color: #AAA;
}
.relevant-blocks li.disabled a.full span.h4:after {
  border-color: #AAA;
}
.relevant-blocks li.disabled a.full:hover span.h4:after {
  border-color: #FFF;
}
.relevant-blocks li.disabled a.full:hover {
  background: #999;
}
.relevant-blocks.relevant-blocks-halfs li{
  flex: 1 0 calc(50% - 2rem);
  padding: 3rem 6rem;
  margin: 0 1rem 2rem;
  min-height: 320px;
}
.relevant-blocks.relevant-blocks-thirds li{
  flex: 0 0 calc(33% - 2rem);
  padding: 3rem 6rem;
  margin: 0 1rem 2rem;
  min-height: 320px;
  min-width: 230px;
}
.relevant-blocks.relevant-blocks-thirds li a.full span.h4:first-child {
  margin: 3rem 0 1rem;
}
.relevant-blocks.relevant-blocks-smalls li {
  min-height: 120px;   
}
.relevant-blocks.relevant-blocks-halfs li.narrow{
  flex: 1 0 calc(100% - 2rem);
  padding: 2rem 6rem;
  margin: 0 1rem 2rem;
  min-height: 140px;
}
.relevant-blocks.relevant-blocks-halfs li.narrow a.full{
  margin: -2rem -6rem;
  padding: 2rem 3rem 0;
}
.relevant-blocks li a.full {
  flex: 1 1 100%;
  display: block;
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: center;
	align-items: center;
  margin: -3rem;
  padding: 2rem 2rem 3rem;
  min-height: 180px;
  text-decoration: none;
  font-size: 14px;
  line-height: 1.2em;
}
.relevant-blocks.relevant-blocks-halfs li a.full,
.relevant-blocks.relevant-blocks-thirds li a.full{
  margin: -3rem -6rem;
  padding: 3rem 6rem;
}
.relevant-blocks li a.full span {
  margin: 1rem 0;
  display: block;
}
.relevant-blocks li a.full span.h4 {
  padding: 0 0.5rem;
}
.relevant-blocks li a.full span.h4:after {
  content: "";
  display: block;
  height: 0;
  margin: 1.5rem auto 0;
  width: 40px;
  border-top: 1px solid #666;
}
.relevant-blocks li a.full span.date {
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.relevant-blocks li a.full:hover {
  background: #000;
  color: #FFF;
}
.relevant-blocks li a.full:hover span.h4:after {
  border-top-color: #AAA;
}
@media (max-width: 900px) {
  .relevant-blocks li {
    flex: 1 0 50%;
  }
}
@media (max-width: 600px) {
  .relevant-blocks li {
    flex: 0 1 100%;
  }
}
.relevant-blocks li i {
  font-size: 320%;
  line-height: 1em;
  display: block;
  margin: 3rem 0;
  font-style: normal;
}
.relevant-blocks li h4 {
  font-size: inherit;
  line-height: 1.5em;
  margin-bottom: 1.5em;
  text-transform: uppercase;
}
.sponsors {
  padding: 4rem 3rem;
  margin: 0;
  overflow: hidden;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
}
.sponsors h3 {
  text-align: center;
  text-transform: uppercase;
  font-size: 28px;
  margin-top: 1rem;
  letter-spacing: 0.2em;
  z-index: 10;
}
.sponsors nav {
  text-align: center;
  letter-spacing: 10px;
  z-index: 10;
}
.sponsors nav a,
.sponsors nav span {
  padding: 0;
  margin: 0 5px;
  display: inline-block;
  vertical-align: middle;
  text-decoration: none;
}
.sponsors nav .sponsors-cat-title {
  letter-spacing: 0.1em;
  margin-bottom: 5px;
  margin-top: 2rem;
}
.sponsors nav a img,
.sponsors nav span img {
  width: auto;
  height: 150px;
  display: block;
}
.sponsors nav.lvl-1 a img,
.sponsors nav.lvl-1 span img {
  height: 150px;
}
.sponsors nav.lvl-2 a img,
.sponsors nav.lvl-2 span img,
.sponsors nav.lvl-3 a img,
.sponsors nav.lvl-3 span img {
  height: 120px;
}
.sponsors nav.lvl-4 a img,
.sponsors nav.lvl-4 span img,
.sponsors nav.lvl-5 a img,
.sponsors nav.lvl-5 span img {
  height: 90px;
}
.sponsors nav.lvl-6 a img,
.sponsors nav.lvl-6 span img {
  height: 60px;
}
.sponsors .flex {
  margin-left: -5px;
  margin-right: -5px;
}
.sponsors .flex .col-3 {
  padding-left: 5px;
  padding-right: 5px;
}
.sponsors nav a span,
.sponsors nav span span {
  letter-spacing: 0.05em;
  display: none;
  color: #000;
}
.sponsors nav a:hover span,
.sponsors nav span:hover span {
  color: #000;
}
.sponsors svg.cover {
  display: block;
  z-index: 0;
}
.sponsors svg.cover path {
  stroke: #EEE;
  stroke-width: 0.5px;
  shape-rendering: optimizeSpeed;
  fill: none;
}
@media (max-width: 600px) {
  .sponsors svg.cover {
    height: 0;
  }
}
.become-sponsor.big-call {
  margin-top: -1px;
}
.become-sponsor.big-call:hover {
  background: #F0F0F0;
}
.become-sponsor.big-call:hover a {
  color: #000;
}
.schedule-block {
  margin: 3rem 0;
}
.schedule-block:first-child {
  margin-top: 0;
}
.schedule-block h2,
.schedule-block h3 {
  padding: 1rem;
  padding-right: 4em;
  margin: 0;
  color: #000;
  border: 1px solid #000;
  border-bottom: none;
}
.schedule-block .closed-tag {
  padding: 1rem;
  background: #000;
  color: #FFF;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.closed-info {
  color: #AAA;
}
.closed-info a {
  color: #AAA;
}
.schedule-block h2 .strips-small,
.schedule-block h3 .strips-small {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 7rem;
  border-left: 1px solid #000;
}
.schedule-block.schedule-hours h2 .strips-small,
.schedule-block.schedule-hours h3 .strips-small {
  width: 10rem;
}
@media (max-width: 900px) {
  .schedule-block.schedule-hours h2 .strips-small,
  .schedule-block.schedule-hours h3 .strips-small {
    width: 6rem;
  }
}
.schedule-block.pad h2,
.schedule-block.pad h3 {
  padding: 1.5rem 2rem;
}
.schedule-block.schedule-hours.pad dt {
  padding: 1.5rem 2rem;
}
.schedule-block.schedule-hours dt > .flex {
  margin: 0;
  flex: 1 1 0;
  flex-wrap: nowrap;
}
@media (max-width: 900px) {
  .schedule-block.schedule-hours dt > .flex {
    flex-wrap: wrap;
  }
}
.schedule-block.schedule-hours dt > .flex + .view-more-holder {
  padding: 0;
  border-top: 1px solid #000; 
  margin-bottom: -1px;
  flex-basis: 100%;
}
.schedule-block.schedule-hours dt > .view-more-holder .pad {
  display: flex;
  padding: 0.2rem 2rem 0.5rem;
}
.schedule-block.schedule-hours dt > .view-more-holder .pad.pad-full {
  flex-basis: 100%;
  width: 100%;
}
.schedule-block.schedule-hours dt > .view-more-holder .pad .picture-holder {
  margin-top: 0.5rem;
  margin-left: -0.5rem;
  margin-right: 1.5rem;
  padding-bottom: 1rem;
}
@media (max-width: 900px) {
  .schedule-block.schedule-hours dt > .view-more-holder .pad { 
    display: block;
    padding: 0.2rem 1.5rem 0.5rem;
  }
  .schedule-block.schedule-hours dt > .view-more-holder .pad .picture-holder {
    margin-top: 1rem;
    margin-left: 0;
    margin-right: 0;
    padding-bottom: 0;
  }
  .schedule-block.schedule-hours dt > .view-more-holder .pad .picture-holder picture {
    width: auto;
  }
}
.flex .felx-half {
  flex-basis: 50%;
}
.schedule-block.schedule-hours dt > .view-more-holder .sep {
  height: 0;
  font-size: 0;
  line-height: 0;
  border-top: 1px solid #666;
  width: 100px;
  margin: 1.5rem auto;
}
.schedule-block.schedule-hours dt > .view-more-holder .pad picture {
  display: block;
  border: 1px solid #000;
  margin: 1rem 0;
  width: 180px;
}
.schedule-block.schedule-hours dt > .view-more-holder .pad .picture-holder {
  min-width: 180px;
}
.schedule-block.schedule-hours dt > .view-more-holder .pad .small-picture picture {
  width: 120px;
}
.schedule-block.schedule-hours dt > .view-more-holder .pad .picture-holder.small-picture {
  min-width: 120px;
}
.schedule-block.schedule-hours dt > .view-more-holder .pad picture img {
  display: block;
  margin: 1.1rem;
  width: calc( 100% - 2.2rem );
  border: 1px solid #000;
  z-index: 10;
}
.schedule-block.schedule-hours dt > .view-more-holder .pad picture .borders {
  z-index: 0;
}
.schedule-block.schedule-hours dt > .view-more-holder .pad .tint-1 .borders rect {
  stroke: #6ACFE1;
}
.schedule-block.schedule-hours dt > .view-more-holder .pad .tint-2 .borders rect {
  stroke: #F06564;
}
.schedule-block.schedule-hours dt > .view-more-holder .pad .tint-3 .borders rect {
  stroke: #FADB53;
}
.schedule-block.schedule-hours dt > .view-more-holder .pad p {
  margin: 1.5rem 0;
  padding: 0;
}
.schedule-block.schedule-hours dt > .flex .preview {
  flex-grow: 1;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  padding: 1.5rem 2rem;
  margin: 0 -1px -1px 0;
  cursor: pointer;
}
.schedule-block.schedule-hours dt.no-pad > .preview {
  padding: 1.5rem 2rem;
}
.schedule-block.schedule-hours dt > .flex .preview.no-click {
  cursor: default;
}
.schedule-block.schedule-hours dt > .flex .preview:hover + .view-more {
  background: #000;
  color: #FFF;
}
.schedule-block.schedule-hours dt > .flex .preview .h4,
.schedule-block.schedule-hours dt > .flex .preview .h5 {
  margin-bottom: 0.5rem;
}
.schedule-block.schedule-hours dt > .flex .preview .h4 + .detail,
.schedule-block.schedule-hours dt > .flex .preview .h5 + .detail {
  margin: 0;
}
.schedule-block.schedule-hours dt > .flex .preview .rise {
  font-size: 80%;
  margin: 0 0 0.1rem;
}
.schedule-block.schedule-hours dt > .flex .preview .rise + .h4,
.schedule-block.schedule-hours dt > .flex .preview .rise + .h5 {
  margin-top: 0;
}
.schedule-block.schedule-hours dt > .flex .view-more {
  display: flex;
  text-align: center;
  padding: 1.5rem 2rem;
  text-decoration: none;
  border-left: 1px solid #000;
  align-items: center;
  white-space: nowrap;
}
.schedule-block.schedule-hours dt > .flex .view-more.tint-1 {
  background-color: #6ACFE1;
}
.schedule-block.schedule-hours dt > .flex .view-more.tint-2 {
  background-color: #F06564;
}
.schedule-block.schedule-hours dt > .flex .view-more.tint-3 {
  background-color: #FADB53;
}
.schedule-block.schedule-hours dt > .flex .view-more:hover {
  color: #FFF;
  background-color: #000;
}
.schedule-block.schedule-hours dl dd .mobi-br {
  display: inline-block;
}
@media (max-width: 900px) {
  .schedule-block.schedule-hours dt > .flex .view-more {
    margin-top: -1px;
    margin-left: -1px;
    border-top: 1px solid #000;
  }
}

.schedule-block dl {
  border: 1px solid #000;
  border-bottom: none;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  margin: 0;
}
.schedule-block dl dt,
.schedule-block dl dd {
  padding: 1rem;
  border-bottom: 1px solid #000;
  line-height: 1.3em;
}
.schedule-block.schedule-hours.pad dl dt.no-pad,
.schedule-block.schedule-hours.pad dl dd.no-pad,
.schedule-block dl dt.no-pad,
.schedule-block dl dd.no-pad {
  padding: 0;
}
.schedule-block dl dt {
  display: flex;
  flex: 1 0 calc(100% - 7rem);
  align-items: center;
  border-right: 1px solid #000;
}
.schedule-block dl dd {
  padding: 0.5rem 1rem;
  flex: 1 0 calc(7rem - 2px);
  text-align: center;
  line-height: 20px;
}
.schedule-block.schedule-hours dl dt {
  flex: 1 0 calc(100% - 10rem);
	flex-wrap: wrap;
}
.schedule-block.schedule-hours dl dt .speaker {
	width: 100%;
	font-size: 90%;
	padding-top: .2rem;
	padding-left: 1.5rem;
}
.schedule-block.schedule-hours dl dt .description {
	width: 100%;
	font-size: 75%;
	padding-left: 2rem;
}
.schedule-block.schedule-hours dl dd {
  flex: 1 0 calc(10rem - 2px);
  font-size: 16px;
  line-height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.schedule-block dl dd span {
  display: block;
  font-size: 14px;
}
.schedule-block dl dd span.day {
  font-size: 20px;
}
.schedule-block dl:after {
  content: "";
  display: block;
  clear: both;
}
@media (max-width: 900px) {
  .schedule-block.schedule-hours dl dd {
    flex-wrap: wrap;
    align-content: center;
    flex: 0 0 calc( 6rem - 1px );
  }
  .schedule-block.schedule-hours dl dd .mobi-br {
    display: block;
    flex-basis: 100%;
    color: transparent;
    font-size: 0;
    line-height: 0;
    height: 3px;
  }
}
.schedule-block.schedule-block-third h2 .strips-small,
.schedule-block.schedule-block-third h3 .strips-small {
  width: calc(100% - 200px);
  left: 200px;
}
.schedule-block.schedule-block-third dl dt {
  flex: 1 0 200px;
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.schedule-block.schedule-block-third dl dt h4,
.schedule-block.schedule-block-third dl dt h5,
.schedule-block.schedule-block-third dl dt h6 {
  margin: 0;
}
@media (max-width: 599px) {
  .schedule-block.schedule-block-third dl dt {
    margin-right: -1px;
    border-bottom: none;
  }
}
.schedule-block.schedule-block-third dl dd {
  flex: 1 1 calc(100% - 202px);
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.schedule-block.schedule-block-third dl dd a {
  display: inline-block;
  vertical-align: top;
  width: 180px;
  margin: 10px;
}
.schedule-block.schedule-block-third dl dd img {
  display: block;
  width: 100%;
  height: auto;
}
.schedule-block.schedule-block-third dl dd:empty {
  padding: 0;
}
@media (max-width: 599px) {
  .schedule-block.schedule-block-third dl dd {
    flex-basis: 100%;
    margin-top: -2rem;
  }
}
blockquote,
.important-sentence {
  padding: 2rem 2rem 2rem 4rem;
  margin: 3rem -2rem;
  border: 1px solid #000;
}
blockquote .strips,
.important-sentence .strips,
blockquote .strips-small,
.important-sentence .strips-small {
  position: absolute;
  top: 0;
  left: 0;
  width: 2rem;
  height: 100%;
  border-right: 1px solid #000;
}
blockquote h2,
.important-sentence h2,
blockquote h3,
.important-sentence h3,
blockquote h4,
.important-sentence h4,
blockquote h5,
.important-sentence h5,
blockquote h6,
.important-sentence h6,
blockquote p,
.important-sentence p {
  font-size: 120%;
  line-height: 1.3em;
  letter-spacing: 0.05em;
}
blockquote h2:last-child,
.important-sentence h2:last-child,
blockquote h3:last-child,
.important-sentence h3:last-child,
blockquote h4:last-child,
.important-sentence h4:last-child,
blockquote h5:last-child,
.important-sentence h5:last-child,
blockquote h6:last-child,
.important-sentence h6:last-child,
blockquote p:last-child,
.important-sentence p:last-child {
  margin: 0;
}
.footer-brand {
  text-align: center;
  letter-spacing: 1rem;
  padding: 3rem;
  margin-top: 5rem;
}
.footer-brand .strips {
  width: 20%;
  height: 6rem;
  display: inline-block;
  vertical-align: middle;
}
.footer-brand .logo {
  display: inline-block;
  vertical-align: middle;
  width: 160px;
  margin: 0 5%;
  height: auto;
}
section.speaker {
  border-top: 1px solid #000;
  font-size: 14px;
}
section.speaker .flex {
  margin: 0 -3rem;
}
section.speaker .flex > * {
  padding-left: 3rem;
  padding-right: 3rem;
}
@media (max-width: 600px) {
  section.speaker .flex {
    margin: 0 -2rem;
  }
}
section.speaker h1.name {
  font-size: 42px;
  margin: 6rem 0 0.5rem;
}
section.speaker .speaker-keynote h2 {
  font-size: 32px;
  margin: 6rem 0 0.5rem;
  border-bottom: 1px solid #000;
  padding-bottom: 0.5rem;
}
section.speaker .speaker-keynote p {
  font-size: 110%;
  line-height: 1.4em;
}
@media (max-width: 600px) {
  section.speaker h1.name {
    margin-top: 2rem;
  }
}
section.speaker h1.name:last-child {
  margin-bottom: 2rem;
}
section.speaker h1.name + .biography {
  margin-top: 2rem;
}
section.speaker a {
  color: #000;
  display: inline-block;
}
section.speaker .profile-picture {
  margin-top: calc(-3rem - 2px);
}
section.speaker .academic,
section.speaker .distinctions {
  margin: 0.5rem 0;
  padding: 0.5rem 0;
  line-height: 1.6em;
  font-size: 16px;
  font-weight: 300;
  color: #000;
}
section.speaker .distinctions + .academic,
section.speaker .academic + .distinctions,
section.speaker .academic + .academic,
section.speaker .distinctions + .distinctions {
  border-top: 1px solid #DDD;
}
section.speaker .biography {
  font-size: 110%;
  line-height: 1.4em;
  font-weight: 300;
}
section.speaker .basic {
  margin-bottom: 1.5rem;
}
section.speaker .basic p {
  margin: 0.5rem 0;
}
section.speaker .basic .speaker-title {
  font-size: 21px;
  line-height: 1.3em;
}
.profile-picture,
.static-profile-picture {
  border: 1px solid #000;
  padding: 3rem;
  background: #FFF;
  overflow: hidden;
}
.profile-picture picture,
.static-profile-picture picture {
  display: block;
  background: #FFF;
  z-index: 10;
  overflow: hidden;
  border: 1px solid #000;
}
.profile-picture img,
.static-profile-picture img {
  width: 100%;
  display: block;
  background: #FFF;
}
.profile-picture .borders rect,
.static-profile-picture .borders rect {
  stroke-dashoffset: 600px;
}
.profile-picture.tint-1 .borders rect,
.static-profile-picture.tint-1 .borders rect {
  stroke: #4ED2E2;
}
.profile-picture.tint-2 .borders rect,
.static-profile-picture.tint-2 .borders rect {
  stroke: #FC5C65;
}
.profile-picture.tint-3 .borders rect,
.static-profile-picture.tint-3 .borders rect {
  stroke: #FED850;
}
.col-1 aside,
.col-2 aside,
.col-3 aside,
.col-4 aside,
.col-5 aside,
.col-6 aside {
  margin: 2rem 0;
  padding: 1rem 0;
}
.col-1 aside h3:first-child,
.col-2 aside h3:first-child,
.col-3 aside h3:first-child,
.col-4 aside h3:first-child,
.col-5 aside h3:first-child,
.col-6 aside h3:first-child {
  margin-top: 0;
}
.col-1 aside:first-child,
.col-2 aside:first-child,
.col-3 aside:first-child,
.col-4 aside:first-child,
.col-5 aside:first-child,
.col-6 aside:first-child {
  margin-top: 0;
  padding-top: 0;
}
.about-organizers:after {
  content: "";
  display: block;
  clear: both;
}
.about-organizers .col-1,
.about-organizers .col-2,
.about-organizers .col-3 {
  margin: 1rem 0;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}
.about-organizers .col-2 .profile-picture,
.about-organizers .col-2 .static-profile-picture {
  padding: 2rem;
}
.about-organizers .profile-picture,
.about-organizers .static-profile-picture {
  margin: 0 2rem 0 0;
  flex: 0 0 50%;
}
.about-organizers .profile-picture .borders rect,
.about-organizers .static-profile-picture .borders rect {
  stroke-width: 4rem;
}
@media (max-width: 600px) {
  .about-organizers .profile-picture,
  .about-organizers .static-profile-picture {
    margin-right: 1.5rem;
  }
}
.about-organizers .info {
  flex: 0 0 calc(50%);
  margin-right: -2rem;
  padding-right: 1rem;
}
@media (max-width: 600px) {
  .about-organizers .info {
    margin-right: -1rem;
    flex: 0 0 calc(50% - 1rem);
  }
}
.about-organizers h3 {
  margin: 2rem 0 1rem;
}
.about-organizers h4 {
  margin: 1rem 0;
  font-size: 14px;
  font-weight: 300;
  color: #000;
}
.about-organizers h4.charge {
  color: #000;
  font-weight: 400;
}
.profiles *:nth-child(3n+1) .borders rect {
  stroke-dashoffset: 70%;
}
.profiles *:nth-child(3n+2) .borders rect {
  stroke-dashoffset: 340%;
}
.profiles *:nth-child(3n+3) .borders rect {
  stroke-dashoffset: 480%;
}
.profiles *:nth-child(6n+4) .borders rect {
  stroke-dashoffset: 240%;
}
.profiles *:nth-child(6n+5) .borders rect {
  stroke-dashoffset: 490%;
}
.profiles *:nth-child(6n+6) .borders rect {
  stroke-dashoffset: 350%;
}
.profiles .borders rect {
  transition: stroke-dashoffset 0.4s;
}
section.speaker-links h2 {
  text-transform: uppercase;
}
section.speaker-links .container,
section.speaker-links .container-md {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  padding: 0;
}
section.speaker-links .container .col-2,
section.speaker-links .container-md .col-2 {
  flex: 0 0 33.333%;
  padding: 0 3rem;
}
@media (max-width: 600px) {
  section.speaker-links .container .col-2,
  section.speaker-links .container-md .col-2 {
    flex: 0 0 auto;
    width: auto;
  }
}
section.speaker-links .container .col-4,
section.speaker-links .container-md .col-4 {
  flex: 0 0 66.667%;
  padding: 0 3rem;
}
@media (max-width: 600px) {
  section.speaker-links .container .col-4,
  section.speaker-links .container-md .col-4 {
    flex: 0 0 auto;
    width: auto;
  }
}
@media (max-width: 600px) {
  section.speaker-links .container,
  section.speaker-links .container-md {
    display: block;
  }
}
.box-link {
  display: block;
  border: 1px solid #000;
  color: #000;
  text-decoration: none;
  padding: 2rem;
  margin: 1rem 0;
  font-size: 18px;
}
.box-link.box-link-small {
  padding: 1.5rem;
  font-size: 16px;
}
.box-link.box-link-small:before {
  height: 1rem;
}
.box-link.big-call:hover {
  background: #000;
  color: #FFF;
}
.box-link:hover {
  color: #000;
}
.box-link.big-call:before {
  height: 1rem;
}
.box-link:hover:before {
  width: 9rem;
}
.box-link span {
  display: block;
  z-index: 10;
}
.box-link .detail {
  line-height: 1.3em;
  margin-top: 0.3em;
}
.box-link:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  height: 2rem;
  width: 2rem;
  background: #000;
  transition: width 0.3s;
  z-index: 0;
}
.box-link.tint-1:before {
  background: #4ED2E2;
}
.box-link.tint-2:before {
  background: #FC5C65;
}
.box-link.tint-3:before {
  background: #FED850;
}
.box-link.disabled {
  border: 1px solid #CCC;
  color: #999;
}
.box-link.big-call.disabled:hover {
  background: #CCC;
}
.box-link.tint-1.disabled,
.box-link.tint-2.disabled,
.box-link.tint-3.disabled {
  background: #FFF;
}
.box-link.tint-1.disabled:before,
.box-link.tint-2.disabled:before,
.box-link.tint-3.disabled:before {
  display: none;
}
.papers-call + .sponsors {
  margin-top: 9rem;
}
.event .first-screen h1 {
  border: none;
  background: transparent;
  padding: 0;
  display: block;
}
.event .first-screen h1 span {
  border: 1px solid #000;
  background-color: #FFF;
  padding: 0.5rem 1.5rem;
  margin: 0 0 -1px;
  display: inline-block;
}
.event .first-screen h1 span .strips-small {
  left: auto;
  left: unset;
  right: 0;
  border: none;
  border-left: 1px solid #000;
  display: block;
  width: 1.3em;
}
.event .first-screen h1 span .strips-small:last-child {
  padding: 0;
}
.event .first-screen h1 span:last-child {
  padding-right: 1.6em;
}
@media (max-width: 600px) {
  .event .first-screen .date span {
    font-size: 32px;
  }
}
.event .first-screen .date .days {
  font-size: 38px;
  margin: 0.5em 0 0 1em;
}
@media (max-width: 600px) {
  .event .first-screen .date .days {
    font-size: 32px;
    line-height: 0.5em;
    margin: 0.25em 0 0 0.25em;
  }
}
@media (max-width: 600px) {
  .event .first-screen .date {
    padding: 0.75rem 1.5rem;
  }
}
.event .first-screen .strips-small {
  position: absolute;
  top: 0;
  left: 0;
  width: 2.2em;
  height: 100%;
  border-right: 1px solid #000;
  background-color: #FFF;
}
.event .first-screen .strips-small g {
  transform: rotateY(180deg) translateX(-100%);
}
@media (max-width: 600px) {
  .event .first-screen .container,
  .event .first-screen .container-md {
    left: 0;
    margin-bottom: -8rem;
  }
}
section.event h1.name {
  font-size: 42px;
  margin: 6rem 0 0.5rem;
}
@media (max-width: 600px) {
  section.event h1.name {
    margin-top: 2rem;
  }
}
section.event a {
  color: #000;
  display: inline-block;
}
section.event a.box-link {
  display: block;
}
.light-list li {
  padding: 1rem 0 1rem 4rem;
  display: block;
  line-height: 1.3em;
  max-width: 420px;
}
.light-list li:before {
  content: "";
  display: block;
  height: 0;
  border-bottom: 1px solid #AAA;
  width: 1rem;
  left: -3rem;
  top: 1em;
}
.light-list li ul li {
  padding-left: 2rem;
  display: block;
  line-height: 1.3em;
  max-width: 420px;
}
.profile-list li {
  padding: 1rem 0;
  border-bottom: 1px solid #666;
  display: block;
}
.profile-list li > a.box-link {
  padding: 0;
  border: none;
}
.profile-list li > a.box-link:before {
  top: -2rem;
}
.profile-list .flex {
  border-top: none;
  margin-left: -1rem;
  margin-right: -1rem;
}
.profile-list .flex li{
  padding: 1rem 0;
  margin: -1px 1rem 0;
  border-top: 1px solid #666;
}
.profile-list .flex li.sep-md {
  padding: 3rem 0;
}
.profile-list .flex li.sep-lg {
  padding: 5rem 0;
}
.profile-list .flex li.senior {
  padding: 2rem 0;
}
.profile-list .flex .senior .name {
  font-size: 24px;
  display: block;
  margin: 2px 0;
}
.profile-list .flex li.col-2{
  flex-basis: calc(33.333% - 2rem);
}
.profile-list .flex li.col-3{
  flex-basis: calc(50% - 2rem);
}
.profile-list .profile-picture {
  border: none;
  padding: 1rem;
  margin: 0 -1rem;
}
.profile-list .detail {
  display: block;
  line-height: 1.2em;
  margin-top: 0.3em;
}
.profile-list h4 {
  margin: 0;
  padding: 1rem 0;
  border-bottom: 1px solid #666;
  font-weight: 300;
  font-size: 1em;
}
.profile-list h4 a {
  text-decoration-color: #AAA;
}
.profile-list h3 + h4,
.profile-list ul {
  border-top: 1px solid #666;
}

.profile-list h4 + ul {
  border-top: none;
}
.profile-list h4 b {
  font-weight: 400;
}
.flex {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  margin: 0 -2rem;
}
.flex .col-02,
.flex .col-05,
.flex .col-08,
.flex .col-1,
.flex .col-12,
.flex .col-15,
.flex .col-18,
.flex .col-2,
.flex .col-22,
.flex .col-25,
.flex .col-28,
.flex .col-3,
.flex .col-32,
.flex .col-35,
.flex .col-38,
.flex .col-4,
.flex .col-42,
.flex .col-45,
.flex .col-48,
.flex .col-5,
.flex .col-52,
.flex .col-55,
.flex .col-58,
.flex .col-6 {
  padding: 0 2rem;
}
.flex .col-02 {
  flex: 0 0 3.3333%;
}
.flex .col-05 {
  flex: 0 0 8.3333%;
}
.flex .col-08 {
  flex: 0 0 13.3333%;
}
.flex .col-1 {
  flex: 0 0 16.667%;
}
.flex .col-12 {
  flex: 0 0 20%;
}
.flex .col-15 {
  flex: 0 0 25%;
}
.flex .col-18 {
  flex: 0 0 30%;
}
.flex .col-2 {
  flex: 0 0 33.333%;
}
@media (max-width: 900px) {
  .flex .col-2 {
    flex: 0 0 50%;
  }
}
.flex .col-22 {
  flex: 0 0 36.6667%;
}
.flex .col-25 {
  flex: 0 0 41.6667%;
}
.flex .col-28 {
  flex: 0 0 46.6667%;
}
.flex .col-3 {
  flex: 0 0 50%;
}
.flex .col-6-3 {
  flex: 0 0 50%;
}
.flex .col-32 {
  flex: 0 0 53.3333%;
}
.flex .col-35 {
  flex: 0 0 58.3333%;
}
.flex .col-38 {
  flex: 0 0 63.3333%;
}
.flex .col-4 {
  flex: 0 0 66.666%;
}
.flex .col-42 {
  flex: 0 0 70%;
}
.flex .col-45 {
  flex: 0 0 75%;
}
.flex .col-48 {
  flex: 0 0 80%;
}
.flex .col-5 {
  flex: 0 0 83.333%;
}
.flex .col-52 {
  flex: 0 0 86.6667%;
}
.flex .col-55 {
  flex: 0 0 91.6667%;
}
.flex .col-58 {
  flex: 0 0 96.6667%;
}
.flex .col-6 {
  flex: 0 0 100%;
}
@media (max-width: 600px) {
  .flex {
    display: block;
  }
  .flex .col-02,
  .flex .col-05,
  .flex .col-08,
  .flex .col-1,
  .flex .col-12,
  .flex .col-15,
  .flex .col-18,
  .flex .col-2,
  .flex .col-22,
  .flex .col-25,
  .flex .col-28,
  .flex .col-3,
  .flex .col-32,
  .flex .col-35,
  .flex .col-38,
  .flex .col-4,
  .flex .col-42,
  .flex .col-45,
  .flex .col-48,
  .flex .col-5,
  .flex .col-52,
  .flex .col-55,
  .flex .col-58,
  .flex .col-6 {
    flex: 0 0 auto;
    margin: 4rem 0;
  }
  .flex .col-02:first-child,
  .flex .col-05:first-child,
  .flex .col-08:first-child,
  .flex .col-1:first-child,
  .flex .col-12:first-child,
  .flex .col-15:first-child,
  .flex .col-18:first-child,
  .flex .col-2:first-child,
  .flex .col-22:first-child,
  .flex .col-25:first-child,
  .flex .col-28:first-child,
  .flex .col-3:first-child,
  .flex .col-32:first-child,
  .flex .col-35:first-child,
  .flex .col-38:first-child,
  .flex .col-4:first-child,
  .flex .col-42:first-child,
  .flex .col-45:first-child,
  .flex .col-48:first-child,
  .flex .col-5:first-child,
  .flex .col-52:first-child,
  .flex .col-55:first-child,
  .flex .col-58:first-child,
  .flex .col-6:first-child {
    margin-top: 0;
  }
}

@media (max-width: 900px) {
  .flex .col-6-3 {
    flex: 0 0 100%;
  }
}

.container.flex,
.container-md.flex {
  padding-left: 0;
  padding-right: 0;
}
footer {
  padding: 0 3rem;
  overflow: hidden;
}
footer p:last-child {
  margin: 0;
}
footer .close {
  border: 1px solid #000;
  display: flex;
  align-items: stretch;
  margin: 5rem 0;
}
footer .close > * {
  flex: 1 1 0;
  border-right: 1px solid #000;
  margin: 0;
  padding: 3rem;
}
footer .close > *:last-child {
  border-right: none;
}
footer .close h2,
footer .close h3,
footer .close h4 {
  flex: 1 1 70%;
  letter-spacing: 0.05em;
  line-height: 45px;
  text-align: center;
  font-size: 21px;
  line-height: 1.3;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 600px) {
  footer .close h2,
  footer .close h3,
  footer .close h4 {
    line-height: 1.4em;
    padding: 1rem;
    border-right: none;
    min-height: 85px;
  }
}
@media (max-width: 600px) {
  footer .close {
    display: block;
  }
  footer .close:after {
    content: "";
    display: block;
    position: absolute;
    margin-right: -2px;
    right: -5rem;
    top: -1px;
    width: calc(5rem + 2px);
    height: calc(100% + 2px);
    border: 1px solid #000;
  }
}
footer nav.social {
  letter-spacing: 1.5rem;
  text-align: center;
  white-space: nowrap;
  display: flex;
  align-items: center;
  justify-content: center;
}
footer nav.social a {
  padding: 10px;
  margin: 0 5px;
  vertical-align: middle;
  letter-spacing: 0;
}
footer nav.social a:before {
  color: #000;
  font-size: 21px;
}
@media (max-width: 600px) {
  footer nav.social {
    padding: 1rem;
    letter-spacing: 3rem;
  }
}
footer .disclaimer {
  max-width: 900px;
  margin: 5rem auto;
}
footer .strips {
  min-height: 105px;
  flex: 1 1 30%;
  border-right: 1px solid #000;
  padding: 0;
}
@media (max-width: 600px) {
  footer .strips {
    padding: 0;
    width: calc(5rem + 2px);
    position: absolute;
    margin-left: -2px;
    left: -5rem;
    top: -1px;
    height: calc(100% + 2px);
    border: 1px solid #000;
  }
}
@keyframes displace {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(16px);
  }
}

.become-a-sponsor .schedule-block.schedule-block-third dl dt span,
.become-a-sponsor .schedule-block.schedule-block-third dl dt small {
  display: inline-block;
  vertical-align: middle;
  line-height: 1.1em;
}
.become-a-sponsor .schedule-block.schedule-block-third dl dt .h4 {
  width: 100%;
}
.become-a-sponsor .schedule-block.schedule-block-third dl dt span + small {
  top: 0.3em;
  margin-left: 2rem;
}

table.sponsors-packages {
  border-top: 1px solid #000;
  font-size: 16px;
  margin-bottom: 0;
}
table.sponsors-packages + table.sponsors-packages {
  border-top: none;
}
table.sponsors-packages:last-child {
  margin-bottom: 2rem;
}
table.sponsors-packages .black th,
table.sponsors-packages .black td {
  background: #000;
  color: #FFF;
}
table.sponsors-packages .strips-small {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
table.sponsors-packages th,
table.sponsors-packages td{
  width: 12%;
  border-bottom: 1px solid #000;
  border-left: 1px solid #000;
}
table.sponsors-packages th {
  font-weight: 300;
}
table.sponsors-packages td {
  text-align: center;
  vertical-align: middle;
  padding: 1rem;
}
table.sponsors-packages td small {
  font-size: 66%;
}
table.sponsors-packages td:first-child {
  text-align: left;
  width: 20%;
}
table.sponsors-packages th:last-child,
table.sponsors-packages td:last-child {
  border-right: 1px solid #000;
}
.break-page {
  display: none;
}
@page {
  size: A4;
  margin: 0mm;
}
@media print {
  html, body {
    width: 210mm;
    height: 297mm;
  }
  .burger,
	header .logo + em,
	header .logo + em + svg,
	.print_btn {
		display: none !important;
	}
  #main-nav,
  #mobi-menu {
    display: none;
  }
  .break-page {
    display: block;
  }
  .break-page,
  section,
  table {
    page-break-after: always;
  }
  h2 {
    page-break-after: auto;
  }
  .break-page + h2,
  .break-page + h3{
    margin-top: 5rem;
  }
  .break-page + table{
    margin-top: 5rem;
  }
  footer,
  .become-sponsor {
    display: none;
  }
  .container,
  .container-xl,
  .container-md {
    max-width: 600px;
  }
  .print-full-width {
    max-width: 100%;
  }
  .print-full-width table.sponsors-packages {
    width: 90%;
    margin: 0 auto;
  }
  header.main .container .logo {
    max-width: 200px;
    text-align: center;
    margin: 0 auto;
    padding: 1rem 0;
	  border-right: 0;
  }
  .no-display.display-in-print {
    display: block;
  }
  table.sponsors-packages {
    font-size: 12px;
    line-height: 1.2em;
	padding-top: 4em;
  }
  table.sponsors-packages .h4{
    font-size: 12px;
  }
  thead.no-display.display-in-print {
    display: table-header-group;
  }
  table.sponsors-packages + table.sponsors-packages {
    margin-top: 5rem;
  }
.light-list li,
.light-list li ul li {
  max-width: none;
}
}

@media (max-width: 900px) {
  .sponsors-levels {
    display: none;
  }
}

@media print and (max-width: 900px)  {
  .sponsors-levels {
    display: block;
  }
}

picture.content-full {
  display: block;
  margin: 3rem -2rem;
}
picture.content-full img {
  display: block;
  width: auto;
  height: auto;
  max-height: 720px;
  max-width: 100%;
  margin: 0 auto;
}

.rows-blocks {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
}
.rows-blocks > * {
  display: block;
  flex: 0 1 calc(50% - 4rem);
  border: 1px solid #000;
  margin: 2rem 0;
}
@media (max-width: 900px) {
  .rows-blocks > * {
    flex: 0 1 calc(100% - 4rem);
  }
}
.rows-blocks > .workshop {
  margin: 0;
  padding: 3rem 3rem 0;
  padding-left: 100px;
  margin: 2rem;
}
@media (max-width: 600px) {
  .rows-blocks > .workshop {
    flex: 0 1 100%;
    margin: 2rem 0;
  }
}
.rows-blocks > .workshop .full-link {
  text-decoration: none;
  margin: -3rem -3rem 0;
  padding: 3rem;
  display: block;
}
.rows-blocks > .workshop a.full-link a {
  text-decoration: none;
}
.rows-blocks > .workshop a.full-link:hover {
  color: #000;
}
.rows-blocks > .workshop.tint-1 a.full-link:hover {
  background: #4ED2E2;
}
.rows-blocks > .workshop.tint-2 a.full-link:hover {
  background: #FC5C65;
}
.rows-blocks > .workshop.tint-3 a.full-link:hover {
  background: #FED850;
}
.rows-blocks > .workshop .name {
  margin-top: 0;
}
.rows-blocks > .workshop .organizers {
  margin: 2rem 0 0;
}
.rows-blocks > .workshop .organizers h4 {
  font-size: 18px;
  margin: 0;
}
.rows-blocks > .workshop .organizers h4 + p {
  margin-top: 0.5rem;
}
.rows-blocks > .workshop .date {
  position: absolute;
  top: 0;
  left: 0;
  width: 70px;
  padding: 1rem;
  border-bottom: 1px solid #000;
  text-align: center;
  z-index: 10;
  background: #FFF;
}
.rows-blocks > .workshop .more {
  margin: 0 -3rem;
  padding: 0;
  border-top: 1px solid #000;
  display: flex;
}
.rows-blocks > .workshop .more a {
  display: flex;
  align-content: center;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  padding: 2rem;
  flex: 0 1 50%;
}
.rows-blocks > .workshop .more a:hover {
  color: #000;
  text-decoration: underline;
}
.rows-blocks > .workshop .more a.view-more {
  flex: 1 1 100%;
  text-align: center;
  border-right: 1px solid #000;
}
.rows-blocks > .workshop .more a.cfp {
  white-space: nowrap;
}
@media (max-width: 600px) {
  .rows-blocks > .workshop .more a.cfp {
    white-space: normal;
  }
}
.rows-blocks > .workshop.tint-1 .more a.cfp {
  background: #4ED2E2;
}
.rows-blocks > .workshop.tint-2 .more a.cfp {
  background: #FC5C65;
}
.rows-blocks > .workshop.tint-3 .more a.cfp {
  background: #FED850;
}
.rows-blocks > .workshop .more a.cfp:hover {
  background: #000;
  color: #FFF;
}
.rows-blocks > .workshop .more a.view-more:last-child {
  border-right: none;
}
.rows-blocks > .workshop .strips {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 71px;
  height: 100%;
  border-right: 1px solid #000;
  z-index: 0;
  background-position: 0 0;
}
.rows-blocks > .workshop .view-more-holder {
  margin: 0 -3rem;
}
.rows-blocks > .workshop .view-more-holder > * {
  border-top: 1px solid #000;
  padding: 2rem 3rem 3rem;
}
.view-more-holder {
  height: 0;
  overflow: hidden;
  transition: height ease 0.3s;
}
.view-more-holder.open {}
.view-more-holder > * {
  margin: 0;
}
.video-holder {
  position: relative;
  padding-bottom: 56.25%;
  overflow: hidden;
}
.video-holder iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media (max-width: 600px) {
  .first-screen .call.mobile-top {
    position: absolute;
    top: -30vh;
    margin-top: -1rem;
    left: 15px;
    right: 15px;
  }
}

.sponsors nav .sorted-brands {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 1400px;
  margin: 0 auto;
}
.sponsors nav .sorted-brands > * {
  margin: 0;
  padding: 0 5px;
  flex: 0 0 20%;
}
.sponsors nav .sorted-brands > * img {
  margin: 0 auto;
}

@media (max-width: 600px) {
  .sponsors nav .sorted-brands > * {
    margin: 0;
    padding: 0 5px;
    flex: 0 0 100%;
  } 
}


.rows-blocks.schedule-details {
  /* flex-direction: column; */
}
.rows-blocks > .schedule-detail {
  margin: 2rem;
  flex: 0 1 calc(100% - 4rem);
}
.schedule-detail .schedule-detail-header {
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid #000;
  margin-bottom: -1px;
}
.schedule-detail .schedule-detail-header .day {
  flex: 1 1 50%;
  margin: 0;
}
.schedule-detail .schedule-detail-header .view-more {
  display: flex;
  flex: 1 0 150px;
  text-align: center;
  text-decoration: none;
  border-left: 1px solid #000;
  margin-left: -1px;
  margin-bottom: -1px;
  align-items: center;
  justify-content: center;
}
@media (min-width: 600px) {
  .schedule-detail .schedule-detail-header .view-more {
    max-width: 150px;
  }
}
.schedule-detail .schedule-detail-header .view-more:hover {
  color: #FFF;
  background: #000;
}
.schedule-detail .schedule-detail-header .strips {
  display: block;
  border-right: 1px solid #000;
  flex: 0 0 80px;
}
.schedule-detail .schedule-detail-header > * {
  padding: 2rem;
}
.schedule-detail ul {
  margin: 0;
}
.schedule-detail ul li {
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid #000;
}
.schedule-detail ul li > .hour {
  padding-top: 1rem;
  padding-bottom: 1rem;
  display: flex;
  align-items: center;
  flex: 0 0 80px;
  text-align: center;
  justify-content: center;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  margin-right: -1px;
  margin-bottom: -1px; 
}
.schedule-detail ul li > .info {
  padding: 0;
  flex: 1 1 0;
}
.schedule-detail ul li > .info .header {
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px;
}
.schedule-detail ul li > .info .schedule-detail-header > * {
  flex: 1 1 0;
  padding: 2rem;
  margin: 0;
}
.schedule-detail ul li > .info .schedule-detail-header h3 {
}
.schedule-detail ul li > .info .schedule-detail-events + .schedule-detail-header {
  border-top: 1px solid #000;
}
.schedule-detail ul li ul {
  border-bottom: 1px solid #000;
  margin-bottom: -1px;
}
.schedule-detail ul li ul li {
  display: block;
  padding: 1rem 2rem;
}
.schedule-detail ul li ul li > * {
  padding: 0;
}
.schedule-detail ul li ul li h4 {
  margin-top: 1rem;
}
.schedule-detail .schedule-detail-header h3 a,
.schedule-detail ul li ul li h4 a {
  text-decoration: none;
}
.schedule-detail ul li:last-child {
  border-bottom: none;
}
.schedule-detail .view-more-holder ul li .info {
  flex: 1 1 50%;
}
.schedule-detail .view-more-holder ul li .location {
  margin-bottom: 0;
  font-size: 80%;
}
.schedule-detail .schedule-detail-header h3 {
  margin-top: 0;
  margin-bottom: 0;
}
.schedule-detail .schedule-detail-header p {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.schedule-detail .schedule-detail-header .detail-hour {
  margin-top: -0.3em;
}
.schedule-detail .schedule-detail-header .title-sep {
  opacity: 0.6;
  font-weight: 200;
  top: -0.1em;
}
.schedule-detail .view-more-holder ul li h3:first-child {
  margin-top: 0;
}
.schedule-detail .view-more-holder ul li h3:last-child {
  margin-bottom: 0;
}
.schedule-detail .view-more-holder ul li p {
  margin-bottom: 1rem;
}
.schedule-detail .view-more-holder ul li hr {
  border-top: 1px solid #666;
  margin: 2rem 0;
}
.schedule-detail .view-more-holder ul li hr:last-child {
  display: none;
}
.section-title.no-margin {
  margin-bottom: 0;
}
.light {
  font-weight: 200;
}
.mar-no {
  margin: 0;
}

picture .cc {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 24px 12px 3px;
  background: linear-gradient(transparent, rgba(0,0,0,0.3));
  color: #FFF;
  opacity: 0.8;
  font-weight: 400;
  font-size: 10px;
  letter-spacing: 0.1em;
  text-align: right;
}
picture .cc a {
  color: #FFF;
  text-decoration: none;
  display: block;
}
picture .cc:hover a {
  opacity: 1;
}
picture .cc a:hover {
  opacity: 1;
  color: #FFF;
}

footer .cc {
  opacity: 0.75;
}

footer .cc:before {
  content: "";
  display: block;
  max-width: 200px;
  margin: 1rem auto;
  border-top: 1px solid #666;
}
footer .cc a {
  color: #000;
  text-decoration: none;
}

footer .container {
  padding-bottom: 3rem;
}

.first-screen picture .cc {
  border: none;
}

@media (max-width: 600px) {
  .sponsors {
    padding-left: 0;
    padding-right: 0;
  }
  .sponsors nav a,
  .sponsors nav span {
    margin-left: 0;
    margin-right: 0;
  }
  .sponsors nav.lvl-1 {
    overflow: hidden;
  }
  .sponsors nav.lvl-1 a,
  .sponsors nav.lvl-1 span {
    display: block;
    margin-left: -2rem;
    margin-right: -2rem;
  }
  .sponsors nav.lvl-1 a span,
  .sponsors nav.lvl-1 span span {
    display: none;
  }
  .sponsors nav.lvl-1 a img,
  .sponsors nav.lvl-1 span img {
    margin: 0 auto;
  }
}

.sponsors-list li {
  display: flex;
  align-items: center;
}
.sponsors-list li > * {
  padding: 2rem;
}
.sponsors-list li a {
  flex: 0 0 40%;
  text-decoration: none;
}
.sponsors-list li a img {
  display: block;
  max-width: 100%;
  max-height: 200px;
  height: auto;
  margin: 0 auto;
}
.sponsors-list li a p.detail {
  padding: 2rem;
}
.sponsors-list.profile-list li.no-border {
  border-bottom: none;
}
.tint-1--fixed {
  background: #4ED2E2 !important;
}
.half-alpha {
  opacity: 50%;
}
.box-link.with-strips {
  padding-left: 8rem;
  text-align: left;
}
.box-link.with-strips .strips {
  background-color: #FFF;
  position: absolute;
  top: 0;
  left: 0;
  width: 6rem;
  bottom: 0;
  border-right: 1px solid #000;
}