html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,
blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,
em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,
u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,
tr,th,td,article,aside,canvas,details,embed,figure,
figcaption,footer,header,hgroup,menu,nav,output,ruby,section,
summary,time,mark,audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline
}

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

body {
    line-height: 1
}

ol,ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none
}

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

* {
    font-style: normal;
    font-weight: normal
}

body {
    font-family: 'HelveticaNeueLTPro-Bd', 'Helvetica', 'Arial', 'sans-serif';
    font-weight: normal;
    font-style: normal;
    font-size: 18px;
    line-height: 1.3;
    -webkit-font-smoothing: antialiased
}

@media only screen and (-webkit-min-device-pixel-ratio: 1.25),
only screen and (min-device-pixel-ratio: 1.25),
only screen and (min-resolution: 200dpi),
only screen and (min-resolution: 1.25dppx) {
    body {
        -webkit-font-smoothing: subpixel-antialiased
    }
}

em,
i {
    font-style: italic
}

input,label,button,
textarea {
    margin: 0;
    border: 0;
    padding: 0;
    display: inline-block;
    vertical-align: middle;
    white-space: normal;
    background: none;
    line-height: 1;
    -webkit-appearance: none;
    caret-color: #000;
    font-size: 1em
}

input:focus {
    outline: 0
}

input,
textarea {
    border-radius: 0
}

input[type=checkbox] {
    -webkit-appearance: checkbox !important
}

input[type=radio] {
    -webkit-appearance: radio !important
}

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

::-webkit-search-decoration {
    display: none
}

button,
input[type="reset"],
input[type="button"],
input[type="submit"] {
    overflow: visible;
    width: auto
}

::-webkit-file-upload-button {
    padding: 0;
    border: 0;
    background: none
}

textarea {
    vertical-align: top;
    overflow: auto;
    caret-color: #000
}

select[multiple] {
    vertical-align: top
}

::selection {
    color: #fff;
    background: #000
}

::-moz-selection {
    color: #fff;
    background: #000
}

body,
html,
#wrapper {
    width: 100%;
    height: 100%
}

body.no-scroll,
html.no-scroll,
#wrapper.no-scroll {
    overflow: hidden
}

body:fullscreen #wrapper {
    background-color: #fff
}

body:-webkit-full-screen #wrapper {
    background-color: #fff
}

body:-moz-full-screen #wrapper {
    background-color: #fff
}

#wrapper_newsletter {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.overview-mode #wrapper {
    overflow: hidden
}

#wrapper.ready {
    opacity: 1
}

* {
    box-sizing: border-box;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    outline: 0;
    -webkit-text-size-adjust: 100%
}

figure {
    line-height: 0
}

input[type="submit"],
button,
.button {
    cursor: pointer;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-tap-highlight-color: transparent;
    -moz-user-select: none;
    -khtml-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
}

a {
    color: inherit;
    text-decoration: none;
    cursor: pointer
}

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

.svg {
    max-width: 100%;
    max-height: 100%
}

.clear {
    display: block;
    float: left;
    clear: both
}

.clearfix:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0
}

.no-touchevents ::-webkit-scrollbar {
    width: 10px
}

.no-touchevents ::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 0px #fff;
    -webkit-border-radius: 0px;
    border-radius: 0px;
    background: #fff
}

.no-touchevents ::-webkit-scrollbar-thumb {
    -webkit-border-radius: 0px;
    border-radius: 0px;
    background: #000;
    -webkit-box-shadow: inset 0 0 0px #000
}

.image-cover-background {
    -moz-background-size: cover !important;
    -o-background-size: cover !important;
    -webkit-background-size: cover !important;
    background-size: cover !important;
    background-position: 50% 50% !important;
    background-repeat: no-repeat
}

.image-cover-background.crop-middle {
    background-position: 50% 50% !important
}

.image-cover-background.crop-top {
    background-position: 50% 0% !important
}

.image-cover-background.crop-bottom {
    background-position: 50% 100% !important
}

.image-cover-background.portrait {
    -moz-background-size: contain !important;
    -o-background-size: contain !important;
    -webkit-background-size: contain !important;
    background-size: contain !important;
    background-position: 0% 50% !important
}

.image-cover-background>img {
    display: none
}

.text-block>* {
    margin-bottom: 1em
}

