article {
    display: none !important
}

article.active {
    display: block !important
}

strong {
    color: #9e5235
}

a {
    color: #9e5235;
    text-decoration: none
}

.padding-bottom {
    padding-bottom: 50px
}

.hidden {
    display: none !important
}

.faded {
    opacity: 0;
    transition: opacity 300ms
}

.veil::before {
    content: ' ';
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 100;
    opacity: 0;
    transition: opacity 300ms
}

.veiled::before {
    opacity: 1 !important;
    transition: opacity 300ms
}

.centered {
    display: block;
    margin: 0 auto
}

.happened {
    opacity: .5
}

.happening {
    font-weight: bold !important
}

.prompt {
    position: fixed;
    display: flex;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    justify-content: center;
    align-items: center;
    z-index: 110;
    backdrop-filter: blur(10px)
}

.prompt .box {
    color: #494949;
    background-color: #f4f4f4;
    padding: 20px;
    margin: 20px;
    max-width: 575px;
    border-radius: 5px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3)
}

.prompt .box h1 {
    margin: 0;
    padding: 0
}

.prompt .box p {
    margin: 16px 0
}

.prompt .box .buttons {
    display: flex;
    justify-content: flex-end
}

.prompt .box .buttons div {
    padding: 5px 10px;
    color: #fff;
    background-color: #298252;
    cursor: pointer;
    border-radius: 5px;
    margin-left: 16px;
    font-weight: bold;
    letter-spacing: 1px
}

.prompt .box .buttons #promptCancel {
    background-color: #ddd;
    color: #666;
    font-weight: normal;
    letter-spacing: 0
}

@media (min-width: 720px) {
    .under-header {
        padding-top: 150px
    }
    .show-when-small {
        display: none !important
    }
}

@media (max-width: 720px) {
    .under-header {
        padding-top: 60px
    }
    .hide-when-small {
        display: none !important
    }
    .events-fancy ul {
        padding-left: 25px !important
    }
}

.events-fancy {
    text-align: left;
    color: white;
    position: relative;
    height: 100%;
    width: 100%;
    overflow: hidden;
    -webkit-overflow-scrolling: touch
}

.events-fancy::before {
    box-shadow: 0 325px 100px -200px #f4f4f4 inset;
    position: fixed;
    width: 100%;
    height: 250px;
    content: ' ';
    z-index: 10;
    pointer-events: none
}

.events-fancy::after {
    box-shadow: 0 -250px 100px -200px #f4f4f4 inset;
    position: fixed;
    width: 100%;
    height: 200px;
    bottom: 0;
    content: ' ';
    z-index: 10;
    pointer-events: none
}

.events-fancy ul {
    list-style: none;
    margin: 0;
    min-height: 200px;
    max-height: 100%;
    overflow-y: scroll;
    padding-top: 200px;
    padding-left: 100px;
    box-sizing: content-box
}

.events-fancy ul li {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    position: relative;
    margin: 15px 0 15px 0;
    min-height: 10px;
    padding: 0 0 0 15px;
    font-size: 28px;
    border-left: 3px solid #222;
    color: #222;
    align-content: flex-start
}

.events-fancy ul li:last-child {
    margin-bottom: 400px
}

.events-fancy ul li h1 {
    margin: 0;
    font-weight: normal
}

.events-fancy ul li>div {
    display: flex
}

