/*
 * Bulma
 */
/*
 * Media Queries mixins for Sass
 */
.overlay .css-loader {
  font-size: 90px;
  position: relative;
  overflow: hidden;
  width: 1em;
  height: 1em;
  margin: 72px auto;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load6 1.7s infinite ease;
  animation: load6 1.7s infinite ease;
  text-indent: -9999em;
  color: #fff;
  border-radius: 50%; }

@-webkit-keyframes load6 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    box-shadow: 0 -.83em 0 -.4em, 0 -.83em 0 -.42em, 0 -.83em 0 -.44em, 0 -.83em 0 -.46em, 0 -.83em 0 -.477em; }
  5%,
  95% {
    box-shadow: 0 -.83em 0 -.4em, 0 -.83em 0 -.42em, 0 -.83em 0 -.44em, 0 -.83em 0 -.46em, 0 -.83em 0 -.477em; }
  10%,
  59% {
    box-shadow: 0 -.83em 0 -.4em, -.087em -.825em 0 -.42em, -.173em -.812em 0 -.44em, -.256em -.789em 0 -.46em, -.297em -.775em 0 -.477em; }
  20% {
    box-shadow: 0 -.83em 0 -.4em, -.338em -.758em 0 -.42em, -.555em -.617em 0 -.44em, -.671em -.488em 0 -.46em, -.749em -.34em 0 -.477em; }
  38% {
    box-shadow: 0 -.83em 0 -.4em, -.377em -.74em 0 -.42em, -.645em -.522em 0 -.44em, -.775em -.297em 0 -.46em, -.82em -.09em 0 -.477em; }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
    box-shadow: 0 -.83em 0 -.4em, 0 -.83em 0 -.42em, 0 -.83em 0 -.44em, 0 -.83em 0 -.46em, 0 -.83em 0 -.477em; } }

@keyframes load6 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    box-shadow: 0 -.83em 0 -.4em, 0 -.83em 0 -.42em, 0 -.83em 0 -.44em, 0 -.83em 0 -.46em, 0 -.83em 0 -.477em; }
  5%,
  95% {
    box-shadow: 0 -.83em 0 -.4em, 0 -.83em 0 -.42em, 0 -.83em 0 -.44em, 0 -.83em 0 -.46em, 0 -.83em 0 -.477em; }
  10%,
  59% {
    box-shadow: 0 -.83em 0 -.4em, -.087em -.825em 0 -.42em, -.173em -.812em 0 -.44em, -.256em -.789em 0 -.46em, -.297em -.775em 0 -.477em; }
  20% {
    box-shadow: 0 -.83em 0 -.4em, -.338em -.758em 0 -.42em, -.555em -.617em 0 -.44em, -.671em -.488em 0 -.46em, -.749em -.34em 0 -.477em; }
  38% {
    box-shadow: 0 -.83em 0 -.4em, -.377em -.74em 0 -.42em, -.645em -.522em 0 -.44em, -.775em -.297em 0 -.46em, -.82em -.09em 0 -.477em; }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
    box-shadow: 0 -.83em 0 -.4em, 0 -.83em 0 -.42em, 0 -.83em 0 -.44em, 0 -.83em 0 -.46em, 0 -.83em 0 -.477em; } }

/**
 * HOME
 */
#Home {
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 1300px auto;
  background-image: url(../images/home/bg-section/home.jpg);
  background-size: cover; }
  @media only screen and (min-width: 1300px) {
    #Home {
      background-size: 100% auto; } }
  #Home > .hero-body {
    padding-bottom: calc(1300px / 8.10811 * 1); }
    @media only screen and (min-width: 1300px) {
      #Home > .hero-body {
        padding-bottom: calc(100vw / 8.10811 * 1); } }
  #Home .container {
    -ms-flex-negative: 1;
        flex-shrink: 1;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    text-align: center; }
    #Home .container figure.image > .presents > img {
      margin: auto;
      max-width: 200px;
      width: 28%; }
      @media screen and (min-width: 769px), print {
        #Home .container figure.image > .presents > img {
          width: 15%; } }
    #Home .container figure.image > .logo > img {
      margin: auto;
      max-width: 800px;
      width: 80%; }
      @media screen and (min-width: 769px), print {
        #Home .container figure.image > .logo > img {
          margin-top: -3rem; } }
    #Home .container figure.image > .text > img {
      margin: auto;
      max-width: 400px;
      width: 55%;
      margin-top: 1rem; }
      @media screen and (min-width: 769px), print {
        #Home .container figure.image > .text > img {
          width: 45%;
          margin-top: 0; } }
    #Home .container .section {
      padding-left: 0;
      padding-right: 0;
      color: #fff;
      font-size: 2.8rem;
      font-weight: 500; }