.text-block>*:last-child {
    margin-bottom: 0
}

.text-block a {
    text-decoration: underline
}

@font-face {
    font-family: 'fontello';
    src: url("../../fonts/fontello.eot?68033112");
    src: url("../../fonts/fontello.eot?68033112#iefix") format("embedded-opentype"), url("../../fonts/fontello.woff2?68033112") format("woff2"), url("../../fonts/fontello.woff?68033112") format("woff"), url("../../fonts/fontello.ttf?68033112") format("truetype"), url("../../fonts/fontello.svg?68033112#fontello") format("svg");
    font-weight: normal;
    font-style: normal
}

[class^="icon-"]:before,
[class*=" icon-"]:before {
    font-family: "fontello";
    font-style: normal;
    font-weight: normal;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    width: 1em;
    margin-right: .2em;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    line-height: 1em;
    margin-left: .2em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.icon-left:before {
    content: '\e800'
}

.icon-twitter:before {
    content: '\f099'
}

.icon-facebook:before {
    content: '\f09a'
}

.icon-linkedin:before {
    content: '\f0e1'
}

.icon-youtube:before {
    content: '\f167'
}

.icon-instagram:before {
    content: '\f16d'
}

.icon-vimeo:before {
    content: '\f27d'
}

.countdown-container {
    text-align: center;
    position: relative;
    height: 100%;
    width: 100%
}

.countdown {
    position: absolute;
    transform: translateY(50%);
    bottom: 50%;
    width: 100%;
    font-size: 7vw;
    display: block
}

.no-cssvhunit .countdown {
    font-size: 120px
}

@media screen and (max-width: 2000px) {
    .countdown {
        font-size: 8vw
    }
}

@media screen and (max-width: 1700px) {
    .countdown {
        font-size: 9vw
    }
}

@media screen and (max-width: 1380px) {
    .countdown {
        font-size: 10vw
    }

    .no-cssvhunit .countdown {
        font-size: 90px
    }
}

@media screen and (max-width: 580px) {
    .countdown {
        font-size: 11vw
    }

    .no-cssvhunit .countdown {
        font-size: 60px
    }
}

.mc_embed_signup,
#mc_embed_signup {
    width: 100%;
    max-width: 540px;
    margin: 0 auto;
    padding: 1.5em;
    padding-top: 0em;
    padding-bottom: 1em;
    text-transform: uppercase
}

@media screen and (max-width: 330px) {
    .mc_embed_signup,
    #mc_embed_signup {        
        padding-top: 1em;
        padding-bottom: 0em;        
    }
}

.mc_embed_signup:after,
#mc_embed_signup:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0
}

.signup-form-header,
#mc_embed_signup h1 {
    margin-bottom: 1.5em;
    font-size: 1.5em;
    text-align: center;
}

@media screen and (max-width: 330px) {
    .signup-form-header,
    #mc_embed_signup h1 {
        margin-top: 0em;
        margin-bottom: 0.5em;
        font-size: 1.2em;
        text-align: center;
    }
}

.indicates-required {
    font-size: 0.7em;
    color: #000;
    width: 100%;
    text-align: right;
    /* transform: translateY(1.2em) */
}

@media screen and (max-width: 380px) {
    .indicates-required {
        /* transform: none; */
        padding-bottom: 1em
    }
}

.mail-input-row,
.mc-field-group {
    margin-bottom: 1em
}

.select-row {
    margin-top: 0.5em;
    padding-bottom: 0.5em
}

.select-row select {
    font-size: 0.9em
}

.mail-input-label {
    display: block;
    font-size: 0.8em
}

.mail-input-label .asterisk {
    color: #000;
    margin-left: 0em
}

.mail-input-box {
    display: block;
    width: 100%;
    margin-top: 0.4em;
    font-size: 0.9em;
    color: #000;
    border: 2px solid #000;
    padding: 0.3em 0.4em;
    font-family: 'HelveticaNeueLTPro-Bd', 'Helvetica', 'Arial', 'sans-serif';
    font-weight: normal;
    font-style: normal
}

.mail-input-box:focus {
    border: 1px solid #000
}

.datefield input {
    width: 100px;
    display: inline-block;
    vertical-align: bottom
}

.datefield .small-meta {
    display: inline-block;
    padding-left: 1em
}

.radio-input-row {
    padding-top: 0.2em
}

