legend, td, th {
    padding: 0
}

.aside__title, .goto, .price-link, a.goto {
    -webkit-text-fill-color: transparent
}

a:active, a:focus, a:hover, form .form-select select:focus {
    outline: 0
}

.aside__inner:after, .box-wrapper:after, .container, .container:after, .gj-shop .row:after, .gj-shop hr, .gj-simulator .row:after, .gj-simulator hr, .prices, .prices:after, .weekend-switch--no-selection:after, form .form-row:after {
    clear: both
}

@-webkit-keyframes fadeIn {
    from {
        opacity: .3
    }
    to {
        opacity: 1
    }
}

@-moz-keyframes fadeIn {
    from {
        opacity: .3
    }
    to {
        opacity: 1
    }
}

@-ms-keyframes fadeIn {
    from {
        opacity: .3
    }
    to {
        opacity: 1
    }
}

@-o-keyframes fadeIn {
    from {
        opacity: .3
    }
    to {
        opacity: 1
    }
}

@keyframes fadeIn {
    from {
        opacity: .3
    }
    to {
        opacity: 1
    }
}

a.subtle, form label a, form label abbr[title], form legend a, form legend abbr[title] {
    position: relative
}

a.subtle:after, a.subtle:before, form label a:after, form label a:before, form label abbr[title]:after, form label abbr[title]:before, form legend a:after, form legend a:before, form legend abbr[title]:after, form legend abbr[title]:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: -6px;
    left: 0;
    border-bottom: 1px solid #E4E4E4;
    -webkit-transform: scaleX(1) translateZ(0);
    -moz-transform: scaleX(1) translateZ(0);
    transform: scaleX(1) translateZ(0);
    -webkit-transform-origin: 100% 0;
    -moz-transform-origin: 100% 0;
    -ms-transform-origin: 100% 0;
    -o-transform-origin: 100% 0;
    transform-origin: 100% 0;
    -webkit-transition: all .2s cubic-bezier(.8, 0, .3, 1);
    -moz-transition: all .2s cubic-bezier(.8, 0, .3, 1);
    -o-transition: all .2s cubic-bezier(.8, 0, .3, 1);
    transition: all .2s cubic-bezier(.8, 0, .3, 1)
}

img, legend {
    border: 0
}

.cta, .download, a.cta, form .submit {
    -webkit-transition: background .3s ease
}

a.subtle:before, form label a:before, form label abbr[title]:before, form legend a:before, form legend abbr[title]:before {
    -webkit-transform: scaleX(0) translateZ(0);
    -moz-transform: scaleX(0) translateZ(0);
    transform: scaleX(0) translateZ(0);
    -webkit-transform-origin: 0 0;
    -moz-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    -o-transform-origin: 0 0;
    transform-origin: 0 0
}

a.subtle:hover:after, form label a:hover:after, form label abbr[title]:hover:after, form legend a:hover:after, form legend abbr[title]:hover:after {
    -webkit-transform: scaleX(0) translateZ(0);
    -moz-transform: scaleX(0) translateZ(0);
    transform: scaleX(0) translateZ(0)
}

a.subtle:hover:before, form label a:hover:before, form label abbr[title]:hover:before, form legend a:hover:before, form legend abbr[title]:hover:before {
    -webkit-transform: scaleX(1) translateZ(0);
    -moz-transform: scaleX(1) translateZ(0);
    transform: scaleX(1) translateZ(0);
    -webkit-transition-delay: .2s;
    -moz-transition-delay: .2s;
    -o-transition-delay: .2s;
    transition-delay: .2s
}

a.subtle:hover, form label a:hover, form label abbr[title]:hover, form legend a:hover, form legend abbr[title]:hover {
    cursor: pointer
}

a.subtle:active, a.subtle:focus, a.subtle:hover, a.subtle:visited, form label a:active, form label a:focus, form label a:hover, form label a:visited, form label abbr[title]:active, form label abbr[title]:focus, form label abbr[title]:hover, form label abbr[title]:visited, form legend a:active, form legend a:focus, form legend a:hover, form legend a:visited, form legend abbr[title]:active, form legend abbr[title]:focus, form legend abbr[title]:hover, form legend abbr[title]:visited {
    text-decoration: none
}

@-webkit-keyframes reveal {
    from {
        max-height: 0
    }
    to {
        max-height: 5px
    }
}

@-moz-keyframes reveal {
    from {
        max-height: 0
    }
    to {
        max-height: 5px
    }
}

@-ms-keyframes reveal {
    from {
        max-height: 0
    }
    to {
        max-height: 5px
    }
}

@-o-keyframes reveal {
    from {
        max-height: 0
    }
    to {
        max-height: 5px
    }
}

@keyframes reveal {
    from {
        max-height: 0
    }
    to {
        max-height: 5px
    }
}

.box:before, .cta-box:before, .popup:before, .weekend-switch__button--active:after {
    -webkit-animation: reveal ease-in 1;
    -moz-animation: reveal ease-in 1;
    -ms-animation: reveal ease-in 1;
    -o-animation: reveal ease-in 1;
    animation: reveal ease-in 1;
    -webkit-animation-fill-mode: forwards;
    -moz-animation-fill-mode: forwards;
    -ms-animation-fill-mode: forwards;
    -o-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation-duration: .3s;
    -moz-animation-duration: .3s;
    -ms-animation-duration: .3s;
    -o-animation-duration: .3s;
    animation-duration: .3s
}

.aside__inner:after, .aside__inner:before, .box-wrapper:after, .box-wrapper:before, .container:after, .container:before, .gj-shop .row:after, .gj-shop .row:before, .gj-simulator .row:after, .gj-simulator .row:before, .prices:after, .prices:before, .weekend-switch--no-selection:after, .weekend-switch--no-selection:before, form .form-row:after, form .form-row:before {
    content: " ";
    display: table
}

.aside__title:after, .box:before, .cta-box:before, .download:before, .popup:before, .ticket-sale:after, .weekend-switch__button--active:after, .weekend-switch__button:before {
    content: '';
    display: block;
    margin: auto;
    position: absolute;
    width: 100%
}

.box, .box-wrapper, .clean-content + .footer, .cta-box, .popup, .weekend-switch__button--active, sub, sup {
    position: relative
}

.weekend-switch__button--active:after {
    left: 0;
    bottom: 0
}

.box:before, .cta-box:before, .popup:before {
    left: 0;
    top: 0;
    height: 5px
}