.events-fancy ul li.happened {
    opacity: 1;
    border-left: 2px solid fade(#222, 25%)
}

.events-fancy ul li.happening::before {
    content: '\f061';
    font: normal normal normal 14px/1 FontAwesome, sans-serif;
    color: #222;
    position: absolute;
    margin-top: -7.5px;
    left: -35px;
    font-size: 25px
}

.events-fancy ul li a {
    display: block;
    margin-right: 10px;
    color: #e87a54
}

.events-fancy ul li a::before {
    font-family: FontAwesome, sans-serif;
    content: '\f041'
}

.events-fancy ul li .event {
    margin: 5px 0;
    cursor: pointer
}

.events-fancy ul li .event .event-hour {
    width: 54px;
    display: flex;
    font-family: 'Montserrat', sans-serif;
    flex-direction: column;
    text-align: right;
    font-weight: bold;
    font-size: 15px;
    margin-top: 3px;
    margin-right: 10px
}

.events-fancy ul li .event .event-hour .end-hour {
    font-size: 12px
}

.events-fancy ul li .event.subscribed .title::after {
    font-family: FontAwesome, sans-serif;
    content: "\f024";
    font-size: 13px;
    vertical-align: super;
    line-height: 0
}

.events-fancy ul li .event .title {
    position: relative;
    line-height: 25px
}

.countdown {
    position: absolute;
    width: 100%;
    height: 215px;
    box-sizing: border-box;
    cursor: pointer;
    transition: transform 300ms, box-shadow 300ms;
    border-radius: 100%;
    box-shadow: 0 -5px 42px rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center
}

.countdown .countdown-time {
    z-index: 1;
    font-size: 3rem;
    color: #fff;
    white-space: nowrap;
    text-align: center;
    font-weight: bold;
    padding-left: 0.125em;
    text-shadow: 0 4px 16px rgba(0, 0, 0, 0.3)
}

.countdown .countdown-bg {
    border-radius: 100%;
    border: 12px solid #e5e5e5;
    background: #298252;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 8px;
    z-index: 0
}

.countdown .countdown-bg img {
    width: 100%;
    opacity: 0.2
}

.countdown-time .seconds {
    vertical-align: top;
    font-size: 0.6em;
    width: 1.25em;
    display: inline-block;
    text-align: left;
    margin-left: 0.125em
}

.countdown-time__mobile {
    color: #000;
    position: fixed;
    top: 65px;
    z-index: 100;
    font-size: 4em;
    font-weight: bold
}

.container {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    max-width: 1024px;
    margin: 0 auto;
    padding: 16px
}

.container .panel {
    border-radius: 3px;
    flex: 1 1 350px;
    margin: 16px;
    background-color: #fff;
    color: #494949;
    overflow: hidden;
    text-align: left;
    position: relative;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19)
}

.container .panel p,
.container .panel ul,
.container .panel ol {
    margin: 5px 15px 5px 15px
}

.container .panel ul {
    list-style-type: disc
}

.container .panel ol {
    list-style-type: decimal
}

.container .panel ul,
.container .panel ol {
    padding-left: 8px
}

.container .panel li {
    list-style: inherit;
    display: list-item
}

.container .panel.large {
    flex: 1 1 782px
}

.container .panel a {
    color: #e87a54
}

.container .panel h1 {
    width: 100%;
    margin: 0 0 0 0;
    font-size: 20px;
    color: white;
    background-color: #298252;
    text-align: center;
    padding: 5px 0;
    padding-top: 3px
}

.container .panel h2 {
    margin: 5px 15px
}

.container .panel .panel-info h3 {
    font-weight: normal;
    font-family: 'Montserrat', sans-serif
}

.container .panel .margin-bottom {
    margin-bottom: 10px
}

.container .panel .text-centered {
    text-align: center
}

.container .panel .text-normal {
    font-weight: normal
}

.container .panel .no-indent {
    padding-left: 0
}

.container .panel .buttons {
    display: flex;
    border-radius: 3px;
    overflow: hidden
}

.container .panel .buttons a {
    display: block;
    flex: 1 1 0;
    color: #494949;
    text-decoration: none;
    background-color: #f2e7bf;
    padding: 8px;
    text-align: center;
    font-weight: bold
}

.container .panel .buttons a:not(:first-child) {
    border-left: thin solid white
}

.container .panel .label {
    display: inline
}

.container .panel .icon {
    display: inline-block;
    margin: 0;
    padding: 3px;
    text-align: center;
    border-radius: 5px;
    width: 30px;
    background-color: #e87a54;
    color: white;
    font-weight: normal
}

.container .panel>div {
    margin: 15px 15px
}

.container .panel>div p,
.container .panel>div h1,
.container .panel>div h2 {
    margin: 0 0
}

.container .panel span {
    display: inline-block;
    padding: 3px 6px;
    border-radius: 3px;
    background-color: #f8d6c6
}

.container .panel span a {
    color: #000
}

.container .panel .get-there .get-subtitle {
    margin-top: 0;
    margin-bottom: 10px
}

.container .panel .get-there p {
    margin-bottom: 5px
}