.radio-list,
.input-group ul {
    margin-top: 0.5em
}

.radio-input-label,
.gdpr-header {
    /* border-bottom: 2px solid #000; */
    padding-bottom: 0.2em
}

.radio-list-item,
.input-group li {
    margin-bottom: 0.3em
}

.radio-list-item:last-child,
.input-group li:last-child {
    margin-bottom: 0
}

.radio-list-item label,
.input-group li label {
    font-size: 0.8em;
    padding-left: 0.7em;
    margin-top: 0.45em
}

.country-selector-label {
    margin-bottom: 0.5em
}

.country-selector {
    font-size: 0.8em
}

.content__gdpr {
    padding-top: 0em;
}

.gdpr-header {
    width: 100%
}

.content__gdpr,
.content__gdprLegal {
    /* margin-top: 50px; */
    font-size: 0.65em;
    text-align: left;
}

.content__gdpr>*,
.content__gdprLegal>* {
    margin-top: 0em;
    margin-bottom: 1em;
    /* font-size: 0.5em; */
}

.content__gdpr .checkbox.subfield,
.content__gdprLegal .checkbox.subfield {
    margin-bottom: 1em;
    /* text-transform: none; */
}

.content__gdpr .av-checkbox,
.content__gdprLegal .av-checkbox {
    display: inline-block;
    margin-right: 1em;
    vertical-align: bottom
}

.content__gdpr .av-checkbox+span,
.content__gdprLegal .av-checkbox+span {
    display: inline-block;
    vertical-align: bottom;
    margin-right: 1em;
    transform: translateY(4px);
}

.av-checkbox {
    width: 20px;
    height: 20px;
}

@media screen and (max-width: 430px) {
    .av-checkbox {
        width: 30px;
        height: 20px;
    }

    .content__gdpr .av-checkbox+span,
    .content__gdprLegal .av-checkbox+span {
        display: inline-block;
        vertical-align: bottom;
        margin-right: 1em;
        transform: translateY(-3px);    
    }

}

.content__gdprLegal {
    margin-top: 6em;
    font-size: 0.5em;
    text-align: justify;
}

.content__gdprLegal a {
    text-decoration: underline;
}

.confirm_box {
    display: flex;
    flex-direction: row;
    line-height: 1.2;
}

.submit-row {
    margin-top: 0em;
    text-align: center;
    /* padding-top: 1em; */
}

.mail-form-submit {
    /* min-width: 70px; */
    font-size: 1em;
    border: 2px solid #000;
    padding: 0.5em;
    padding-bottom: 0.4em;
    color: #000;
    font-family: 'HelveticaNeueLTPro-Bd', 'Helvetica', 'Arial', 'sans-serif';
    font-weight: normal;
    font-style: normal;
    text-transform: uppercase
}

#mce-responses>* {
    padding: 0.5em 0;
    padding-top: 0.7em;
    border-top: 2px solid #000;
    border-bottom: 2px solid #000;
    margin: 1em 0;
    margin-top: 1.5em
}

.text-container,
.site-footer {
    width: 95%;
    max-width: 960px;
    margin: 0 auto;
    text-align: center;
    text-transform: uppercase
}

.site-text {
    margin-top: 100px;
    position: relative;
    margin: 1em 0;
    margin-bottom: 0;
    font-size: 115px;
    line-height: 0.95
}

@media screen and (max-width: 960px) {
    .site-text {
        font-size: 12vw
    }
}

.signup .site-text {
    margin-top: 0.5em
}

.dots-container {
    display: block;
    width: 100%;
    z-index: 2;
    pointer-events: none;
    position: absolute;
    bottom: 50%;
    left: 0;
    transform: translateY(50%);
    width: 95%;
    margin: 0 auto;
    max-width: 960px
}

@media screen and (min-width: 960px) {
    .dots-container {
        left: 50%;
        margin-left: -480px
    }
}

.dots-container img {
    width: 100%
}

.sticky-text-container {
    width: 95%;
    max-width: 960px;
    margin: 100 auto;
    text-align: center;
    text-transform: uppercase
}

.sticky-site-text {
    padding: 1em 0;
    padding-bottom: 0;
    font-size: 115px;
    line-height: 0.95
}

@media screen and (max-width: 960px) {
    .sticky-site-text {
        font-size: 12vw
    }
}