.aside__title:after, .box:before, .cta-box:before, .popup:before {
    background-image: -webkit-linear-gradient(-216deg, #5093CA 0, #254B62 100%);
    background-image: -moz-linear-gradient(-216deg, #5093CA 0, #254B62 100%);
    background-image: -ms-linear-gradient(-216deg, #5093CA 0, #254B62 100%);
    background-image: -o-linear-gradient(-216deg, #5093CA 0, #254B62 100%);
    background-image: linear-gradient(-216deg, #5093CA 0, #254B62 100%);
    background-size: 100%
}

/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html {
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
    display: block
}

audio, canvas, progress, video {
    display: inline-block;
    vertical-align: baseline
}

audio:not([controls]) {
    display: none;
    height: 0
}

[hidden], template {
    display: none
}

a {
    background-color: transparent
}

abbr[title] {
    border-bottom: 1px dotted
}

dfn {
    font-style: italic
}

mark {
    background: #ff0;
    color: #000
}

small {
    font-size: 80%
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    vertical-align: baseline
}

sup {
    top: -.5em
}

sub {
    bottom: -.25em
}

svg:not(:root) {
    overflow: hidden
}

pre, textarea {
    overflow: auto
}

code, kbd, pre, samp {
    font-family: monospace, monospace;
    font-size: 1em
}

button, input, optgroup, select, textarea {
    color: inherit;
    font: inherit;
    margin: 0
}

button {
    overflow: visible
}

button, select {
    text-transform: none
}

button, html input[type=button], input[type=reset], input[type=submit] {
    -webkit-appearance: button;
    cursor: pointer
}

button[disabled], html input[disabled] {
    cursor: default
}

button::-moz-focus-inner, input::-moz-focus-inner {
    border: 0;
    padding: 0
}

input {
    line-height: normal
}

input[type=checkbox], input[type=radio] {
    box-sizing: border-box;
    padding: 0
}

input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button {
    height: auto
}

input[type=search] {
    -webkit-appearance: textfield;
    box-sizing: content-box
}

input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

fieldset {
    border: 1px solid silver;
    margin: 0 2px;
    padding: .35em .625em .75em
}

optgroup {
    font-weight: 700
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

.box-wrapper {
    margin-left: auto;
    margin-right: auto;
    max-width: 700px;
    padding: 1em;
    width: 100%;
    z-index: 100
}

@media only screen and (min-width: 992px) {
    .box-wrapper {
        padding: 0
    }
}

.box-wrapper.box-600 {
    max-width: 600px
}

.box-wrapper.box-700 {
    max-width: 700px
}

.box-wrapper.box-800 {
    max-width: 800px
}

.box-wrapper.box-900 {
    max-width: 900px
}

.box, .cta-box {
    background: #fff;
    -webkit-box-shadow: 0 7px 11px 0 rgba(0, 0, 0, .12);
    -moz-box-shadow: 0 7px 11px 0 rgba(0, 0, 0, .12);
    -ms-box-shadow: 0 7px 11px 0 rgba(0, 0, 0, .12);
    -o-box-shadow: 0 7px 11px 0 rgba(0, 0, 0, .12);
    box-shadow: 0 7px 11px 0 rgba(0, 0, 0, .12);
    padding: 25px 25px 15px;
    text-align: center
}

@media only screen and (min-width: 992px) {
    .box, .cta-box {
        padding: 35px 35px 20px
    }
}

.box h1, .cta-box h1 {
    margin-bottom: 10px;
    margin-top: 0;
    text-transform: uppercase
}

.box .pretitle, .cta-box .pretitle {
    font-weight: 600;
    font-size: 14px;
    font-size: .875rem;
    color: #3F3F46;
    letter-spacing: 1.5px;
    margin-bottom: 7px;
    text-transform: uppercase
}

.box-header {
    margin-bottom: 20px;
    margin-top: 20px;
    text-align: center
}

@media only screen and (min-width: 992px) {
    .box-header {
        margin-bottom: 30px;
        margin-top: 30px
    }
}

@media only screen and (min-width: 1200px) {
    .box, .cta-box {
        padding: 45px 45px 30px
    }

    .box-header {
        margin-bottom: 40px;
        margin-top: 40px
    }
}

.box-header img {
    width: 150px
}

@media only screen and (min-width: 768px) {
    .box-header img {
        width: 200px
    }
}

.box-content {
    border-top: 1px solid #E0E0EA;
    margin: 90px -25px -15px;
    padding: 0 25px 15px;
    background-image: -webkit-gradient(linear, left top, left 300px, from(#EDEFF5), to(#fff));
    background-image: -webkit-linear-gradient(top, #EDEFF5 0, #fff 300px);
    background-image: -moz-linear-gradient(top, #EDEFF5 0, #fff 300px);
    background-image: -ms-linear-gradient(top, #EDEFF5 0, #fff 300px);
    background-image: -o-linear-gradient(top, #EDEFF5 0, #fff 300px);
    background-image: linear-gradient(to bottom, #EDEFF5 0, #fff 300px)
}

@media only screen and (min-width: 992px) {
    .box-header img {
        width: 250px
    }

    .box-content {
        margin: 90px -35px -20px;
        padding: 0 35px 20px
    }
}

@media only screen and (min-width: 1200px) {
    .box-content {
        margin: 90px -45px -30px;
        padding: 0 45px 30px
    }
}

.box-content-header {
    background: #fff;
    border: 1px solid #E0E0EA;
    -webkit-box-shadow: 0 2px 4px 0 rgba(224, 224, 234, .1);
    -moz-box-shadow: 0 2px 4px 0 rgba(224, 224, 234, .1);
    -ms-box-shadow: 0 2px 4px 0 rgba(224, 224, 234, .1);
    -o-box-shadow: 0 2px 4px 0 rgba(224, 224, 234, .1);
    box-shadow: 0 2px 4px 0 rgba(224, 224, 234, .1);
    margin-top: -60px;
    padding: .5em;
}

.box-content-header > .box-content-header-title {
    margin: -1.2em -.5em 0
}

.box-content-header > .box-content-header-title span {
    background: #fff;
    color: #3F3F46;
    font-size: 14px;
    font-size: .875rem;
    font-weight: 500;
    padding: 0 15px;
    letter-spacing: 1px;
    text-transform: uppercase
}

.box-content-header .highlighted {
    font-size: 18px;
    font-size: 1.125rem;
    text-transform: none
}

@media only screen and (min-width: 992px) {
    .box-content-header .highlighted {
        font-size: 22px;
        font-size: 1.375rem
    }
}

@media only screen and (min-width: 1200px) {
    .box-content-header .highlighted {
        font-size: 24px;
        font-size: 1.5rem
    }
}

.clean-content {
    background: #F7F7F7;
    clear: both;
    padding: 30px
}

.clean-content .pretitle {
    font-size: 13px;
    font-size: .8125rem;
    color: #77778C;
    font-weight: 500;
    letter-spacing: 2px;
    text-align: center;
    text-transform: uppercase
}

.clean-content h2 {
    margin: 0 auto 30px;
    max-width: 600px;
    text-align: center
}

@media only screen and (min-width: 992px) {
    .clean-content {
        padding: 45px
    }

    .clean-content h2 {
        margin-bottom: 45px
    }
}

@media only screen and (min-width: 1200px) {
    .clean-content h2 {
        margin-bottom: 65px
    }
}

@media only screen and (min-width: 768px) {
    .clean-content .col-50 {
        float: left;
        width: 49%
    }

    .clean-content .col-50 + .col-50 {
        margin-left: 2%
    }
}

.box-wrapper + .clean-content {
    padding-top: 70px;
    position: relative;
    top: -50px
}

@media only screen and (min-width: 992px) {
    .box-wrapper + .clean-content {
        padding-bottom: 65px;
        padding-top: 90px;
        top: -60px
    }
}

.clean-content + .footer {
    min-height: 150px
}

.clean-content + .footer p {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0
}

.cta-box {
    margin: 0 auto;
    padding: 25px;
    width: 400px
}

@media only screen and (min-width: 768px) {
    .cta-box {
        position: absolute;
        right: 0;
        top: -100px
    }
}

.cta-box h1 {
    font-size: 28px;
    font-size: 1.75rem;
    line-height: 1.1;
    margin-bottom: 30px
}

.cta-box .cta, .cta-box .download {
    margin-top: 30px
}

form legend {
    padding: 0
}

form fieldset {
    border: 0;
    padding: .01em 0 0;
    margin: 0;
    min-width: 0
}

form body:not(:-moz-handler-blocked) fieldset {
    display: table-cell
}

form label, form legend {
    color: #4C4E58;
    font-family: "Work Sans", sans-serif;
    font-size: 14.4px;
    font-size: .9rem;
    font-weight: 600;
    letter-spacing: 1px;
    display: block;
    margin-bottom: 10px;
    text-transform: uppercase
}

form .checkbox-group input, form .checkbox-group label, form .radio-group input, form .radio-group label, form .submit {
    display: inline-block
}

form label abbr, form legend abbr {
    color: #53535C
}

form label abbr[title], form legend abbr[title] {
    border-bottom: 0
}

form label small, form legend small {
    color: #9799A3;
    font-size: 14px;
    font-size: .875rem;
    font-weight: 400;
    text-transform: none
}

.cta, .download, a.cta, form .submit input {
    font-weight: 700;
    font-family: "Work Sans", sans-serif
}

form input, form textarea {
    border: 1px solid #E0E0EA;
    font-family: "Work Sans", sans-serif;
    letter-spacing: .5px;
    padding: 15px 10px
}

form input:focus, form textarea:focus {
    border-color: #B8B8B8;
    outline: 0
}

form input:disabled, form input[readonly], form textarea:disabled, form textarea[readonly] {
    background: #F2F2F2;
    border-color: #EBEBEB
}

form input[type=email], form input[type=tel], form input[type=text], form textarea {
    width: 100%
}

form .submit {
    background-image: -webkit-linear-gradient(-216deg, #5093CA 0, #254B62 100%);
    background-image: -moz-linear-gradient(-216deg, #5093CA 0, #254B62 100%);
    background-image: -ms-linear-gradient(-216deg, #5093CA 0, #254B62 100%);
    background-image: -o-linear-gradient(-216deg, #5093CA 0, #254B62 100%);
    background-image: linear-gradient(-216deg, #5093CA 0, #254B62 100%);
    background-size: 200% 100%;
    position: relative;
    -moz-transition: background .3s ease;
    -ms-transition: background .3s ease;
    -o-transition: background .3s ease;
    transition: background .3s ease
}

form .form-select, form .form-select:hover {
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -o-transition: all .3s ease
}

form .submit:active, form .submit:focus, form .submit:hover {
    background-position: 100%
}

form .submit input {
    background: url('data:image/svg+xml,<svg width="10" height="10" viewBox="733 1743 10 10" xmlns="http://www.w3.org/2000/svg"><path d="M740.382 1747.896l-2.734-2.734-.566-.565 1.132-1.132.566.566 3.3 3.3.565.566-.283.283-.283.282-3.303 3.302-.566.566-1.13-1.13.566-.567 2.736-2.737z" fill="#FFF" fill-rule="evenodd"/></svg>') right 20px center no-repeat;
    border: 0;
    color: #fff;
    font-size: 14px;
    font-size: .875rem;
    letter-spacing: .5px;
    padding: 15px 50px 15px 20px;
    text-transform: uppercase
}

form .submit input:active, form .submit input:focus, form .submit input:hover, form .submit input:visited {
    text-decoration: none
}

form .form-group {
    margin-bottom: 25px
}

form .checkbox-group, form .radio-group {
    margin-bottom: 0
}

form .checkbox-group label, form .radio-group label {
    font-weight: 400;
    letter-spacing: .5px;
    margin-left: 10px;
    text-transform: none
}

form .form-col-20 + .form-col-80, form .form-col-50 + .form-col-50, form .form-col-80 + .form-col-20 {
    margin-left: 2%
}

form .checkbox-group label:hover, form .radio-group label:hover {
    cursor: pointer
}

form .form-select {
    background: url('data:image/svg+xml,<svg width="10" height="10" viewBox="1083 1109 10 10" xmlns="http://www.w3.org/2000/svg"><path d="M1088.372 1116.38l2.734-2.734.566-.565 1.13 1.132-.565.566-3.3 3.3-.565.565-.283-.282-.284-.282-3.302-3.303-.566-.565 1.132-1.132.565.566 2.737 2.737z" fill="#7F7F82" fill-rule="evenodd"/></svg>') right 25px center no-repeat #fff;
    border: 1px solid #E0E0EA;
    overflow: hidden;
    transition: all .3s ease;
    width: 100%
}

form .form-select:hover {
    cursor: pointer;
    border-color: #B8B8B8;
    transition: all .3s ease
}

.goto:before, .weekend-switch__button:before {
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -o-transition: all .3s ease
}

form .form-select select {
    background: 0 0;
    border: none;
    box-shadow: none;
    padding: 15px 10px;
    -webkit-appearance: none;
    width: 100%
}

form .form-select select:hover {
    cursor: pointer
}

form fieldset .form-select {
    background-position: right 15px center;
    display: inline-block;
    width: auto
}

form fieldset .form-select select {
    padding-left: 20px;
    padding-right: 50px;
    width: auto
}

form .form-col-80 {
    float: left;
    width: 79%
}

form .form-col-50 {
    float: left;
    width: 49%
}

form .form-col-20 {
    float: left;
    width: 19%
}

form .g-recaptcha {
    margin-bottom: 25px
}

.help-message, .message {
    background-color: #fff;
    border: 1px solid #E0E0EA;
    font-size: 14px;
    font-size: .875rem;
    margin-bottom: 20px;
    padding: .8rem;
    text-align: center
}

.help-message {
    background-color: #fcf8e3;
    border: 1px solid #faebcc;
    color: #8a6d3b
}

.price, .price-box, .weekend-switch {
    border: 1px solid #E0E0EA
}

.notification-bar {
    background-color: #fcefb2;
    border-top: 1px solid #E0E0EA;
    -webkit-box-shadow: 0 5px 30px 0 rgba(0, 0, 0, .4);
    -moz-box-shadow: 0 5px 30px 0 rgba(0, 0, 0, .4);
    -ms-box-shadow: 0 5px 30px 0 rgba(0, 0, 0, .4);
    -o-box-shadow: 0 5px 30px 0 rgba(0, 0, 0, .4);
    box-shadow: 0 5px 30px 0 rgba(0, 0, 0, .4);
    color: #3f403b;
    font-weight: 500;
    width: 100%
}

.aside__inner h4, .aside__title {
    font-weight: 600;
    text-transform: uppercase
}

@media only screen and (min-width: 992px) {
    .notification-bar {
        font-size: 1.2rem;
        left: 0;
        position: fixed;
        top: 0;
        z-index: 1000
    }

    .aside, .page {
        float: left
    }
}

.notification-bar p {
    margin: 0;
    padding: 10px 1rem;
    text-align: center
}

.container {
    margin: 0 auto;
    max-width: 1200px;
    position: relative
}

.aside, .page {
    position: relative;
    vertical-align: top
}

.page {
    background: #fff;
    letter-spacing: 1.5;
    margin-bottom: 50px;
    padding: 25px 30px 15px
}

@media only screen and (min-width: 992px) {
    .page {
        padding: 35px 50px 20px;
        position: relative;
        width: 73%
    }

    .page:before {
        -webkit-animation: reveal ease-in 1;
        -moz-animation: reveal ease-in 1;
        -ms-animation: reveal ease-in 1;
        -o-animation: reveal ease-in 1;
        animation: reveal ease-in 1;
        -webkit-animation-fill-mode: forwards;
        -moz-animation-fill-mode: forwards;
        -ms-animation-fill-mode: forwards;
        -o-animation-fill-mode: forwards;
        animation-fill-mode: forwards;
        -webkit-animation-duration: .3s;
        -moz-animation-duration: .3s;
        -ms-animation-duration: .3s;
        -o-animation-duration: .3s;
        animation-duration: .3s;
        background-image: -webkit-linear-gradient(-216deg, #5093CA 0, #254B62 100%);
        background-image: -moz-linear-gradient(-216deg, #5093CA 0, #254B62 100%);
        background-image: -ms-linear-gradient(-216deg, #5093CA 0, #254B62 100%);
        background-image: -o-linear-gradient(-216deg, #5093CA 0, #254B62 100%);
        background-image: linear-gradient(-216deg, #5093CA 0, #254B62 100%);
        background-size: 100%;
        height: 5px;
        left: 0;
        top: 0;
        content: '';
        display: block;
        margin: auto;
        position: absolute;
        width: 100%
    }

    .aside {
        width: 27%
    }
}

@media only screen and (min-width: 1200px) {
    .page {
        padding: 45px 65px 30px
    }
}

.aside {
    font-size: 14px;
    font-size: .875rem
}

.aside__inner {
    background: #fff;
    padding: 1px 12px 12px
}

@media only screen and (min-width: 768px) {
    .aside {
        display: block
    }

    .aside__inner {
        padding: 1px 15px 15px
    }
}

@media only screen and (min-width: 992px) {
    .aside__inner {
        background: -moz-linear-gradient(left, #fff 75%, #f2f2f3 100%);
        background: -webkit-linear-gradient(left, #fff 75%, #f2f2f3 100%);
        background: linear-gradient(to right, #fff 75%, #f2f2f3 100%);
        display: block;
        margin-top: 43px;
        padding: 1px 40px 40px;
        width: 100%
    }
}

.aside__inner h4 {
    font-size: 14px;
    font-size: .875rem
}

.aside__title {
    display: none;
    font-family: "Work Sans", sans-serif;
    font-size: 16px;
    font-size: 1rem;
    background-image: -webkit-linear-gradient(-216deg, #D63A76 0, #8C0038 50%, #D63A76 100%);
    background-size: 200% 100%;
    color: #9A0B43;
    -webkit-background-clip: text;
    margin-bottom: 50px;
    margin-top: 40px;
    position: relative
}

.aside__title:after {
    bottom: -25px;
    left: 0;
    height: 1px;
    right: auto;
    width: 34px
}

body.popup-active {
    overflow: hidden
}

.popup__wrapper {
    background: rgba(0, 0, 0, .8);
    height: 100%;
    position: absolute;
    width: 100%;
    z-index: 9999
}

.popup, .price, .price-box {
    background: #fff
}

.popup {
    margin: 10px auto;
    max-width: 600px;
    min-height: 400px;
    padding: 1rem
}

@media only screen and (min-width: 768px) {
    .aside__title {
        display: block
    }

    .popup__wrapper {
        position: fixed
    }

    .popup {
        margin-top: 100px;
        padding: 20px
    }
}

@media only screen and (min-width: 1200px) {
    .popup {
        padding: 30px
    }
}

.prices {
    padding-top: 40px
}

.price {
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .08);
    margin: 0 auto;
    max-width: 500px;
    padding: 20px 120px 20px 20px;
    position: relative
}

.price p {
    font-size: 14px;
    font-size: .875rem;
    font-weight: 500;
    color: #8E8E9E;
    margin: 0;
    text-transform: uppercase
}

.price strong {
    color: #53535C;
    font-weight: 500;
    font-size: 16px;
    font-size: 1rem;
    text-transform: none
}

.cta, .download, .footer, .goto, .price-link, .subtle, .ticket-sale__date, a.cta, a.goto, a.subtle, footer {
    text-transform: uppercase
}

.price-box {
    height: 42px;
    padding-left: 14px;
    padding-right: 14px;
    position: absolute;
    right: -15px;
    top: calc(50% - 21px)
}

.price-link {
    font-size: 14px;
    font-size: .875rem;
    font-weight: 500;
    line-height: 42px;
    background-image: -webkit-linear-gradient(-216deg, #5093CA 0, #254B62 100%);
    background-size: 200% 100%;
    color: #9A0B43;
    -webkit-background-clip: text
}

.ticket-sale {
    display: block;
    margin-bottom: 40px;
    position: relative
}

.ticket-sale:after {
    background: #E0E0EA;
    bottom: -20px;
    height: 1px;
    left: 0;
    right: 0;
    width: 40px
}

.ticket-sale:last-child {
    margin-bottom: 10px
}

.ticket-sale:last-child:after {
    display: none
}

.ticket-sale__title {
    font-size: 22px;
    font-size: 1.375rem;
    color: #313238;
    letter-spacing: .5px
}

.ticket-sale__date {
    font-size: 14px;
    font-size: .875rem;
    color: #8F8F9A;
    font-weight: 500;
    letter-spacing: 1.5px
}

.ticket-sale__notes {
    font-size: 12px;
    font-size: .75rem;
    color: #888799;
    letter-spacing: .2px
}

.weekend-switch__help {
    letter-spacing: .5px;
    text-align: center
}

.weekend-switch__help h3 {
    font-weight: 600;
    font-size: 16px;
    font-size: 1rem
}

.weekend-switch__help p {
    font-weight: 500
}

.weekend-switch {
    background: #F7F7F7;
    box-shadow: 0 3px 6px 0 rgba(0, 0, 0, .05);
    margin: 10px 0
}

@media only screen and (min-width: 992px) {
    .weekend-switch {
        display: flex;
        flex-wrap: wrap;
        margin: 20px 0
    }
}

.weekend-switch__button {
    border-left: 1px solid #E0E0EA;
    display: block;
    flex: 1;
    min-width: 50%;
    padding: 10px;
    position: relative;
    text-align: center
}

.weekend-switch__button--active + .weekend-switch__button, .weekend-switch__button:first-child {
    border-left: 0
}

.weekend-switch__button:before {
    background: -moz-radial-gradient(center, ellipse cover, #fff 0, rgba(255, 255, 255, 0) 100%);
    background: -webkit-radial-gradient(center, ellipse cover, #fff 0, rgba(255, 255, 255, 0) 100%);
    background: radial-gradient(ellipse at center, #fff 0, rgba(255, 255, 255, 0) 100%);
    height: 100%;
    left: 0;
    opacity: 0;
    top: 0;
    transition: all .3s ease;
    z-index: 1
}

.weekend-switch__button:focus, .weekend-switch__button:hover {
    cursor: pointer;
    text-decoration: none
}

.weekend-switch__button:focus:before, .weekend-switch__button:hover:before {
    opacity: 1
}

.weekend-switch__button.weekend1:hover {
    color: #2535A0
}

.weekend-switch__button.weekend2:hover {
    color: #882797
}

.weekend-switch__button.weekend-switch__button--sold-out:after {
    background: #E61E1E;
    bottom: -50%;
    color: #fff;
    content: 'Sold out';
    display: block;
    font-size: 12px;
    font-size: .75rem;
    font-weight: 600;
    height: 35px;
    margin: auto;
    left: 0;
    padding: 10px;
    position: absolute;
    right: 0;
    text-transform: uppercase;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 95px;
    z-index: 101
}

.weekend-switch__button--active:before, .weekend-switch__button.weekend-switch__button--sold-out .weekend-switch__cta {
    display: none
}

.weekend-switch__button.weekend-switch__button--sold-out:hover {
    color: #53535C
}

.weekend-switch__button-title {
    letter-spacing: .5px;
    position: relative;
    z-index: 1
}

@media only screen and (min-width: 992px) {
    .weekend-switch__button-title {
        font-size: 18px;
        font-size: 1.125rem
    }

    .weekend-switch--no-selection .weekend-switch__button {
        float: right;
        width: 49%
    }

    .weekend-switch--no-selection .weekend-switch__button:first-child {
        float: left
    }
}

.weekend-switch__button-dates {
    font-size: 12px;
    font-size: .75rem;
    line-height: 1.2;
    position: relative;
    z-index: 5
}

.subtitle, body {
    line-height: 1.4
}

.weekend-switch__button--active {
    background: #fff;
    border-right: 1px solid #E0E0EA;
    padding: 10px
}

.weekend-switch__button--active:after {
    height: 5px
}

.weekend-switch__button--active.weekend1:after {
    background: #2535A0
}

.weekend-switch__button--active.weekend1 span {
    color: #2535A0
}

.weekend-switch__button--active.weekend2:after {
    background: #882797
}

.weekend-switch__button--active.weekend2 span {
    color: #882797
}

.weekend-switch--no-selection {
    background: 0 0;
    display: block;
    border: 0;
    box-shadow: none
}

.weekend-switch--no-selection .weekend-switch__button {
    background: #F7F7F7;
    border: 1px solid #E0E0EA;
    box-shadow: 0 3px 6px 0 rgba(0, 0, 0, .05);
    display: block;
    flex: none;
    margin-bottom: 30px;
    min-width: 0;
    padding: .7rem .7rem 20px
}

.weekend-switch--no-selection .weekend-switch__button-dates {
    margin-bottom: 1rem
}

.weekend-switch--no-selection .weekend-switch__cta {
    background: #fff;
    border: 1px solid #E0E0EA;
    bottom: 0;
    display: block;
    margin: 0 auto;
    left: 0;
    padding: .5em;
    position: absolute;
    right: 0;
    text-align: center;
    -webkit-transform: translateY(50%);
    -moz-transform: translateY(50%);
    -ms-transform: translateY(50%);
    -o-transform: translateY(50%);
    transform: translateY(50%);
    width: 200px;
    z-index: 100
}

*, :after, :before {
    box-sizing: border-box;
    outline-color: #eaeaea
}

::selection {
    background: #eaeaea
}

::-moz-selection {
    background: #eaeaea
}

figure {
    margin: 0
}

img {
    vertical-align: middle
}

hr {
    box-sizing: content-box;
    border: 0;
    height: 1px;
    background: #E0E0EA;
    margin: 2rem 0
}

ul {
    padding-left: 20px
}

body {
    background: url(images/bg-large-2022.jpg) center center no-repeat fixed;
    background-size: cover
}

@media only screen and (min-width: 992px) {
    body {
        background-image: url(images/bg-large-2022.jpg)
    }
}

@media only screen and (min-width: 1200px) {
    body {
        background-image: url(images/bg-large-2022.jpg)
    }
}

.cta, .download, a.cta {
    background-image: -webkit-linear-gradient(-216deg, #5093CA 0, #254B62 100%);
    background-image: -moz-linear-gradient(-216deg, #5093CA 0, #254B62 100%);
    background-image: -ms-linear-gradient(-216deg, #5093CA 0, #254B62 100%);
    background-image: -o-linear-gradient(-216deg, #5093CA 0, #254B62 100%);
    background-image: linear-gradient(-216deg, #5093CA 0, #254B62 100%);
    background-size: 200% 100%;
    color: #fff;
    font-size: 14px;
    font-size: .875rem;
    display: inline-block;
    letter-spacing: .5px;
    padding: 15px 20px;
    -moz-transition: background .3s ease;
    -ms-transition: background .3s ease;
    -o-transition: background .3s ease;
    transition: background .3s ease
}

.cta:active, .cta:focus, .cta:hover, .download:active, .download:focus, .download:hover {
    background-position: 100%
}

.download {
    margin-top: 1.5rem;
    padding-left: 60px;
    position: relative
}

.gj-shop .ticket-faq p, .gj-simulator .ticket-faq p, h1 {
    margin-top: 0
}

.download:before {
    background: url('data:image/svg+xml;utf8,<svg width="14" height="14" viewBox="25 21 14 14" xmlns="http://www.w3.org/2000/svg"><path d="M25 33.446h14V35H25v-1.554zm3.128-6.682l2.007.45.067-6.214h3.613l.067 6.215 2.024-.45-3.898 5.128-3.88-5.13z" fill="%23FFF" fill-rule="evenodd"/></svg>');
    bottom: 0;
    height: 14px;
    left: 25px;
    top: 0;
    width: 14px
}

.goto, a.goto {
    display: inline-block;
    font-family: "Work Sans", sans-serif;
    font-size: 13px;
    font-size: .8125rem;
    font-weight: 600;
    letter-spacing: 2px;
    background-image: -webkit-linear-gradient(-216deg, #5093CA 0, #254B62 100%);
    background-size: 200% 100%;
    color: #9A0B43;
    -webkit-background-clip: text
}

.footer, .subtle, a.subtle, b, footer, h2, strong {
    letter-spacing: 1px
}

.goto:before {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTFweCIgaGVpZ2h0PSIxMXB4IiB2aWV3Qm94PSIyOTkgMjAgMTEgMTEiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8ZyBpZD0iYXJyb3ciIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMwNC42NDY0NDcsIDI1LjY0NjQ0Nykgcm90YXRlKDEzNS4wMDAwMDApIHRyYW5zbGF0ZSgtMzA0LjY0NjQ0NywgLTI1LjY0NjQ0NykgdHJhbnNsYXRlKDMwMC42NDY0NDcsIDIyLjE0NjQ0NykiPgogICAgICAgIDxwYXRoIGQ9Ik0yLjU1LDEuODgzMzMzMzMgTDIuNTUsNS43NSBMMi41NSw2LjU1IEwwLjk1LDYuNTUgTDAuOTUsNS43NSBMMC45NSwxLjA4MzMzMzMzIEwwLjk1LDAuMjgzMzMzMzMzIEwxLjM1LDAuMjgzMzMzMzMzIEwxLjc1LDAuMjgzMzMzMzMzIEw2LjQyLDAuMjgzMzMzMzMzIEw3LjIyLDAuMjgzMzMzMzMzIEw3LjIyLDEuODgzMzMzMzMgTDYuNDIsMS44ODMzMzMzMyBMMi41NSwxLjg4MzMzMzMzIFoiIGZpbGw9IiNBNDJBNTYiPjwvcGF0aD4KICAgIDwvZz4KPC9zdmc+);
    background-position: center left;
    background-repeat: no-repeat;
    content: '';
    display: inline-block;
    height: 12px;
    margin-left: 0;
    margin-right: 10px;
    width: 10px;
    transition: all .3s ease
}

.goto:active:before, .goto:focus:before, .goto:hover:before {
    margin-left: 3px;
    margin-right: 7px;
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease
}

.goto:active, .goto:focus, .goto:hover {
    background-position: 100%
}

.subtle, a.subtle {
    border-bottom: 1px solid #E4E4E4;
    color: #4B4B4B;
    font-family: "Work Sans", sans-serif;
    font-size: 13px;
    font-size: .8125rem;
    font-weight: 500
}

a, a[id]:active, a[id]:focus, a[id]:hover, a[id]:visited {
    color: #53535C;
    text-decoration: none
}

a:focus, a:hover {
    color: #232326;
    text-decoration: underline
}

a.cta:active, a.cta:focus, a.cta:hover, a.cta:visited, a.download:active, a.download:focus, a.download:hover, a.download:visited, a.subtle:active, a.subtle:focus, a.subtle:hover, a.subtle:visited {
    text-decoration: none
}

a:focus {
    color: darle, #53535C, 30%
}

a:visited {
    color: #53535C
}

a.cta, a.download {
    color: #fff
}

a.subtle {
    border-bottom: 0
}

.footer, footer {
    color: #fff;
    font-size: 14px;
    font-size: .875rem;
    font-weight: 600;
    margin-bottom: 20px;
    text-align: center;
    text-shadow: 0 2px 4px rgba(0, 0, 0, .5)
}

@media only screen and (min-width: 992px) {
    .footer, footer {
        margin-bottom: 30px
    }
}

@media only screen and (min-width: 1200px) {
    .footer, footer {
        margin-bottom: 40px
    }
}

.header {
    padding: 1rem 0 .5rem;
    text-align: center
}

.header img {
    width: 150px
}

@media only screen and (min-width: 768px) {
    .header img {
        width: 200px
    }
}

.icon {
    background-position: center center;
    background-repeat: no-repeat;
    display: block;
    float: left;
    height: 28px;
    width: 24px
}

.icon-flight {
    background-image: url('data:image/svg+xml;utf8,<svg width="23" height="18" viewBox="20 20 23 18" xmlns="http://www.w3.org/2000/svg"><path d="M22.358 35.57h17.945v1.54H22.358v-1.54M42.43 26c.792-1.065.272-2.604-.995-2.966h-.023c-.543-.158-1.132-.135-1.675.046l-5.182 1.878-7.536-4.91c-.068-.046-.182-.07-.25-.023l-2.104.724c-.09.02-.113.135-.068.202l4.662 5.952-3.666 1.358-2.92-1.81c-.067-.046-.158-.068-.248-.023l-1.335.45c-.09.024-.113.137-.067.228l4.458 4.91 15.615-5.09c.543-.16.996-.5 1.335-.93" fill="%2353535C" fill-rule="evenodd"/></svg>')
}

.icon-bus {
    background-image: url('data:image/svg+xml;utf8,<svg width="19" height="22" viewBox="2 0 19 22" xmlns="http://www.w3.org/2000/svg"><path d="M4.313 13.2h14.375V4.4H4.313v8.8zm12.937 4.4c-.795 0-1.438-.656-1.438-1.467 0-.81.643-1.466 1.438-1.466.795 0 1.438.656 1.438 1.466 0 .81-.643 1.467-1.438 1.467zm-11.5 0c-.795 0-1.438-.656-1.438-1.467 0-.81.643-1.466 1.438-1.466.795 0 1.438.656 1.438 1.466 0 .81-.643 1.467-1.438 1.467zM8.625 2.933h5.75V1.467h-5.75v1.466zM15.813 0H7.187c-2.38 0-4.312 1.97-4.312 4.4v13.2c0 .81.643 1.467 1.438 1.467v1.466c0 .81.642 1.467 1.437 1.467h1.438c.794 0 1.437-.656 1.437-1.467v-1.466h5.75v1.466c0 .81.643 1.467 1.438 1.467h1.437c.795 0 1.438-.656 1.438-1.467v-1.466c.794 0 1.437-.656 1.437-1.467V4.4c0-2.43-1.932-4.4-4.313-4.4z" fill="%2353535C" fill-rule="evenodd"/></svg>')
}

.icon-train {
    background-image: url('data:image/svg+xml;utf8,<svg width="17" height="22" viewBox="24 18 17 22" xmlns="http://www.w3.org/2000/svg"><path d="M37.734 25.656c0 1.145 0 1.32-.753 1.32h-8.923c-.648 0-.753-.184-.753-1.32v-3.06c0-1.32 2.63-2.01 5.227-2.01 2.574 0 5.187.68 5.204 1.973v3.096zm-.338 5.756c-.237.278-.577.425-.983.425-.864 0-1.258-.712-1.258-1.373 0-.363.113-.7.317-.95.227-.277.552-.424.94-.424.902 0 1.313.712 1.313 1.374 0 .362-.117.698-.33.948zm-9.234 4.6l.668-1.646h7.34l.667 1.646h-8.675zm-.876-5.477c0-.662.386-1.374 1.232-1.374.92 0 1.338.713 1.338 1.375 0 .362-.12.698-.335.947-.24.28-.588.426-1.002.426-.846 0-1.232-.712-1.232-1.373zm11.27 3.408c.813-.562 1.468-1.63 1.468-2.645v-8.915c.006-.877-.328-1.66-.99-2.327C37.753 18.77 35.31 18 32.5 18c-2.81 0-5.25.768-6.53 2.056-.664.667-.997 1.45-.992 2.327v8.915c0 .985.63 2.075 1.47 2.633L24 39.964h2.558l.642-1.58h10.6l.642 1.58H41l-2.445-6.02z" fill="%2353535C" fill-rule="evenodd"/></svg>')
}

.icon-hotel {
    background-image: url('data:image/svg+xml;utf8,<svg width="24" height="19" viewBox="23 20 24 19" xmlns="http://www.w3.org/2000/svg"><g fill="%2353535C" fill-rule="evenodd"><path d="M23 20v18.6h.98v-4.25h6.556V29.2H23.98V20M45.02 27.65v1.55h-1.37v5.15h1.37v4.25H46V27.65"/><path d="M27.306 28.6c1.273 0 2.35-1.05 2.35-2.4 0-1.3-1.028-2.4-2.35-2.4-1.272 0-2.35 1.05-2.35 2.4.05 1.35 1.078 2.4 2.35 2.4M31.515 25.5v11h11.157v-9.7c0-.95-.734-1.3-1.223-1.3h-9.935z"/></g></svg>')
}

.icon-tinder {
    background-image: url('data:image/svg+xml;utf8,<svg width="26" height="18" viewBox="20 20 26 18" xmlns="http://www.w3.org/2000/svg"><g fill="%2353535C" fill-rule="evenodd"><path d="M36.565 28.32c1.25-.8 2.06-2.125 2.06-3.58 0-2.432-2.26-4.42-5.053-4.42-2.79 0-5.053 1.963-5.053 4.394 0 1.456.81 2.81 2.06 3.61-2.86 1.01-4.872 3.56-4.872 6.41 0 3.8 15.73 3.8 15.73 0 0-2.85-2.014-5.404-4.873-6.414"/><path d="M42.363 28.43c.92-.59 1.515-1.548 1.515-2.62 0-1.786-1.663-3.24-3.715-3.24-.46 0-.902.073-1.31.206.292.6.453 1.257.453 1.948 0 1.274-.56 2.497-1.533 3.415 2.67 1.3 4.345 3.774 4.345 6.533 0 .11-.01.224-.033.343 2.125-.233 3.86-.866 3.86-1.898 0-2.222-1.48-3.945-3.582-4.688M25.027 34.673c0-2.708 1.616-5.142 4.203-6.46.04-.032.078-.064.116-.097-.958-.918-1.508-2.134-1.508-3.406 0-.655.148-1.28.413-1.855-.464-.183-.98-.286-1.522-.286-2.052 0-3.716 1.446-3.716 3.233 0 1.07.597 2.04 1.516 2.628-2.102.744-3.583 2.466-3.583 4.688 0 1.074 1.878 1.715 4.12 1.924-.027-.128-.038-.252-.038-.37"/></g></svg>')
}

.icon-europe {
    background-image: url('data:image/svg+xml;utf8,<svg width="27" height="16" viewBox="20 21 27 16" xmlns="http://www.w3.org/2000/svg"><path d="M21 37h25.6V21H21v16zm12.293-12.773l-.506-.525.7-.108.313-.674.314.674.702.108-.507.525.12.74-.63-.348-.626.348.12-.74zm3.55-.494l-.07.742.555.445-.702.2-.268.702-.368-.616-.716-.01.473-.583-.176-.71.662.26.61-.43zm-5.87 1.387l-.7-.2.554-.445-.067-.742.61.43.66-.26-.177.71.475.584-.718.01-.367.615-.27-.702zm6.622 1.69l-.617-.368.702-.268.202-.7.444.552.74-.066-.428.608.258.66-.71-.175-.58.475-.01-.718zm-7.875-1.336l.202.7.702.268-.616.368-.01.718-.584-.475-.708.176.256-.662-.428-.608.74.066.446-.552zm9.378 2.512l.108.7.676.314-.676.314-.108.7-.525-.507-.743.12.352-.627-.352-.627.743.12.525-.507zm-10.703 1.328L27.72 29l.675-.314.107-.7.527.507.74-.12-.35.627.35.627-.74-.12-.528.507-.107-.7zm9.285 2.512l-.702-.268.617-.368.01-.718.582.474.71-.175-.26.662.43.608-.74-.066-.445.554-.202-.702zm-7.683-1.354l.01.718.617.368-.702.268-.202.702-.445-.554-.74.066.427-.608-.256-.66.708.174.583-.474zm5.75 2.915l-.473-.584.716-.01.368-.615.268.7.702.202-.554.445.068.74-.61-.427-.66.258.175-.71zm-4.92.138l-.553-.445.7-.202.27-.7.366.616.718.01-.475.583.177.71-.66-.26-.61.43.067-.742zm3.602-.495l-.12.743.506.525-.702.107-.314.675-.312-.675-.7-.107.505-.525-.12-.743.627.35.63-.35z" fill="%2353535C" fill-rule="evenodd"/></svg>')
}

.icon-belgium {
    background-image: url('data:image/svg+xml;utf8,<svg width="21" height="17" viewBox="22 93 21 17" xmlns="http://www.w3.org/2000/svg"><path d="M23.09 99.51l1.87 1.176.817-.69.48.622.157 1.637 1.503-.186.47 1.478 1.682-.162.877 2.647 2.316.486.648-.85.42 1.712 1.607.856 1.333 1.576 2.923-.743-.875-2.526.95-1.816h.99l1.203-2.288-.513-1.182-.47-1.183-.067-.17-1.377-.735-.098-.04-.86-.245.72-2.58-2.01-1.246-1.445-.116-.865-1.01h-.554l-.61-.434h-1.8l-2.2 1.808-.86.065-.91-.578-.705.28-.87-.842-4.6 2.47.648 1.566.077 1.24zm4.512-3.27l.833-.327.76.483 1.505-.115 2.167-1.78h1.123l.612.435h.413l.835.973 1.616.13 1.164.72-.785 2.816 1.764.504 1.006.537.408 1.027.33.757-.7 1.328h-.993l-1.428 2.736.66 1.906-1.262.32-.99-1.17-.148-.12-1.298-.69-.807-3.306-1.536 2.007-1.135-.237-.948-2.858-1.672.16-.477-1.5-1.306.162-.087-.902-1.296-1.675-1.056.89-.817-.513-.05-.814-.038-.16-.335-.807 3.16-1.696.807.78z" fill="%2353535C" fill-rule="evenodd"/></svg>')
}

h1 {
    background-image: -webkit-linear-gradient(-216deg, #5093CA 0, #254B62 100%);
    background-size: 200% 100%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-transform: uppercase
}

body {
    color: #53535C;
    font-family: "Work Sans", sans-serif;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 400;
    -webkit-font-smoothing: antialiased
}

h1, h2, h3, h4, h5, h6 {
    color: #3C3C41;
    font-family: "Work Sans", sans-serif;
    margin: 0
}

h2, h3 {
    margin-bottom: 15px
}

h3, h4 {
    margin-top: 7px
}

h1 {
    font-size: 22px;
    font-size: 1.375rem;
    font-weight: 600;
    color: #9A0B43;
    letter-spacing: 1.4px;
    margin-bottom: 24px
}

@media only screen and (min-width: 992px) {
    h1 {
        font-size: 28px;
        font-size: 1.75rem
    }
}

@media only screen and (min-width: 1200px) {
    h1 {
        font-size: 34px;
        font-size: 2.125rem
    }
}

h2 {
    font-size: 20px;
    font-size: 1.25rem;
    font-weight: 500;
    margin-top: 10px
}

h3 {
    font-size: 15px;
    font-size: .9375rem;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase
}

h4 {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: .5px;
    margin-bottom: 10px
}

b, strong {
    font-weight: 600
}

.subtitle {
    font-size: 14px;
    font-size: .875rem;
    font-weight: 500;
    color: #77777D;
    letter-spacing: 1.6px;
    text-transform: uppercase
}

.highlighted {
    font-weight: 500;
    color: #254B62
}

.footnote {
    color: #888799;
    font-size: 14px;
    font-size: .875rem
}

.landing-page .container {
    max-width: 1000px
}

.cashless .box-wrapper.box-700 {
    max-width: 710px
}

.cashless .cashless-introduction a {
    text-decoration: underline
}

.cashless .box-content {
    margin-top: 50px
}

@media only screen and (min-width: 1200px) {
    .cashless .box-content {
        margin-top: 50px
    }
}

.cashless .box-content-header {
    margin-left: -15px;
    margin-right: -15px
}

@media only screen and (min-width: 335px) {
    .cashless .box-content-header {
        margin-left: 0;
        margin-right: 0
    }
}

@media only screen and (min-width: 992px) {
    .cashless .box-content {
        margin-top: 50px
    }

    .cashless .cta + .cta, .cashless .cta + .download, .cashless .download + .cta, .cashless .download + .download {
        margin-left: 30px
    }
}

.cashless .box-content-header p {
    margin-bottom: 5px;
    margin-top: 5px
}

.cashless .cashless-help {
    text-align: left
}

@media only screen and (min-width: 992px) {
    .cashless .cashless-help {
        margin-top: 2rem
    }

    .cashless--weekend-switch .box-content {
        margin-top: 25px
    }
}

.cashless--weekend-switch .box-content {
    margin-top: 25px
}

@media only screen and (min-width: 1200px) {
    .cashless--weekend-switch .box-content {
        margin-top: 25px
    }
}

.cashless--weekend-switch .cta, .cashless--weekend-switch .download {
    margin-top: 10px
}

.free-wifi, .free-wifi h1, .free-wifi h2, .free-wifi input, .free-wifi label {
    font-family: sans-serif
}

.free-wifi .container {
    max-width: 500px;
    padding-left: 10px;
    padding-right: 10px
}

.free-wifi .page {
    text-align: center;
    width: 100%
}

.gj-shop, .gj-simulator {
    background-image: url(images/background-gj-small.jpg)
}

@media only screen and (min-width: 992px) {
    .gj-shop .box-content {
        margin-top: 70px
    }

    .gj-shop, .gj-simulator {
        background-image: url(images/background-gj-medium.jpg)
    }
}

@media only screen and (min-width: 1200px) {
    .gj-shop .box-content {
        margin-top: 70px
    }

    .gj-shop, .gj-simulator {
        background-image: url(images/background-gj-large.jpg)
    }
}

.gj-shop:before, .gj-simulator:before {
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(188, 15, 82, .5)), to(rgba(215, 141, 44, .5)));
    background-image: -webkit-linear-gradient(-216deg, rgba(188, 15, 82, .5) 0, rgba(215, 141, 44, .5) 100%);
    background-image: -moz-linear-gradient(-216deg, rgba(188, 15, 82, .5) 0, rgba(215, 141, 44, .5) 100%);
    background-image: -ms-linear-gradient(-216deg, rgba(188, 15, 82, .5) 0, rgba(215, 141, 44, .5) 100%);
    background-image: -o-linear-gradient(-216deg, rgba(188, 15, 82, .5) 0, rgba(215, 141, 44, .5) 100%);
    background-image: linear-gradient(-216deg, rgba(188, 15, 82, .5) 0, rgba(215, 141, 44, .5) 100%)
}

.gj-shop h1, .gj-simulator h1 {
    font-size: 30px;
    font-size: 1.875rem
}

.gj-shop h3, .gj-simulator h3 {
    margin-bottom: 10px;
    margin-top: 2rem
}

.gj-shop .box-content, .gj-simulator .box-content {
    text-align: left
}

.gj-shop .box-content-header, .gj-simulator .box-content-header {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    width: 100%
}

@media only screen and (min-width: 768px) {
    .pull-left {
        float: left
    }

    .pull-right {
        float: right
    }

    .gj-shop .box-content-header, .gj-simulator .box-content-header {
        width: 500px
    }
}

.gj-shop .box-content-header > .highlighted, .gj-simulator .box-content-header > .highlighted {
    margin-bottom: .5rem;
    margin-top: .5rem
}

.gj-shop .box-content-header + *, .gj-simulator .box-content-header + * {
    margin-top: 30px
}

.gj-shop .weekend, .gj-simulator .weekend {
    display: none
}

@media only screen and (min-width: 992px) {
    .gj-shop .weekends, .gj-simulator .weekends {
        margin-bottom: 70px;
        min-height: 1px
    }

    .gj-shop .col-50, .gj-simulator .col-50 {
        float: left;
        width: 49%
    }

    .gj-shop .col-50 + .col-50, .gj-simulator .col-50 + .col-50 {
        margin-left: 2%
    }

    .gj-shop .shops, .gj-simulator .shops {
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2
    }
}

.gj-shop .shop, .gj-simulator .shop {
    border: 1px solid #E0E0EA;
    -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .08);
    -moz-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .08);
    -ms-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .08);
    -o-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .08);
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .08);
    display: block;
    margin-bottom: 1rem;
    padding: 10px 13px;
    -moz-column-break-inside: avoid;
    -webkit-column-break-inside: avoid;
    column-break-inside: avoid
}

.gj-shop .shop:active, .gj-shop .shop:focus, .gj-shop .shop:hover, .gj-simulator .shop:active, .gj-simulator .shop:focus, .gj-simulator .shop:hover {
    background: #F9F9F9;
    text-decoration: none
}

.gj-shop .shop .icon, .gj-simulator .shop .icon {
    margin-right: 10px
}

.gj-shop .shop span, .gj-simulator .shop span {
    font-size: 20px;
    font-size: 1.25rem;
    font-weight: 500;
    letter-spacing: 1px
}

.gj-shop .weekend1 .shop, .gj-shop .weekend1 .shop span, .gj-shop .weekend1 .shop:before, .gj-simulator .weekend1 .shop, .gj-simulator .weekend1 .shop span, .gj-simulator .weekend1 .shop:before {
    color: #2535A0
}

.gj-shop .weekend2 .shop, .gj-shop .weekend2 .shop span, .gj-shop .weekend2 .shop:before, .gj-simulator .weekend2 .shop, .gj-simulator .weekend2 .shop span, .gj-simulator .weekend2 .shop:before {
    color: #882797
}

.gj-shop .weekend .shop--inactive, .gj-shop .weekend .shop--on-hold, .gj-shop .weekend .shop--sold-out, .gj-simulator .weekend .shop--inactive, .gj-simulator .weekend .shop--on-hold, .gj-simulator .weekend .shop--sold-out {
    color: #9EA0B2
}

.gj-shop .weekend .shop--inactive:active, .gj-shop .weekend .shop--inactive:focus, .gj-shop .weekend .shop--inactive:hover, .gj-shop .weekend .shop--on-hold:active, .gj-shop .weekend .shop--on-hold:focus, .gj-shop .weekend .shop--on-hold:hover, .gj-shop .weekend .shop--sold-out:active, .gj-shop .weekend .shop--sold-out:focus, .gj-shop .weekend .shop--sold-out:hover, .gj-simulator .weekend .shop--inactive:active, .gj-simulator .weekend .shop--inactive:focus, .gj-simulator .weekend .shop--inactive:hover, .gj-simulator .weekend .shop--on-hold:active, .gj-simulator .weekend .shop--on-hold:focus, .gj-simulator .weekend .shop--on-hold:hover, .gj-simulator .weekend .shop--sold-out:active, .gj-simulator .weekend .shop--sold-out:focus, .gj-simulator .weekend .shop--sold-out:hover {
    background: 0 0
}

.gj-shop .weekend .shop--inactive span, .gj-shop .weekend .shop--on-hold span, .gj-shop .weekend .shop--sold-out span, .gj-simulator .weekend .shop--inactive span, .gj-simulator .weekend .shop--on-hold span, .gj-simulator .weekend .shop--sold-out span {
    background: 0 0;
    color: #9EA0B2
}

.gj-shop .label, .gj-simulator .label {
    background: #E61E1E;
    color: #fff;
    font-weight: 600;
    height: 35px;
    padding: 10px;
    text-transform: uppercase
}

.gj-shop .shop--on-hold:after, .gj-shop .shop--sold-out:after, .gj-simulator .shop--on-hold:after, .gj-simulator .shop--sold-out:after {
    display: inline-block;
    font-size: 12px;
    padding: 6px 10px;
    top: -2px;
    position: relative;
    font-weight: 600;
    text-transform: uppercase;
    z-index: 101;
    color: #fff
}

.gj-shop .shop--on-hold:after, .gj-simulator .shop--on-hold:after {
    background: #C8913B;
    content: 'On hold';
    font-size: .75rem
}

.gj-shop .shop--sold-out:after, .gj-simulator .shop--sold-out:after {
    background: #E61E1E;
    content: 'Sold out';
    font-size: .75rem
}

.gj-shop .shop--waiting-list, .gj-simulator .shop--waiting-list {
    position: relative
}

.gj-shop .shop--waiting-list:before, .gj-simulator .shop--waiting-list:before {
    background: #fff;
    border: 1px solid #E0E0EA;
    content: 'Waiting list';
    display: block;
    font-size: 12px;
    font-size: .75rem;
    font-weight: 600;
    padding: 8px 10px;
    position: absolute;
    right: -5px;
    text-transform: uppercase;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    top: 50%;
    z-index: 101
}

@media only screen and (min-width: 992px) {
    .gj-shop .ticket-info, .gj-simulator .ticket-info {
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2
    }

    .gj-shop .ticket-info > p, .gj-simulator .ticket-info > p {
        -moz-column-break-inside: avoid;
        -webkit-column-break-inside: avoid;
        column-break-inside: avoid;
        margin-top: 0
    }
}

.gj-shop .ticket-faq, .gj-simulator .ticket-faq {
    padding-bottom: 1px
}

.gj-shop .payment-methods, .gj-simulator .payment-methods {
    padding: 0;
    list-style: none;
    margin-top: 16px
}

.gj-shop .payment-methods li, .gj-simulator .payment-methods li {
    float: left;
    text-align: center;
    width: 50%
}

.mix1-page .box, .mix1-page .cta-box {
    margin-top: 50px;
    padding-top: 50px;
    position: relative
}

@media only screen and (min-width: 992px) {
    .gj-shop .payment-methods li, .gj-simulator .payment-methods li {
        width: 25%
    }

    .mix1-page .box, .mix1-page .cta-box {
        margin-top: 80px;
        padding-top: 70px
    }
}

.mix1-page .box-image-wrapper {
    left: 0;
    position: absolute;
    right: 0;
    text-align: center;
    top: -40px
}

@media only screen and (min-width: 992px) {
    .mix1-page .box-image-wrapper {
        top: -80px
    }
}

.mix1-page .box-image {
    width: 200px
}

@media only screen and (min-width: 992px) {
    .mix1-page .box-image {
        width: 300px
    }
}

@media only screen and (min-width: 1200px) {
    .mix1-page .box, .mix1-page .cta-box {
        margin-top: 150px;
        padding-top: 90px
    }

    .mix1-page .box-image-wrapper {
        top: -130px
    }

    .mix1-page .box-image {
        width: 420px
    }
}

.mix1-page .box-content-header {
    margin-left: auto;
    margin-right: auto;
    max-width: 370px
}

.mix2-page {
    background-image: linear-gradient(0deg, #FFF 8%, #E2E2E2 97%)
}

.mix2-page:before {
    display: none
}

.mix2-page .header {
    height: 180px;
    position: relative
}

@media only screen and (min-width: 768px) {
    .mix2-page .header {
        height: 300px
    }
}

@media only screen and (min-width: 992px) {
    .mix2-page .header {
        height: 400px
    }
}

.mix2-page .header > .container {
    height: 100%;
    max-width: none;
    padding: 0 5%;
    position: relative;
    width: 100%
}

.mix2-page .header .logo {
    float: left;
    margin-top: 10px
}

@media only screen and (min-width: 768px) {
    .mix2-page .header .logo {
        margin-top: 30px
    }
}

.mix2-page .header .link365 {
    color: #fff;
    font-weight: 500;
    float: right;
    margin-top: 27px;
    text-shadow: 0 2px 2px rgba(0, 0, 0, .4);
    width: 200px
}

@media only screen and (min-width: 768px) {
    .mix2-page .header .link365 {
        margin-top: 50px;
        width: auto
    }
}

.mix2-page .header-image {
    background-image: url(https://www.tomorrowland.com/global/img/hero-background@2x.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1
}

.mix2-page .header-image:after {
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(214, 58, 118, .6)), to(rgba(140, 0, 56, .6)));
    background-image: -webkit-linear-gradient(-216deg, rgba(80, 16, 93, .5) 0, rgba(215, 44, 140, .5) 100%);
    background-image: -moz-linear-gradient(-216deg, rgba(80, 16, 93, .5) 0, rgba(215, 44, 140, .5) 100%);
    background-image: -ms-linear-gradient(-216deg, rgba(80, 16, 93, .5) 0, rgba(215, 44, 140, .5) 100%);
    background-image: -o-linear-gradient(-216deg, rgba(80, 16, 93, .5) 0, rgba(215, 44, 140, .5) 100%);
    background-image: linear-gradient(-216deg, rgba(80, 16, 93, .5) 0, rgba(215, 44, 140, .5) 100%);
    content: '';
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.mix2-page .mix-content {
    margin: 0 auto;
    max-width: 715px;
    padding: 80px 1rem 40px;
    position: relative;
    text-align: center
}

@media only screen and (min-width: 768px) {
    .mix2-page .mix-content {
        padding-top: 120px
    }
}

@media only screen and (min-width: 992px) {
    .mix2-page .mix-content {
        padding-top: 150px
    }
}

.mix2-page .mix-content h1 {
    text-transform: none
}

.mix2-page .mix-cover-wrapper {
    left: 0;
    position: absolute;
    right: 0;
    text-align: center;
    top: -55px
}

@media only screen and (min-width: 768px) {
    .mix2-page .mix-cover-wrapper {
        top: -120px
    }
}

@media only screen and (min-width: 992px) {
    .mix2-page .mix-cover-wrapper {
        top: -150px
    }
}

.mix2-page .mix-cover {
    width: 200px
}

@media only screen and (min-width: 768px) {
    .mix2-page .mix-cover {
        width: 350px
    }

    .mix2-page .tracklist ol {
        list-style-position: inside;
        padding-left: 0
    }
}

@media only screen and (min-width: 992px) {
    .mix2-page .mix-cover {
        width: 450px
    }
}

.mix2-page .mix-cover-text {
    margin: 0 auto;
    max-width: 660px
}

.mix2-page .tracklist {
    margin-top: 40px;
    text-align: left
}

.mix2-page .tracklist h4 {
    letter-spacing: 1px;
    text-transform: uppercase
}

.mix2-page .tracklist ol {
    margin-top: 5px
}

.mix2-page .tracklist li {
    line-height: 1.5;
    position: relative
}

@media only screen and (min-width: 768px) {
    .mix2-page .tracklist span {
        left: 35px;
        position: absolute
    }
}

.mix2-page .footer, .mix2-page footer {
    color: #B1B1C3;
    text-shadow: none
}

.preregister-unite h1 {
    font-size: 22px;
    font-size: 1.375rem
}

@media only screen and (min-width: 992px) {
    .preregister-unite h1 {
        font-size: 28px;
        font-size: 1.75rem
    }
}

@media only screen and (min-width: 1200px) {
    .mix2-page .mix-content {
        padding-top: 190px
    }

    .mix2-page .mix-cover-wrapper {
        top: -180px
    }

    .mix2-page .mix-cover {
        width: 600px
    }

    .preregister-unite h1 {
        font-size: 30px;
        font-size: 1.875rem
    }
}

.preregister-unite .container--error-message .page, .preregister-unite .container--success-message .page {
    float: none;
    margin-left: auto;
    margin-right: auto
}

.preregister-unite .aside__inner h4 {
    margin-bottom: 5px
}

.preregister-unite .aside__inner h4 + p {
    margin-bottom: 1.3rem;
    margin-top: 0
}

.preregister-unite .header {
    padding: 50px 0 40px
}

.preregister-unite .submit {
    margin-top: 1rem
}

.sale-be-page, .sale-ww-page {
    background-position: top center;
    background-size: 100%
}

.sale-be-page p, .sale-ww-page p {
    margin-top: .5rem
}

.sale-be-page h4, .sale-ww-page h4 {
    margin-bottom: .5rem
}

.sale-be-page hr, .sale-ww-page hr {
    margin: .5rem 0
}

.sale-be-page .container, .sale-ww-page .container {
    max-width: 1100px
}

.sale-be-page .aside, .sale-ww-page .aside {
    width: 100%
}

@media only screen and (min-width: 1115px) {
    .sale-be-page, .sale-ww-page {
        background-position: center center;
        background-size: cover
    }

    .sale-be-page .aside, .sale-ww-page .aside {
        width: 400px
    }
}

.sale-be-page .aside__title, .sale-ww-page .aside__title {
    margin-bottom: 30px;
    margin-top: 25px
}

.sale-be-page .aside__title:after, .sale-ww-page .aside__title:after {
    bottom: -15px
}

.sale-be-page .aside__inner, .sale-ww-page .aside__inner {
    font-size: 13px;
    font-size: .8125rem;
    line-height: 1.3;
    padding: 1px 25px 15px
}

@media only screen and (min-width: 992px) {
    .sale-be-page .aside__inner, .sale-ww-page .aside__inner {
        margin-top: 15px
    }
}

.sale-be-page .aside__content a, .sale-ww-page .aside__content a {
    text-decoration: underline
}

.sale-be-page .page, .sale-ww-page .page {
    margin: 0;
    padding: 0;
    width: 100%
}

@media only screen and (min-width: 1115px) {
    .sale-be-page .page, .sale-ww-page .page {
        margin-bottom: 1rem;
        width: 700px
    }
}

.sale-be-page .language-switch {
    list-style: none;
    margin: 1rem 0;
    padding: 0
}

.sale-be-page .language-switch li {
    display: inline-block
}

.sale-be-page .language-switch a {
    border: 1px solid #E0E0EA;
    display: block;
    padding: 3px 5px
}

.sale-be-page .language-switch a:hover {
    border: 1px solid rgba(0, 0, 0, .8);
    cursor: pointer;
    text-decoration: none
}

.sale-be-page .language-switch .active a {
    border: 1px solid #000;
    font-weight: 600
}

.sale-be-page .aside__content, .sale-be-page .popup__content {
    display: none
}

.sale-be-page .aside__content.active, .sale-be-page .popup__content.active {
    display: block
}

.exchange-desk .container, .waiting-list .container {
    max-width: 750px
}

.exchange-desk .page, .waiting-list .page {
    width: 100%
}

.exchange-desk h1, .waiting-list h1 {
    margin-bottom: 0
}

.exchange-desk .error, .waiting-list .error {
    color: #a94442
}