@media only screen and (orientation: portrait) and (max-width: 768px) {
  #Home .container .section {
    font-size: 3rem; } }

@media only screen and (orientation: portrait) and (max-width: 414px) {
  #Home .container .section {
    font-size: 1.6rem; } }
      #Home .container .section > strong {
        font-weight: 600;
        color: #ffe035; }
        @media screen and (max-width: 768px) {
          #Home .container .section > strong {
            position: relative;
            font-size: 2.4rem; }
            #Home .container .section > strong:before {
              display: block;
              content: "";
              width: 10rem;
              height: 1px;
              margin: auto;
              margin-bottom: 0.5rem;
              background-color: white; } }
      #Home .container .section:first-child {
        padding-top: 3rem; }
        @media screen and (min-width: 769px), print {
          #Home .container .section:first-child {
            padding-top: 3rem; } }
      #Home .container .section.summary > .columns > .column {
        position: relative; }
        #Home .container .section.summary > .columns > .column:not(:first-child):before {
          content: "";
          display: block;
          position: absolute;
          left: 0;
          top: 0.75rem;
          width: 1px;
          height: calc(100% - 0.75rem - 0.75rem);
          background-color: rgba(255, 255, 255, 0.3); }
      #Home .container .section.summary .title {
        font-weight: 600;
        color: #ffe035;
        font-size: 3.3rem;
        margin-bottom: -0.5rem;
        margin-top: 0; }
        @media screen and (min-width: 769px), print {
          #Home .container .section.summary .title {
            font-size: 6.5rem;
            margin-top: -1rem; } }
      #Home .container .section.summary .heading {
        font-weight: 600;
        font-size: 1.1rem;
        letter-spacing: 0.1rem;
        margin-top: -0.5rem;
        margin-bottom: 0; }
        @media screen and (min-width: 769px), print {
          #Home .container .section.summary .heading {
            font-size: 2.0rem;
            letter-spacing: 0.2rem;
            margin-top: -1rem; } }

/*
 * REGISTER
 */
#Register {
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 1300px auto;
  background-image: url(../images/home/bg-section/register.png);
  background-size: cover;
  margin-top: calc(1300px / 8.10811 * -1); }
  @media only screen and (min-width: 1300px) {
    #Register {
      background-size: 100% auto; } }
  @media only screen and (min-width: 1300px) {
    #Register {
      margin-top: calc(100vw / 8.10811 * -1); } }
  #Register > .hero-body {
    padding-top: calc(1300px / 8.10811 * 1);
    padding-bottom: calc(1300px / 9.62963 * 1); }
    @media only screen and (min-width: 1300px) {
      #Register > .hero-body {
        padding-top: calc(100vw / 8.10811 * 1); } }
    @media only screen and (min-width: 1300px) {
      #Register > .hero-body {
        padding-bottom: calc(100vw / 9.62963 * 1); } }
  #Register figure {
    margin-top: 3rem; }
    #Register figure.image.title img {
      margin: auto;
      max-width: 70%; }
      @media screen and (min-width: 1024px) {
        #Register figure.image.title img {
          max-width: 450px; } }
  #Register p.date {
    color: #ffe035;
    font-weight: 600;
    margin-top: 3.5rem;
    margin-bottom: 3.5rem;
    font-size: 4.5rem; }
    @media only screen and (min-width: 414px) {
      #Register p.date {
        font-size: 5rem; } }
    @media screen and (min-width: 769px), print {
      #Register p.date {
        font-size: 6.8rem; } }
  #Register .countdown {
    font-weight: 500;
    font-size: 1.6rem;
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
    font-size: 3.0rem; }
    @media only screen and (max-width: 320px) {
      #Register .countdown {
        font-size: 1.4rem; } }
    @media only screen and (max-width: 320px) {
      #Register .countdown {
        font-size: 2.8rem; } }
    @media screen and (min-width: 769px), print {
      #Register .countdown {
        font-size: 3.8rem; } }
    #Register .countdown > span {
      font-size: inherit; }
      #Register .countdown > span.dots {
        font-size: 80%; }
        @media screen and (min-width: 769px), print {
          #Register .countdown > span.dots {
            margin-left: 2rem;
            margin-right: 2rem; } }
      #Register .countdown > span > span {
        font-size: 100%; }
        @media screen and (min-width: 769px), print {
          #Register .countdown > span > span {
            font-size: 120%; } }
        #Register .countdown > span > span.unit {
          font-size: 70%; }
          @media screen and (min-width: 769px), print {
            #Register .countdown > span > span.unit {
              font-size: 80%; } }