.container .panel .get-there h2 {
    margin-bottom: 15px
}

.container .panel .get-there .get-separator {
    margin-top: 15px;
    border-top: 1px solid #49494933;
    padding-bottom: 25px
}

.container .panel .get-there .get-accessible {
    margin-top: 20px
}

.container .no-margin div {
    margin: 0
}

body,
html,
main {
    height: 100%
}

body,
html {
    padding: 0;
    margin: 0;
    background-image: url("../img/bg.jpg");
    background-position: center center;
    background-attachment: fixed;
    background-repeat: no-repeat;
    font-family: 'Montserrat', sans-serif;
    transition: opacity 300ms;
    -webkit-tap-highlight-color: rgba(180, 201, 89, 0.4)
}

main {
    transition: opacity 300ms
}

#background {
    position: absolute;
    height: 100%;
    left: 50%;
    transform: translate(-50%, 0)
}

#header-nav-bar {
    position: fixed;
    width: 100%;
    z-index: 50
}

#header-nav-bar ul {
    display: flex;
    flex-direction: row;
    padding: 0;
    margin: 0;
    list-style: none;
    justify-content: center;
    box-shadow: 0 3px 0 rgba(30, 30, 30, 0.2)
}

#header-nav-bar ul li {
    flex: 1 1 0;
    border-left: thin solid rgba(30, 30, 30, 0.2);
    text-align: center;
    background: white
}

#header-nav-bar ul li a {
    display: block;
    padding: 10px 0;
    color: #494949;
    text-decoration: none
}

#header-nav-bar ul li:first-child {
    border-left: none
}

#header-nav-bar ul li.selected {
    box-shadow: 0 3px 0 rgba(30, 30, 30, 0.5);
    cursor: default
}

#header-nav-bar ul li#countdown-li {
    flex: 0 0 215px;
    position: relative;
    padding: 0
}

#header-nav-bar ul li#countdown-li .countdown {
    margin-top: -90px;
    padding: 90px 0 55px
}

#header-nav-bar ul li#countdown-li .countdown:hover {
    transform: translateY(-5px)
}

#header-small {
    position: fixed;
    width: 100%;
    z-index: 99
}

#header-small .bar {
    position: relative;
    height: 50px;
    background-color: #fff;
    color: #222;
    border-bottom: thin solid rgba(125, 125, 125, 0.3);
    box-shadow: 0 0 10px 0 rgba(125, 125, 125, 0.6)
}

#header-small .bar .title-container {
    display: flex;
    align-items: center;
    text-align: center;
    height: 100%
}

#header-small .bar .title-container h1 {
    flex: 1 1 0;
    margin: 0;
    padding: 0
}

#header-small .bar #open-aside-btn {
    display: flex;
    position: absolute;
    font-size: 20px;
    color: black;
    align-items: center;
    width: 50px;
    height: 100%;
    text-align: center;
    cursor: pointer
}

#header-small .bar #open-aside-btn span {
    flex: 1 1 0
}

#aside-small-menu {
    height: 100%;
    position: fixed;
    background-color: #f4f4f4;
    width: 200px;
    box-shadow: 0 0 13px 1px rgba(0, 0, 0, 0.6);
    z-index: 150;
    overflow: auto;
    left: 0;
    transition: left 300ms
}

#aside-small-menu.closed {
    left: -210px
}

#aside-small-menu #close-aside-btn {
    display: flex;
    align-items: center;
    text-align: center;
    height: 50px;
    width: 50px;
    cursor: pointer
}

#aside-small-menu #close-aside-btn div {
    flex: 1 1 0;
    font-size: 25px
}

#aside-small-menu div.logo {
    margin-top: 20px;
    text-align: center
}

#aside-small-menu div.logo img {
    width: 90%
}

#aside-small-menu nav {
    margin-top: 10px;
    background-color: #e7e7e7
}

#aside-small-menu nav ul {
    list-style: none;
    padding: 0
}

#aside-small-menu nav ul li {
    border-top: thin solid rgba(255, 255, 255, 0.3)
}

#aside-small-menu nav ul li.selected {
    font-weight: bold;
    background-color: #cecece
}

#aside-small-menu nav ul li a {
    display: block;
    padding: 10px 20px;
    color: #494949;
    text-decoration: none
}