.sticky-dots-container {
    position: fixed;
    bottom: 47%;
    transform: translateY(50%);
    z-index: 2;
    pointer-events: none;
    width: 95%;
    margin: 0 auto;
    max-width: 960px
}

@media screen and (min-width: 960px) {
    .sticky-dots-container {
        left: 50%;
        margin-left: -480px
    }
}

.sticky-dots-container img {
    width: 100%
}

.site-footer {
    padding: 45px 1em;
    padding-bottom: 60px
}

.footer-icons:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0
}

.footer-icon {
    display: inline-block;
    font-size: 20px;
    height: 1em;
    margin: 0 0.8em
}

.footer-icon img {
    height: 100%;
    width: auto
}

@media screen and (max-width: 520px) {
    .footer-icon {
        font-size: 17px
    }
}

@media screen and (max-width: 390px) {
    .footer-icon {
        font-size: 15px
    }
}

@media screen and (max-width: 360px) {
    .footer-icon {
        font-size: 13px
    }
}

.footer-text {
    padding-top: 1.5em;
    font-size: 0.7em;
    opacity: 1;
    -webkit-animation-name: opacityPulse;
    -webkit-animation-duration: 1700ms;
    -webkit-animation-timing-function: infinite;
    -webkit-animation-delay: 0;
    -webkit-animation-duration: 1700ms;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-direction: running;
    -moz-animation-name: opacityPulse;
    -moz-animation-duration: 1700ms;
    -moz-animation-timing-function: infinite;
    -moz-animation-delay: 0;
    -moz-animation-duration: 1700ms;
    -moz-animation-iteration-count: infinite;
    -moz-animation-direction: running;
    animation-name: opacityPulse;
    animation-duration: 1700ms;
    animation-timing-function: infinite;
    animation-delay: 0;
    animation-duration: 1700ms;
    animation-iteration-count: infinite;
    animation-direction: running
}

.footer-text.presale-footer-text {
    font-size: 1em
}

@-webkit-keyframes opacityPulse {
    0% {
        opacity: 0.3
    }

    50% {
        opacity: 1.0
    }

    100% {
        opacity: 0.3
    }
}

@-moz-keyframes opacityPulse {
    0% {
        opacity: 0.3
    }

    50% {
        opacity: 1.0
    }

    100% {
        opacity: 0.3
    }
}

@-ms-keyframes opacityPulse {
    0% {
        opacity: 0.3
    }

    50% {
        opacity: 1.0
    }

    100% {
        opacity: 0.3
    }
}

@keyframes opacityPulse {
    0% {
        opacity: 0.3
    }

    50% {
        opacity: 1.0
    }

    100% {
        opacity: 0.3
    }
}

.generator-content {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    padding-left: 1em;
    padding-right: 1em
}

.generator-panel {
    font-size: 1em;
    margin: 0 auto;
    max-width: 1080px;
    text-align: center;
    text-transform: uppercase;
    padding-bottom: 3em
}

.generator-header {
    width: 100%;
    left: 0;
    font-size: 1.2em;
    padding: 1.5em 0
}

.generator-header-image {
    display: block;
    width: 45%;
    height: 1em;
    margin: 0 auto
}

.generator-instructions {
    margin-bottom: 1.5em
}

.text-input,
.download-options-instructions,
.input-field-container {
    font-family: 'HelveticaNeueLTPro-Bd', 'Helvetica', 'Arial', 'sans-serif';
    font-weight: normal;
    font-style: normal;
    text-transform: uppercase;
    text-align: center;
    font-size: 115px;
    line-height: 0.95
}

@media screen and (max-width: 1242px) {

    .text-input,
    .download-options-instructions,
    .input-field-container {
        font-size: 9vw
    }
}

.text-row {
    font-family: 'HelveticaNeueLTPro-Bd', 'Helvetica', 'Arial', 'sans-serif';
    font-weight: normal;
    font-style: normal;
    text-transform: uppercase;
    text-align: center;
    font-size: 115px;
    line-height: 0.95;
    position: relative;
    padding-top: 1em;
    margin-top: 0em;
    cursor: text;
    width: 100%
}

@media screen and (max-width: 1242px) {
    .text-row {
        font-size: 9vw
    }
}

.text-row-middle {
    margin-bottom: 0.12em
}