/*
 * IN YEAR 2018
 */
#InYear2018 {
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 1300px auto;
  background-image: url(../images/home/bg-section/in-year-2018.png);
  margin-top: calc(1300px / 9.62963 * -1); }
  @media only screen and (min-width: 1300px) {
    #InYear2018 {
      background-size: 100% auto; } }
  @media only screen and (min-width: 1300px) {
    #InYear2018 {
      margin-top: calc(100vw / 9.62963 * -1); } }
  #InYear2018 > .hero-body {
    background: url(../images/home/bg-in-year-2018.svg) no-repeat top center;
    background-position: center calc(1300px / 9.62963);
    background-size: 900px auto;
    padding-top: calc(1300px / 9.62963 * 1);
    padding-bottom: calc(1300px / 11.8181 * 1); }
    @media screen and (min-width: 769px), print {
      #InYear2018 > .hero-body {
        background-size: 1400px auto; } }
    @media only screen and (min-width: 1300px) {
      #InYear2018 > .hero-body {
        background-position: center calc(100vw / 9.62963); } }
    @media only screen and (min-width: 1300px) {
      #InYear2018 > .hero-body {
        padding-top: calc(100vw / 9.62963 * 1); } }
    @media only screen and (min-width: 1300px) {
      #InYear2018 > .hero-body {
        padding-bottom: calc(100vw / 11.8181 * 1); } }
  #InYear2018 figure.image.title img {
    max-width: 830px;
    margin: auto; }
  #InYear2018 .section > p {
    font-weight: 500;
    font-size: 2.0rem; }
    @media screen and (min-width: 1024px) {
      #InYear2018 .section > p {
        font-size: 2.4rem; } }
    #InYear2018 .section > p > strong {
      font-size: 2.6rem;
      color: #ffe035;
      font-weight: inherit; }
      @media screen and (min-width: 1024px) {
        #InYear2018 .section > p > strong {
          font-size: 3.0rem; } }
  #InYear2018 .section.subjects {
    padding-top: 2rem; }
    #InYear2018 .section.subjects .columns > .column {
      padding-left: 4%;
      padding-right: 4%; }
    #InYear2018 .section.subjects .title {
      font-weight: 500;
      font-size: 1.4rem;
      line-height: 1.3; }
      @media screen and (min-width: 769px), print {
        #InYear2018 .section.subjects .title {
          font-size: 1.4rem; } }
      @media screen and (min-width: 1024px) {
        #InYear2018 .section.subjects .title {
          font-size: 1.8rem;
          margin-top: 0;
          margin-bottom: -0.5rem; } }
    #InYear2018 .section.subjects figure.image img {
      margin: auto; }
    #InYear2018 .section.subjects figure.image > img {
      width: 72px;
      height: 72px; }
    #InYear2018 .section.subjects figure.image > figcaption > img {
      height: 55px; }
  #InYear2018 .section.bottom p {
    font-weight: 500;
    font-size: 1.6rem; }
    @media screen and (min-width: 769px), print {
      #InYear2018 .section.bottom p {
        font-size: 2.4rem;
        margin-top: 2.5rem;
        margin-bottom: 2.5rem; } }
    #InYear2018 .section.bottom p:last-child {
      color: #ffe035;
      font-size: 1.8rem;
      margin-top: 2.5rem; }
      @media screen and (min-width: 769px), print {
        #InYear2018 .section.bottom p:last-child {
          font-size: 3.0rem;
          line-height: 1.5; } }