#live .container-live {
    display: flex;
    top: 0;
    bottom: 0;
    width: 100%;
    position: fixed;
    justify-content: center;
    overflow: auto
}

#fullscreen {
    position: relative;
    height: 100%
}

#fullscreen>div {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%
}

#fullscreen .events-fancy {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    position: fixed
}

#fullscreen .events-fancy ul {
    max-height: 100%;
    width: 100%;
    height: 100%;
    margin-left: 40%
}

#fullscreen .events-fancy ul li {
    font-size: 1.5em;
    margin-right: 60%
}

#countdown-full {
    position: absolute;
    width: 33.333vw;
    height: 33.333vw;
    top: calc(50vh - 16.667vw);
    left: 8vw;
    z-index: 50;
    border-radius: 50%;
    box-shadow: 0 4px 42px 0 rgba(0, 0, 0, 0.3);
    text-shadow: 0 0 12px rgba(0, 0, 0, 0.5);
    cursor: pointer
}

#countdown-full .countdown-time {
    font-size: 7.5vw;
    padding-left: 0
}

#countdown-full .bg {
    position: absolute;
    width: 100%;
    left: 0;
    border-radius: 100%;
    border: 4px solid #5f723f;
    box-sizing: border-box
}

#hardware .container ul {
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    list-style: none
}

#hardware .container ul li {
    text-align: center;
    flex: 1 1 310px
}

#hardware .mlh-hardware-lab {
    margin: 0 0 10px;
    background-color: #9e5235
}

#rules h1 {
    font-size: 30px
}

#rules>div {
    max-width: 720px;
    margin: 0 auto;
    color: #494949
}

.prizes-container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    padding: 16px 0
}

.prizes-container div {
    text-align: center
}

.prizes-container div h3 {
    margin: 0;
    font-size: 2rem;
    color: #aa8e25
}

#map {
    height: 100vh;
    box-sizing: border-box;
    background-color: rgba(255, 255, 255, 0.4);
    overflow: auto hidden;
    position: relative
}

#map .floors {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    font-weight: 900;
    font-size: 5vh;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    padding: 14.5vh 0.5vh 12vh 0.5vh;
    background-color: #fff;
    color: #333;
    border-right: 2px solid #ddd
}

#map .floors span {
    text-align: center
}

@media (min-width: 720px) {
    #map .floors {
        display: none
    }
    #map img {
        height: unset;
        width: 100%
    }
}

#map img {
    height: calc(100% - 32px)
}

#map .map-button-container {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
    z-index: 1
}

#map .map-button-container p {
    margin-bottom: 8px
}

#map .map-button-container a {
    padding: 8px 24px;
    margin-bottom: 16px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    background: #298252;
    color: #fff;
    border-radius: 3px;
    display: inline-block;
    cursor: pointer;
    font-weight: bold
}

#map .map-button-container a.disabled {
    pointer-events: none;
    filter: grayscale(0.5);
    opacity: 0.4
}

#schedule>div {
    display: flex;
    flex-wrap: wrap
}

#schedule>div div {
    max-width: 100%
}

#schedule>div .table-container {
    color: #e87a54;
    flex: 1 1 0;
    margin-bottom: 50px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19)
}

#schedule>div .table-container h1 {
    border-radius: 3px 3px 0 0;
    text-align: center;
    margin: 0;
    padding: 10px;
    background-color: #298252;
    color: #fff
}

#schedule>div .table-container .table-scroll {
    overflow: auto
}

#schedule>div .table-container table {
    width: 100%;
    color: #494949;
    border-collapse: collapse;
    background-color: #fff;
    border-radius: 0 0 3px 3px
}

#schedule>div .table-container table thead {
    color: #fff;
    background-color: #298252
}

#schedule>div .table-container table td,
#schedule>div .table-container table th {
    padding: 10px;
    text-align: left
}

#schedule>div .table-container table td {
    border: thin solid fade(#e87a54, 20%)
}

#schedule>div .table-container table td:last-child {
    min-width: 200px
}

#schedule>div .table-container table td:first-child {
    text-align: center
}

#schedule>div .table-container table td:first-child .location-icon {
    display: inline-block
}

#schedule>div .table-container table td a {
    color: #e87a54
}