.text-input,
.download-options-instructions,
.text-row-inner,
.input-field-container {
    display: inline-block;
    vertical-align: bottom;
    width: 85%;
    max-width: 1080px;
    position: relative;
    bottom: 0;
    cursor: text
}

.text-input,
.download-options-instructions {
    width: 100%
}

.generator-panel.focussed .input-field-container:after,
.generator-panel.focussed .text-row-inner:after {
    display: none
}

.input-field-container:after,
.text-row-inner:after {
    content: '';
    position: absolute;
    height: 0.9em;
    width: 0.1em;
    background: #000;
    top: 0;
    right: -0.1em;
    -webkit-animation-name: blink;
    -webkit-animation-duration: 1.2s;
    -webkit-animation-timing-function: step-end;
    -webkit-animation-delay: 0;
    -webkit-animation-duration: 1.2s;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-direction: running;
    -moz-animation-name: blink;
    -moz-animation-duration: 1.2s;
    -moz-animation-timing-function: step-end;
    -moz-animation-delay: 0;
    -moz-animation-duration: 1.2s;
    -moz-animation-iteration-count: infinite;
    -moz-animation-direction: running;
    animation-name: blink;
    animation-duration: 1.2s;
    animation-timing-function: step-end;
    animation-delay: 0;
    animation-duration: 1.2s;
    animation-iteration-count: infinite;
    animation-direction: running
}

.input-field-container:after {
    top: 0.12em
}

@-webkit-keyframes blink {

    from,
    to {
        opacity: 0
    }

    50% {
        opacity: 1
    }
}

@-moz-keyframes blink {

    from,
    to {
        opacity: 0
    }

    50% {
        opacity: 1
    }
}

@-ms-keyframes blink {

    from,
    to {
        opacity: 0
    }

    50% {
        opacity: 1
    }
}

@keyframes blink {

    from,
    to {
        opacity: 0
    }

    50% {
        opacity: 1
    }
}

.text-row-inner {
    position: absolute;
    transform: translateX(50%);
    right: 50%;
    bottom: 0
}

.generator-input-button {
    margin-top: 2em;
    font-size: 1em;
    color: #000;
    font-family: 'HelveticaNeueLTPro-Bd', 'Helvetica', 'Arial', 'sans-serif';
    font-weight: normal;
    font-style: normal;
    text-transform: uppercase;
    padding-bottom: 2em
}

.download-options-panel {
    display: none
}

.download-options-instructions {
    padding-bottom: 0.2em
}

.download-buttons {
    font-size: 65px
}

@media screen and (max-width: 1120px) {
    .download-buttons {
        font-size: 8vw
    }
}

.download-button,
.download-back-button {
    padding: 0 0.1em;
    margin: 0.5em 0.3em;
    display: inline-block;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-tap-highlight-color: transparent;
    -moz-user-select: none;
    -khtml-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.download-button-row {
    margin: 0 auto;
    margin-bottom: 1em;
    max-width: 1080px;
    text-align: center;
    padding-bottom: 2em
}

.download-button-row:last-child {
    margin-bottom: 0
}

.download-back-button {
    border: 2px solid transparent;
    padding-left: 0
}

.download-back-button img {
    height: 40px;
    width: auto
}

@media screen and (max-width: 1120px) {
    .download-back-button img {
        height: 5vw
    }
}

.generator-absolute {
    position: static;
    transform: none
}

.generator-absolute.absolute-on {
    position: absolute;
    width: 100%
}

.generator-absolute.absolute-on.generator-top {
    top: 0;
    left: 0
}

.generator-absolute.absolute-on.generator-middle {
    position: absolute;
    transform: translate(50%, 50%);
    right: 50%;
    bottom: 50%
}

.generator-absolute.absolute-on.generator-bottom {
    bottom: 0;
    position: absolute;
    transform: translateX(50%);
    right: 50%
}

.download-image-panel {
    display: none;
    width: 90% !important
}

.generator-image-container {
    cursor: pointer;
    margin: 0 auto;
    max-width: 500px
}

.generator-image-container img {
    border: 2px solid #000;
    max-width: 85%;
    max-height: 320px;
    width: auto;
    height: auto;
    margin: 0 auto
}

.download-image-instructions {
    margin-bottom: 2em;
    font-size: 0.8em;
    display: none
}