/*
 * WHY ATTEND?
 */
#WhyAttend {
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 1300px auto;
  background-image: url(../images/home/bg-section/why-attend.png);
  background-size: cover;
  margin-top: calc(1300px / 11.8181 * -1); }
  @media only screen and (min-width: 1300px) {
    #WhyAttend {
      background-size: 100% auto; } }
  @media only screen and (min-width: 1300px) {
    #WhyAttend {
      margin-top: calc(100vw / 11.8181 * -1); } }
  #WhyAttend > .hero-body {
    padding-top: calc(1300px / 11.8181 * 1);
    padding-bottom: calc(1300px / 5.3061 * 1); }
    @media only screen and (min-width: 1300px) {
      #WhyAttend > .hero-body {
        padding-top: calc(100vw / 11.8181 * 1); } }
    @media only screen and (min-width: 1300px) {
      #WhyAttend > .hero-body {
        padding-bottom: calc(100vw / 5.3061 * 1); } }
  #WhyAttend figure.image.title img {
    width: 90%;
    max-width: 470px;
    margin: auto; }
    @media screen and (min-width: 1024px) {
      #WhyAttend figure.image.title img {
        margin: none; } }
  #WhyAttend .content {
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 1.4;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-bottom: 5rem; }
    @media screen and (min-width: 1024px) {
      #WhyAttend .content {
        font-size: 1.8rem;
        padding-left: 0;
        padding-right: 2.0rem; } }
    #WhyAttend .content h3 {
      font-family: inherit;
      font-size: 2.1rem;
      color: #ffe035; }
      @media screen and (min-width: 1024px) {
        #WhyAttend .content h3 {
          font-size: 2.6rem; } }
    #WhyAttend .content span.is-highlight {
      color: #ffe035; }
    #WhyAttend .content span.is-large {
      color: #ffe035;
      font-size: 2.6rem; }

/*
 * SPEAKERS
 */
#Speakers {
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 1300px auto;
  background-image: url(../images/home/bg-section/speakers.png);
  margin-top: calc(1300px / 5.3061 * -1); }
  @media only screen and (min-width: 1300px) {
    #Speakers {
      background-size: 100% auto; } }
  @media only screen and (min-width: 1300px) {
    #Speakers {
      margin-top: calc(100vw / 5.3061 * -1); } }
  #Speakers > .hero-body {
    padding-top: calc(1300px / 5.3061 * 1);
    padding-bottom: calc(1300px / 7.22222 * 1); }
    @media only screen and (min-width: 1300px) {
      #Speakers > .hero-body {
        padding-top: calc(100vw / 5.3061 * 1); } }
    @media only screen and (min-width: 1300px) {
      #Speakers > .hero-body {
        padding-bottom: calc(100vw / 7.22222 * 1); } }
  #Speakers figure.image.title {
    font-weight: 400; }
    #Speakers figure.image.title img {
      width: 90%;
      max-width: 480px;
      margin: auto; }
      @media screen and (min-width: 1024px) {
        #Speakers figure.image.title img {
          margin: 0; } }
    #Speakers figure.image.title figcaption {
      font-size: 1.8rem;
      line-height: 1;
      text-align: center; }
      @media screen and (min-width: 1024px) {
        #Speakers figure.image.title figcaption {
          font-size: 2.4rem;
          padding-left: 6rem;
          text-align: left; } }
      #Speakers figure.image.title figcaption span {
        font-weight: 500;
        color: #ffe035;
        font-size: 2.2rem; }
        @media screen and (min-width: 1024px) {
          #Speakers figure.image.title figcaption span {
            font-size: 3.0rem; } }
  #Speakers figure.image.tags {
    max-width: 760px;
    margin: auto;
    margin-top: 5rem;
    margin-bottom: 5rem; }
  #Speakers .speakers {
    display: block;
    padding-top: 3rem;
    max-width: 900px;
    margin: auto; }
    @media screen and (min-width: 1024px) {
      #Speakers .speakers {
        padding-top: 10rem; } }
    #Speakers .speakers .columns,
    #Speakers .speakers .column {
      padding: 0;
      margin: 0; }
    @media screen and (min-width: 769px), print {
      #Speakers .speakers .column:nth-child(8n+1) figure {
        margin-left: 10%; } }
    @media screen and (min-width: 769px), print {
      #Speakers .speakers .column:nth-child(8n+2) figure {
        margin-left: -5%;
        margin-top: -20%; } }
    @media screen and (min-width: 769px), print {
      #Speakers .speakers .column:nth-child(8n+3) figure {
        margin-left: -15%; } }
    @media screen and (min-width: 769px), print {
      #Speakers .speakers .column:nth-child(8n+4) figure {
        margin-left: -25%;
        margin-top: -15%; } }
    @media screen and (min-width: 769px), print {
      #Speakers .speakers .column:nth-child(8n+6) figure {
        margin-left: -15%;
        margin-top: -20%; } }
    @media screen and (min-width: 769px), print {
      #Speakers .speakers .column:nth-child(8n+7) figure {
        margin-left: -25%; } }
    @media screen and (min-width: 769px), print {
      #Speakers .speakers .column:nth-child(8n+8) figure {
        margin-left: -35%;
        margin-top: -15%; } }
    #Speakers .speakers figure {
      position: relative;
      width: 65%;
      margin-top: -1.5rem; }
      @media screen and (min-width: 769px), print {
        #Speakers .speakers figure {
          width: 25%;
          margin-top: 0; } }
      @media screen and (min-width: 1024px) {
        #Speakers .speakers figure {
          width: 100%; } }
      #Speakers .speakers figure.odd {
        margin-left: auto; }
      #Speakers .speakers figure figcaption {
        position: absolute;
        bottom: 0rem;
        left: 0;
        right: 0;
        padding: 1rem;
        font-size: 1.6rem; }
        @media only screen and (orientation: landscape) {
          #Speakers .speakers figure figcaption {
            font-size: 3.2rem; } }
        @media screen and (min-width: 769px), print {
          #Speakers .speakers figure figcaption {
            font-size: 1.4rem; } }
        #Speakers .speakers figure figcaption h3 {
          color: #ffe035;
          font-weight: 500;
          font-size: 120%;
          line-height: 1.3; }
        #Speakers .speakers figure figcaption h6 {
          color: #ffe035;
          font-weight: 500;
          font-size: 100%;
          line-height: 1.3; }

/*
 * SPONSORS
 */
#Sponsors {
  color: initial;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 1300px auto;
  background-image: url(../images/home/bg-section/sponsors.png);
  margin-top: calc(1300px / 7.22222 * -1); }
  @media only screen and (min-width: 1300px) {
    #Sponsors {
      background-size: 100% auto; } }
  @media only screen and (min-width: 1300px) {
    #Sponsors {
      margin-top: calc(100vw / 7.22222 * -1); } }
  #Sponsors > .hero-body {
    margin-top: calc(1300px / 7.22222 * 1); }
    @media only screen and (min-width: 1300px) {
      #Sponsors > .hero-body {
        margin-top: calc(100vw / 7.22222 * 1); } }
  #Sponsors > .hero-body {
    background-color: #fff;
    padding-bottom: 10rem !important; }
  #Sponsors figure.image.title img {
    width: 90%;
    max-width: 600px;
    margin: auto; }
    @media screen and (min-width: 1024px) {
      #Sponsors figure.image.title img {
        margin: none; } }
  #Sponsors .sponsors-partners figure img {
    width: 100%;
    margin: auto; }
  #Sponsors .sponsors-partners .section {
    padding: 3.0rem 1.5rem; }
  #Sponsors .sponsors-partners h3 {
    font-weight: 600;
    color: #f4165f;
    font-size: 2.4rem;
    text-transform: uppercase;
    margin-bottom: 3.0rem; }
  #Sponsors .sponsors-partners .main-sponsor figure img {
    width: 90%;
    max-width: calc(320px + 10%); }
    @media screen and (min-width: 1024px) {
      #Sponsors .sponsors-partners .main-sponsor figure img {
        max-width: 320px; } }
  #Sponsors .sponsors-partners .venue-sponsor figure img,
  #Sponsors .sponsors-partners .stage-sponsor figure img,
  #Sponsors .sponsors-partners .session-sponsor figure img {
    width: 70%;
    max-width: calc(230px + 10%); }
    @media screen and (min-width: 1024px) {
      #Sponsors .sponsors-partners .venue-sponsor figure img,
      #Sponsors .sponsors-partners .stage-sponsor figure img,
      #Sponsors .sponsors-partners .session-sponsor figure img {
        max-width: 230px; } }
  #Sponsors .sponsors-partners .partner figure img {
    width: 90%;
    max-width: calc(150px + 10%); }
    @media screen and (min-width: 1024px) {
      #Sponsors .sponsors-partners .partner figure img {
        max-width: 150px; } }
  #Sponsors .sponsors-partners .supporter figure img {
    width: 90%;
    max-width: calc(150px + 10%); }
    @media screen and (min-width: 1024px) {
      #Sponsors .sponsors-partners .supporter figure img {
        max-width: 150px; } }
  #Sponsors .sponsors-partners .organized-by figure img {
    width: 90%;
    max-width: calc(200px + 10%); }
    @media screen and (min-width: 1024px) {
      #Sponsors .sponsors-partners .organized-by figure img {
        max-width: 200px; } }

/*
 * VENUE
 */
#Venue {
  background-color: #ffffff; }
  #Venue figure.image.title img {
    max-width: 300px; }
  #Venue .hero-body {
    min-height: 85rem;
    padding-top: 5rem;
    padding-bottom: 0; }
    #Venue .hero-body > .container {
      display: block;
      position: relative;
      margin-left: -1.5rem;
      margin-right: -1.5rem;
      width: 100vw;
      max-width: unset;
      height: 85rem; }
  #Venue .Information {
    display: block;
    position: relative;
    height: 100px; }
    #Venue .Information > .content {
      position: relative;
      background: url(../images/home/bg-venue.png) no-repeat 0 40px;
      max-width: 460px;
      height: 400px;
      z-index: 1; }
      #Venue .Information > .content > figure {
        text-align: left;
        margin: 0; }
        #Venue .Information > .content > figure img {
          margin: none; }
      #Venue .Information > .content > ol {
        position: absolute;
        top: 140px;
        left: 30px;
        margin: 0;
        padding-right: 1.5rem;
        z-index: 3;
        list-style-type: none;
        color: #ffe035; }
        #Venue .Information > .content > ol > li {
          position: relative;
          margin-left: 4rem;
          padding-top: 0.3rem;
          padding-bottom: 0.3rem; }
          #Venue .Information > .content > ol > li .icon {
            position: absolute;
            top: 0;
            left: -4rem; }
          #Venue .Information > .content > ol > li a {
            color: inherit; }
            #Venue .Information > .content > ol > li a.get-direction {
              font-weight: 600;
              color: #05d78f;
              text-decoration: underline; }
        #Venue .Information > .content > ol span.icon {
          color: #05d78f; }
  #Venue .bg {
    display: block;
    position: absolute;
    top: 10rem;
    left: 0;
    right: 0;
    height: 150px;
    width: 100vw;
    background: url(../images/home/bg-section/venue.png) no-repeat center top;
    background-size: 1300px 150px;
    z-index: 1; }
    @media only screen and (min-width: 1300px) {
      #Venue .bg {
        background-size: 100% 150px; } }
  #Venue #GoogleMap {
    position: absolute;
    top: 10rem;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 75rem;
    z-index: 0; }
