@font-face {
    font-family: 'TWKLausannePan-300';
    src: url('fonts/TWKLausannePan-300.woff2') format('woff2'),
         url('fonts/TWKLausannePan-300.woff') format('woff');
    font-weight: 300;
    font-style: normal;
}

/* base  */

/* * {cursor:none !important;} */

:root {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-smoothing: antialiased;
}
	
html{
    overflow-y:scroll;
    font-size:16px;
    -webkit-box-sizing:border-box;
    -moz-box-sizing:border-box;
    box-sizing:border-box;
}
html, body{
    margin:0;
    padding:0;
}
body{
    font-size:16px;
    font-family: "TWKLausannePan-300", sans-serif;
    font-weight:300 !important;
    line-height:1.35em;
    letter-spacing:-.02em;
    color:#fff;
    background:#000;
    text-align:center;
    overflow:hidden;
}

h1, h2, h3, h4, h5, h6{
    margin:0;
    padding:0;
    font-weight:300 !important;
    line-height:1.1em;
}
h1{font-size:4em;}
h2{font-size:3.25em;}
h3{font-size:2.94em;}
h4{font-size:2em;}
h5{font-size:1.5em;}
h6{font-size:1.125em;}

h2 span{color:#999;}

p, blockquote, ul, ol, dl, form, table, pre{display:block;margin:0 0 1.5em 0;}
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary{display:block;}
ul, ol, dl{padding:0;}
ul ul, ul ol, ol ol, ol ul, dd{margin:0;}
ul li{position:relative;margin:0 0 0 1em;counter-increment:li;display:list-item;list-style-position:outside;}

ul li{list-style:none;}

blockquote{padding:0 0 0 1em;}
pre, code, samp, kbd, var{font:.9em Monaco, "Courier New", monospace;}
code{background:#f7f7f7;border:1px solid #ddd;padding:0 3px;}
pre{overflow:auto;}
abbr, acronym{
    text-transform:uppercase;
    border-bottom:1px dotted #000;
    }
abbr[title], acronym[title]{cursor:help;}
small{font-size:.9em;}
sup, sub{font-size:.8em;}
em, cite, q{font-style:italic;}
ins{text-decoration:none;color:#900;font-style:italic;}
img{border:none;}			
figure{margin:0 0 .5em 0;display:table;}
hr{display:block;clear:both;height:1px;border:0;border-bottom:1px solid #ddd;margin:0 0 1.5em 0;padding:1.5em 0 0 0;}
table{width:100%;border-collapse:collapse;display:table;}
th,caption{text-align:left;}	
label{display:block;}
fieldset{margin:0;padding:0;border:none;}
input, select{vertical-align:middle;}
input[type="radio"],input[type="checkbox"], .radio, .checkbox{margin:0 .25em 0 0;}
::-moz-focus-inner{border:0;padding:0;}
::-moz-selection{background:#555;color:#fff;}
::selection{background:#555;color:#fff;}
*,*:before,*:after{-webkit-box-sizing:inherit;-moz-box-sizing:inherit;box-sizing:inherit;}	

table, input, textarea, select, li, button, p{
    font-family:inherit;
    line-height:inherit;
    }		
a, a:visited{
    text-decoration:none;
    color:#fff;
    outline:none;
    }
a:hover{color:#fff;}

.button, button{
    position:relative;
    display:inline-block;
    height:24px;
    line-height:22px;
    text-transform:uppercase;
    font-size:14px;
    color:#fff;
    background:none;
    border:1px solid #fff;
    -khtml-border-radius:100px;
    -webkit-border-radius:100px;
    -moz-border-radius:100px;
    -o-border-radius:100px;
    border-radius:100px;
    cursor:pointer;
    -webkit-transition:ease-in-out 0.3s;
    -o-transition:ease-in-out 0.3s;
    -moz-transition:ease-in-out 0.3s;
    -ms-transition:ease-in-out 0.3s;
    transition:ease-in-out 0.3s;
}
.windows .button, .windows button{line-height:24px;}

.button:after, button:after{
    position:absolute;
    top:-1px;
    right:-30px;
    content:'';
    width:24px;
    height:24px;
    color:#fff;
    background-color:#edff23;
    -khtml-border-radius:100%;
    -webkit-border-radius:100%;
    -moz-border-radius:100%;
    -o-border-radius:100%;
    border-radius:100%;
    cursor:default;
    pointer-events:none;
}
.button:hover:after, button:hover:after{
    color:#fff;
    background-color:#fff;
}
.button span, button span{
    display:block;
    position:relative;
    padding:0 12px;
    text-align:center;
    -webkit-transition:ease-in-out 0.3s;
    -o-transition:ease-in-out 0.3s;
    -moz-transition:ease-in-out 0.3s;
    -ms-transition:ease-in-out 0.3s;
    transition:ease-in-out 0.3s;
    z-index:9;
}
.button span:before, button span:before{
    position:absolute;
    top:-1px;
    right:-30px;
    content:'';
    width:24px;
    height:24px;
    -khtml-border-radius:100%;
    -webkit-border-radius:100%;
    -moz-border-radius:100%;
    -o-border-radius:100%;
    border-radius:100%;
    background-repeat:no-repeat;
    background-position:center;
    background-image:url("images/arrow.svg");
    opacity:1;
    -webkit-transition:ease-in-out 0.3s;
    -o-transition:ease-in-out 0.3s;
    -moz-transition:ease-in-out 0.3s;
    -ms-transition:ease-in-out 0.3s;
    transition:ease-in-out 0.3s;
    }
.button:hover span:before, button:hover span:before{
    right:-66px;
    opacity:0;
    }
.button span:after, button span:after{
    position:absolute;
    top:-1px;
    right:-18px;
    content:'';
    width:24px;
    height:24px;
    -khtml-border-radius:100%;
    -webkit-border-radius:100%;
    -moz-border-radius:100%;
    -o-border-radius:100%;
    border-radius:100%;
    background-repeat:no-repeat;
    background-position:center;
    background-image:url("images/arrow.svg");
    opacity:0;
    -webkit-transition:ease-in-out 0.3s;
    -o-transition:ease-in-out 0.3s;
    -moz-transition:ease-in-out 0.3s;
    -ms-transition:ease-in-out 0.3s;
    transition:ease-in-out 0.3s;
    }
.button:hover span:after, button:hover span:after{
    right:-30px;
    opacity:1;
    }

button[type="submit"]{
    font-size:14px !important;
    font-weight:300 !important;
    letter-spacing:-.02em !important;
}
button[type="submit"] span{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    padding:0;
}
button[type="submit"] span.btn{opacity:1;}
button[type="submit"] span.btnLoading{opacity:0;}
button[type="submit"] span.btnSent{opacity:0;}

button[type="submit"],
button[type="submit"].inactive{
    width:77px !important;
}
button[type="submit"].inactive span.btn{opacity:1;}
button[type="submit"].inactive span.btnLoading{opacity:0;}
button[type="submit"].inactive span.btnSent{opacity:0;}

button[type="submit"].loading{
    margin-left:-1px;
    width:133px !important;
    height:24px !important;
    color:#fff;
    background:transparent;
    border:none;
    border-radius:0;
    cursor:default;
    pointer-events:none;
}
button[type="submit"].loading:before,
button[type="submit"].loading:after{
    display:none !important;
    }
button[type="submit"].loading span.btn{opacity:0;}
button[type="submit"].loading span.btnLoading{opacity:1;}
button[type="submit"].loading span.btnSent{opacity:0;}

button[type="submit"].loading span.btnLoading{
    display:block;
    width:133px !important;
    height:24px !important;
    overflow:hidden;
}
button[type="submit"].loading span.btnLoading lottie-player{
    display:block;
    width:133px !important;
    height:24px !important;
}

button[type="submit"].happy{
    width:159px !important;;
    color:#000;
    background:#edff23;
    border:1px solid #edff23;
	opacity:0;
	-webkit-animation:fadeIn ease-in .45s;
	-moz-animation:fadeIn ease-in .45s;
	-o-animation:fadeIn ease-in .45s;
	animation:fadeIn ease-in .45s;
	-webkit-animation-iteration-count:1;
	-moz-animation-iteration-count:1;
	-o-animation-iteration-count:1;
	animation-iteration-count:1;
	-webkit-animation-fill-mode:forwards;
	-moz-animation-fill-mode:forwards;
	-o-animation-fill-mode:forwards;
	animation-fill-mode:forwards;
    pointer-events:none;
	}
@keyframes fadeIn{
    0%{opacity:0;}
    36%{opacity:0;}
    100%{opacity:1;}
}
button[type="submit"].happy:after{
    background-color:#edff23;
}
button[type="submit"].happy:hover:after{
    background-color:#edff23;
}
button[type="submit"].happy span:before,
button[type="submit"].happy:hover span:before{
    top:-2px;
    right:-30px;
    content:'';
    background-image:url("images/icon-check.svg");
    opacity:1;
    }
button[type="submit"].happy span:after{
    display:none;
    }
button[type="submit"].happy span.btn{opacity:0;}
button[type="submit"].happy span.btnLoading{opacity:0;}
button[type="submit"].happy span.btnSent{opacity:1;}

/* Form */

form#contactForm{
    display:-webkit-box;
    display:-moz-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    flex-wrap:wrap;    
}

input[type="text"], input[type="password"], input[type="email"], select{
    padding:0;
    height:40px;
    line-height:40px;
    width:100%;
    margin:0 0 2em;
    vertical-align:middle;
    font-size:1em;
    color:#fff;
    background:none;
    border-top:none;
    border-left:none;
    border-right:none;
    border-bottom:1px solid #fff;
    border-radius:0 !important;
    }
textarea{
    overflow:auto;
    margin:36px 0;
    padding:0;
    width:100%;
    min-height:140px;
    resize:vertical;
    vertical-align:middle;
    font-size:1em;
    color:#fff;
    background:none;
    border-top:none;
    border-left:none;
    border-right:none;
    border-bottom:1px solid #fff;
    border-radius:0 !important;
    }
input[type="text"]:focus, input[type="password"]:focus, input[type="email"]:focus, select:focus, textarea:focus, .focus{
    outline:none;
    }

form#contactForm label{
    position: relative;
    display:block;
    width:100%;
}
.double{
    display:-webkit-box;
    display:-moz-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    flex-wrap:wrap;
    width:100%;
}
form#contactForm .double label{
    width:46.25%;
}
form#contactForm .double label:last-of-type{
    margin-left:7.5%;
}

form#contactForm label.question{
    width:100%;
    margin-bottom:9px;
}

/* Checkbox Label Styling */
form#contactForm label.checkboxLabel{
    position: relative;
    display:inline-block;
    width:auto;
    height:34px;
    padding:4px 20px;
    margin-right:6px;
    margin-bottom:6px;
    border:1px solid #fff;
    cursor:pointer;
    -khtml-border-radius:50px;
    -webkit-border-radius:50px;
    -moz-border-radius:50px;
    -o-border-radius:50px;
    border-radius:50px;
    overflow:hidden;
    -webkit-transition:ease-in-out 0.18s;
    -o-transition:ease-in-out 0.18s;
    -moz-transition:ease-in-out 0.18s;
    -ms-transition:ease-in-out 0.18s;
    transition:ease-in-out 0.18s;
    z-index:1;
}
form#contactForm label.checkboxLabel:hover span.bcg{
    top:0;
}
form#contactForm label.checkboxLabel span.bcg{
    display:block;
    position:absolute;
    left:0;
    top:100%;
    width:100%;
    height:100%;
    background:#fff;
    z-index:0;
    -webkit-transition:ease-in-out 0.54s;
    -o-transition:ease-in-out 0.54s;
    -moz-transition:ease-in-out 0.54s;
    -ms-transition:ease-in-out 0.54s;
    transition:ease-in-out 0.54s;
}
form#contactForm label.checkboxLabel span.txt{
    position:relative;
    color:#fff;
    -webkit-transition:ease-in-out 0.54s;
    -o-transition:ease-in-out 0.54s;
    -moz-transition:ease-in-out 0.54s;
    -ms-transition:ease-in-out 0.54s;
    transition:ease-in-out 0.54s;
    z-index:1;
}
form#contactForm label.checkboxLabel:hover span.txt{
    color:#000;
}

.windows form#contactForm label.checkboxLabel{
    padding:6px 20px;
}
form#contactForm .checkboxLabel:last-of-type{
    margin-right:0;
}

form#contactForm .checkboxLabel.selected {
    background-color: #fff;
}
form#contactForm .checkboxLabel.selected span.txt{
    color: #000;
}

form#contactForm .checkboxLabel input[type="checkbox"]{
    position:absolute;
    top:0;
    left:0;
    width:1px;
    height:1px;
    opacity:0;
    z-index:-1;
}

form#contactForm p{
    width:100%;
}
form#contactForm p a{
    position:relative;
}
form#contactForm p a:after{
    content:'';
    position: absolute;
    left:0;
    right:0;
    bottom:-2px;
    height:1px;
    background: #fff;
    -webkit-transition:ease-in-out 0.3s;
    -o-transition:ease-in-out 0.3s;
    -moz-transition:ease-in-out 0.3s;
    -ms-transition:ease-in-out 0.3s;
    transition:ease-in-out 0.3s;
}
/*
form#contactForm p a:hover:after{
    left:100%;
    right:0;
    bottom:-2px;
}
*/
form#contactForm p.privacy{
    margin-bottom:18px;
    font-size:16px;
}

span.error,
span.success,
span.information,
span.note{
    position: absolute;
    left:0;
    right:0;
    width: 100%;
    top:100%;
    margin-top:-33px;
    display:block;
    padding:8px 0 0;
    line-height:normal;
    border:none !important;
    }
label[for="projectDescription"] span.error{
    margin-top:-37px;  
    padding:12px 0 0;  
}
span.error{color:#ccbdf6;border-top:1px solid #ccbdf6 !important;}
span.information{color:#0295cc;}
span.note{color:#8f872e;}

#formMessage{
    margin-bottom:40px;
    width:100%;
    max-width:671px;
    float:right;
}

#formMessage .success {
    font-size:16px;
    margin-bottom:18px;
    color: #898989;
}

#formMessage .error {
    font-size:16px;
    display:none;
}

#formMessage .note {
    font-size:16px;
    display:none;
}


label.question{ /* placeholder */
    font-size:1em !important;
    color: #898989;
}

input.inactive::placeholder,
textarea.inactive::placeholder {
    color: #898989;
}

input:focus::placeholder,
textarea:focus::placeholder {
    color: transparent;
}

/* //Form */


.link{
    position:relative;
    display:inline-block;
    height:25px;
    line-height:22px;
    padding:0 30px 0 0;
    color:#fff;
}
.link:before{
    position:absolute;
    bottom:1px;
    left:1px;
    right:100%;
    height:1px;
    background-color:#fff;
    content:'';
}
.link:hover:before{right:30px;}
.link:after{
    position:absolute;
    top:1px;
    right:0;
    content:'';
    width:24px;
    height:24px;
    -khtml-border-radius:100%;
    -webkit-border-radius:100%;
    -moz-border-radius:100%;
    -o-border-radius:100%;
    border-radius:100%;
    background-repeat:no-repeat;
    background-position:center;
    background-color:#edff23;
}
.link:hover:after{
    color:#fff;
    background-color:#fff;
}
.link span{
    display:block;
    position:relative;
    z-index:9;
}
.link span:before{
    position:absolute;
    top:1px;
    right:-30px;
    content:'';
    width:24px;
    height:24px;
    -khtml-border-radius:100%;
    -webkit-border-radius:100%;
    -moz-border-radius:100%;
    -o-border-radius:100%;
    border-radius:100%;
    background-repeat:no-repeat;
    background-position:center;
    background-image:url("images/arrow.svg");
    opacity:1;
    -webkit-transition:ease-in-out 0.3s;
    -o-transition:ease-in-out 0.3s;
    -moz-transition:ease-in-out 0.3s;
    -ms-transition:ease-in-out 0.3s;
    transition:ease-in-out 0.3s;
    }
.link:hover span:before{
    right:-54px;
    opacity:0;
    }
.link span:after{
    position:absolute;
    top:1px;
    right:-6px;
    content:'';
    width:24px;
    height:24px;
    -khtml-border-radius:100%;
    -webkit-border-radius:100%;
    -moz-border-radius:100%;
    -o-border-radius:100%;
    border-radius:100%;
    background-repeat:no-repeat;
    background-position:center;
    background-image:url("images/arrow.svg");
    opacity:0;
    -webkit-transition:ease-in-out 0.3s;
    -o-transition:ease-in-out 0.3s;
    -moz-transition:ease-in-out 0.3s;
    -ms-transition:ease-in-out 0.3s;
    transition:ease-in-out 0.3s;
    }
.link:hover span:after{
    right:-30px;
    opacity:1;
    }
	
code{color:#555;}
pre{
    padding:1.5em 2em;
    border:1px solid #ddd;
    background:#f7f7f7;

    }
blockquote{
    margin-left:2em;
    border-left:1px solid #ddd;
    font-style:italic;
    }	
dt{}	
table{border:1px solid #ddd;}	
th, td{padding:.5em 1em;line-height:1.5em;vertical-align:top;border-bottom:1px solid #ddd;}			
tr:nth-child(odd) td{background:#f7f7f7;}	
caption{font-style:italic;color:#777;margin:.5em 0;}	
figure.left, figure.right{display:table;width:1px;margin-bottom:.5em;}
figcaption{font-style:italic;color:#777;margin:.25em 0;text-align:center;font-size:.9em;line-height:1.5em;}

.table{display:table;width:100%;}
.table_row{display:table-row;width:100%;}
.table_cell{display:table-cell;}

.flex{
    display:-webkit-box;
    display:-moz-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    flex-wrap:wrap;
    align-items:center;/*vertical*/
    justify-content:center;/*horizontal*/
    }
	
/* base */

/* helpers */		
	
.hidden, .print{display:none;}

.clear{clear:both;}
.block, ul.page-numbers{display:block;clear:both;}

a, a img, a svg, a span, a:before, a:after, #toggle_menu .menu_icon, #toggle_menu:before, #toggle_menu:after{
    -webkit-transition:ease-in-out 0.3s;
    -o-transition:ease-in-out 0.3s;
    -moz-transition:ease-in-out 0.3s;
    -ms-transition:ease-in-out 0.3s;
    transition:ease-in-out 0.3s;
    }

/* // helpers */

#preloader{
	position:fixed;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background:#000;
	background-size:cover;
	z-index:99999999;
	}
#status{
	position:absolute;
	left:50%;
	top:50%;
    transform:translate(-50%,-50%);
	width:180px;
	height:90;
    line-height:90px;
    text-align:center;
	}
#status lottie-player{
    display:inline-block;
	width:180px;
	height:auto;
    margin:0 auto;
}

.content{overflow:hidden;}

.inner{	
    margin:0 auto;
    width:100%;
    max-width:1440px;
    padding:0 40px;
    text-align:left;
    position:relative;
    }

/* header */
		
.header{
    position:fixed;
    top:0;
    left:0;
    right:0;
    width:100%;
    background:rgba(0,0,0,.5);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    z-index:9;
    -webkit-transition:ease-in-out 0.3s;
    -o-transition:ease-in-out 0.3s;
    -moz-transition:ease-in-out 0.3s;
    -ms-transition:ease-in-out 0.3s;
    transition:ease-in-out 0.3s;
}	
.header.head_active{
    top:-63px;
}	
.header.head_active.show{
    top:0;
}
.header .inner{
    height:63px;
}


.navigation{
    position:relative;
}
#menu{}
#menu ul{
    height:63px;
    margin:0;
}
#menu ul li{
    margin:0 0 0 27px;
    float:left;
    position:relative;
    }
#menu ul li:first-child{margin:0 0 0 ;}
#menu ul li a{
    position:relative;
    display:block;
    height:63px;
    padding-top:22px;
    color:#fff;
    }
#menu a:after{
    position:absolute;
    bottom:19px;
    left:0;
    content:'';
    height:1px;
    width:0;
    background:#fff;
    transition-delay:.25s;
}
#menu a:hover:after{
    width:100%;
}
#menu a span.animationHolder{
    position:relative;
    height:19px;
    overflow:hidden;
    font-size:0;
}

.mobile{display:none !important;}
.desktop{display:block !important;}

#menu a span.animationHolder span.box{
    display:inline-block;
    height:38px;
    font-size:16px;
}
#menu a span.animationHolder span.box span{
    display:block;
    height:19px;
    line-height:19px;
}
#menu a:hover span.animationHolder span.box{
    transform:translateY(-19px);
}
#menu a span.animationHolder span.box:nth-child(2){
    transition-delay:.025s;
}
#menu a span.animationHolder span.box:nth-child(3){
    transition-delay:.050s;
}
#menu a span.animationHolder span.box:nth-child(4){
    transition-delay:.075s;
}
#menu a span.animationHolder span.box:nth-child(5){
    transition-delay:.100s;
}
#menu a span.animationHolder span.box:nth-child(6){
    transition-delay:.125s;
}
#menu a span.animationHolder span.box:nth-child(7){
    transition-delay:.150s;
}
#menu a span.animationHolder span.box:nth-child(8){
    transition-delay:.175s;
}
#menu a span.animationHolder span.box:nth-child(9){
    transition-delay:.200s;
}
#menu a span.animationHolder span.box:nth-child(10){
    transition-delay:.225s;
}
#menu a span.animationHolder span.box:nth-child(11){
    transition-delay:.250s;
}
#menu a span.animationHolder span.box:nth-child(12){
    transition-delay:.275s;
}
	
/* menu touch icon */
#toggle_menu{
    position:absolute;
    top:18px;
    right:28px;
    z-index:9999;
    width:72px;
    height:24px;
    overflow:hidden;
    cursor:pointer;
    }
#toggle_menu .menu_icon{
    position:absolute;
    top:0;
    left:0;
    width:72px;
    height:24px;
    background:url("images/menu-open.svg") no-repeat center;
    background-size:contain;
    }
#toggle_menu .menu_icon:after{
    position:absolute;
    top:0;
    left:72px;
    width:72px;
    height:24px;
    content:'';
    background:url("images/menu-close.svg") no-repeat center;
    background-size:contain;
    }
#toggle_menu.ddnav_active .menu_icon{
    left:-72px;
    }
#toggle_menu.ddnav_active .menu_icon:after{
    }

#toggle_menu{display:none;}

.page_title {
	display: block;
	position: absolute;
	top: 19px;
	left: 50%;
	transform: translateX(-50%);
	width: 142px !important;
	height: 25px !important;
	z-index: 999999999;
}
.page_title img{
	display: block;
	width: 100%;
	height: auto;
	position: relative;
	z-index: 1;
}

#logo-lottie-in,
#logo-lottie-out {
	position: absolute;
	top:0;
    left:0;
	display: block;
	width: 100%;
	height: auto;
	z-index: 2;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0ms linear;
}

.brand{
    position:absolute;
    top:19px;
    right:40px;
}

/* // header */
	
/* content */

.intro{
    position: relative;
    display:-webkit-box;
    display:-moz-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    padding:220px 0 200px;
    opacity:0;
}
.intro .box:first-child{
    width:100%;
    font-size:64px;
    line-height:70px;
    padding-left:36%;
    text-align:right;
}
.intro .box:first-child p{
    margin-bottom:0;
    text-align:left;
    max-width:880px;
}
.intro .box:last-child{
    position: absolute;
    top:50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    left:0;
    width:225px;
    padding-top:25px;
    /*padding-top:135px;*/
}
.intro .box img{
    position:relative;
    top:-72px;
    left:-41px;
    display:block;
    width:102px;
    height:19px;
    -webkit-transform:rotate(90deg);
    transform:rotate(90deg);
}

.video{
    position:relative;
    margin-bottom:92px;
    padding-top:56.25%;
    width:100%;
    height:0;
    overflow:hidden;
    opacity:0;
}
.video video {
    width:100%;
    height:100%;
    min-width:100%;
    min-height:100%;
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
    object-fit:cover;
}

.services{
    margin:0 auto 50px;
    max-width:1260px;
    overflow:hidden;
}
.services h2{
    max-width:990px;
    margin-bottom:54px;
}
.services .boxHolder{
    overflow-y: hidden;
    overflow-x: auto;
    padding-bottom:50px;
    
}
.services .boxes{
    display:-webkit-box;
    display:-moz-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    flex-wrap:wrap;
    pointer-events:none;
    min-width:712px;
}

.services .boxes > * {
    width:28%;
    margin-left:8%;
    border-top:1px solid #404040;
    pointer-events: auto;
    transition: 300ms opacity, 300ms transform;
}
.services .boxes > *:nth-child(3n+1){
    margin-left:0;
}
.services .boxes .box h6{
    padding:20px 0;
}
.services .boxes .box .imgHolder{
    position:relative;
    margin-bottom:15px;
    border:1px solid #404040;
    -khtml-border-radius:35px;
    -webkit-border-radius:35px;
    -moz-border-radius:35px;
    -o-border-radius:35px;
    border-radius:35px;
    overflow:hidden;
}
.services .boxes .box .imgHolder img{
    display:block;
    width:100%;
    height:auto;
    -webkit-transition:ease-in-out 0.3s;
    -o-transition:ease-in-out 0.3s;
    -moz-transition:ease-in-out 0.3s;
    -ms-transition:ease-in-out 0.3s;
    transition:ease-in-out 0.3s;
}
.services .boxes .box .imgHolder video#cubeVideo,
.services .boxes .box .imgHolder video#cubeVideoMobile{
    width:100%;
    height:auto;
    -webkit-transition:ease-in-out 0.3s;
    -o-transition:ease-in-out 0.3s;
    -moz-transition:ease-in-out 0.3s;
    -ms-transition:ease-in-out 0.3s;
    transition:ease-in-out 0.3s;
    -khtml-border-radius:35px;
    -webkit-border-radius:35px;
    -moz-border-radius:35px;
    -o-border-radius:35px;
    border-radius:35px;
}
.services .boxes .box .imgHolder video#cubeVideo{
    display:block;
}
.services .boxes .box .imgHolder video#cubeVideoMobile{
    display:none;
}
.services .boxes .box .imgHolder span.activate{
    position:absolute;
    right:30px;
    bottom:30px;
    width:70px;
    height:70px;
    background:rgba(0,0,0,.4);
    border:1px solid rgba(225,225,225,.25);
    -khtml-border-radius:100%;
    -webkit-border-radius:100%;
    -moz-border-radius:100%;
    -o-border-radius:100%;
    border-radius:100%;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    cursor:pointer;
    -webkit-transition:ease-in-out 0.3s;
    -o-transition:ease-in-out 0.3s;
    -moz-transition:ease-in-out 0.3s;
    -ms-transition:ease-in-out 0.3s;
    transition:ease-in-out 0.3s;
}
.services .boxes .box .imgHolder span.activate:hover{
    background:rgba(237,255,35,1);
}
.services .boxes .box .imgHolder span.activate svg{
    display:block;
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%) rotate(0deg);
    width:24px;
    height:24px;
    fill:#fff;
    -webkit-transition:ease-in-out 0.3s;
    -o-transition:ease-in-out 0.3s;
    -moz-transition:ease-in-out 0.3s;
    -ms-transition:ease-in-out 0.3s;
    transition:ease-in-out 0.3s;
}
.services .boxes .box .imgHolder span.activate:hover svg{
    transform:translate(-50%,-50%) rotate(180deg);
    fill:#000;
}
.services .boxes .box .imgHolder span.activate1.activate1x svg,
.services .boxes .box .imgHolder span.activate2.activate2x svg,
.services .boxes .box .imgHolder span.activate3.activate3x svg{
    transform:translate(-50%,-50%) rotate(45deg);
}
.services .boxes .box .imgHolder span.activate1.activate1x:hover svg,
.services .boxes .box .imgHolder span.activate2.activate2x:hover svg,
.services .boxes .box .imgHolder span.activate3.activate3x:hover svg{
    transform:translate(-50%,-50%) rotate(225deg);
    fill:#000;
}
.services .boxes .box ul{
    margin-bottom:0;
}
.services .boxes .box ul li{
    margin-left:0;
}
.services .boxes:hover > * .imgHolder img,
.services .boxes:hover > * .imgHolder video#cubeVideo,
.services .boxes:hover > * .imgHolder video#cubeVideoMobile{
  opacity: 0.4;
}
.services .boxes:hover > *:hover .imgHolder img,
.services .boxes:hover > *:hover .imgHolder video#cubeVideo,
.services .boxes:hover > *:hover .imgHolder video#cubeVideoMobile{
  opacity: 1;
}

.services .boxes .box .imgHolder span.serviceInfo{
    display:block;
    position:absolute;
    top:24px;
    left:24px;
    right:24px;
    bottom:auto;
    padding:20px;
    line-height:20.8px;
    background:rgba(0,0,0,.2);
    border:1px solid rgba(255,255,255,.25);
    -khtml-border-radius:20px;
    -webkit-border-radius:20px;
    -moz-border-radius:20px;
    -o-border-radius:20px;
    border-radius:20px;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    -webkit-transition:ease-in-out 0.3s;
    -o-transition:ease-in-out 0.3s;
    -moz-transition:ease-in-out 0.3s;
    -ms-transition:ease-in-out 0.3s;
    transition:ease-in-out 0.3s;
}
.services .boxes .box .imgHolder span.serviceInfo.infoHidden1,
.services .boxes .box .imgHolder span.serviceInfo.infoHidden2,
.services .boxes .box .imgHolder span.serviceInfo.infoHidden3{
    opacity:0;
    z-index:-1;
}
.services .boxes .box .imgHolder span.serviceInfo.infoHidden1.infoDisplay1,
.services .boxes .box .imgHolder span.serviceInfo.infoHidden2.infoDisplay2,
.services .boxes .box .imgHolder span.serviceInfo.infoHidden3.infoDisplay3{
    opacity:1;
    z-index:4;
}

.textLoop{
    display:-webkit-box;
    display:-moz-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    margin-bottom:100px;
    padding:4.45% 0;
    border-top:1px solid #404040;
    border-bottom:1px solid #404040;
    overflow:hidden;
    white-space:nowrap;
    width:100%;
}
.textLoop .move{
    display:block;
    padding-left:36%;
    animation:loopText 18s infinite linear;
}
.textLoop img{
    display:inline-block;
    width:5.75%;
    height:auto;
    margin-right:1.2%;
    vertical-align: middle;
}
.textLoop p{
    display:inline-block;
    margin-top:0;
    margin-bottom:.9%;
    /* margin-bottom:-.8%; */
    font-size:11.5vw;
    line-height:0;
    vertical-align:middle;
}
@keyframes loopText {
    from {transform: translateX(0);}
    to {transform: translateX(-100%);}
}

.caseStudies{}
.caseStudies h2{
    max-width:800px;
    margin-bottom:30px;
}
.caseStudies ul.selected{
    display:-webkit-box;
    display:-moz-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    flex-wrap:wrap;
}
.caseStudies ul.selected li.study{
    width:44%;
    margin-left:12%;
}
.caseStudies ul.selected li.study:nth-child(3n+1){
    width:100%;
    margin-left:0;
}
.caseStudies ul.selected li.study:nth-child(3n+2){
    margin-left:0;
}
.caseStudies ul.selected li.study .imgBox{
    margin-bottom:27px;
    -khtml-border-radius:30px;
    -webkit-border-radius:30px;
    -moz-border-radius:30px;
    -o-border-radius:30px;
    border-radius:30px;
    overflow:hidden;
}
.caseStudies ul.selected li.study .imgBox img{
    display:block;
    width:100%;
    height:auto;
}
.caseStudies ul.selected li.study h5,
h5.caseTitle{
    margin-bottom:12px;
}
.caseStudies ul.selected li.study h5 span,
h5.caseTitle span{
    display:block;
    color:#999;
}
.tags{
    font-size:0;
    margin-bottom:63px;
}
.tags li{
    display:inline-block;
    margin:0 6px 6px 0;
    padding:0 10px 0;
    hight:24px;
    line-height:22px;
    font-size:14px;
    text-transform:uppercase;
    border:1px solid #fff;
    -khtml-border-radius:50px;
    -webkit-border-radius:50px;
    -moz-border-radius:50px;
    -o-border-radius:50px;
    border-radius:50px;
}
.windows .tags li{
    padding:0 10px 0;
    line-height:24px;
}

.caseStudies .expand{
    padding:0 0 1.5em;
    margin-top:-1em;
}
.caseStudies .expand a.source{
    position:relative;
    display:block;
    margin-top:3em;
    margin-bottom:50px;
    height:226px;
    line-height:226px;
    text-align:center;
    background:rgba(255,255,255,0);
    border:1px solid #fff;
    -khtml-border-radius:180px;
    -webkit-border-radius:180px;
    -moz-border-radius:180px;
    -o-border-radius:180px;
    border-radius:180px;
    overflow:hidden;
    z-index:1;
}
.caseStudies .expand a.source:hover span.bcg,
.caseStudies .expand.expanded a.source:hover span.bcg{
    top:0;
}
.caseStudies .expand a.source span.bcg,
.caseStudies .expand.expanded a.source span.bcg{
    display:block;
    position:relative;
    left:0;
    top:100%;
    width:100%;
    height:100%;
    background:#fff;
    z-index:0;
    -webkit-transition:ease-in-out 0.54s;
    -o-transition:ease-in-out 0.54s;
    -moz-transition:ease-in-out 0.54s;
    -ms-transition:ease-in-out 0.54s;
    transition:ease-in-out 0.54s;
}
.caseStudies .expand a.source span.close,
.caseStudies .expand a.source span.open{
    display:block;
    position:absolute;
    top:50%;
    left:50%;
    -webkit-transform:translate(-50%,-50%);
    transform:translate(-50%,-50%);
    z-index:2;
}
.caseStudies .expand a.source:hover span.close,
.caseStudies .expand a.source:hover span.open{
    color:#000;
}
.caseStudies .expand a.source span.close{
    font-size:32px;
    opacity:1;
}
.caseStudies .expand a.source span.open{
    font-size:0;
    opacity:0;
}

.caseStudies .expand.expanded a.source span.close{
    font-size:0;
    opacity:0;
}
.caseStudies .expand.expanded a.source span.open{
    font-size:32px;
    opacity:1;
}

.howItWorks{
    padding-bottom:128px;
}

.howItWorks h2{
    max-width:540px;
    margin-bottom:50px;
}
.howItWorks .boxes{
    display:-webkit-box;
    display:-moz-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    flex-wrap:wrap;
}
.howItWorks .boxes .box{
    position:relative;
    width:32.5333333333%;
    margin-left:1.2%;
    padding:3.25em 3.25em 22.5%;
    text-align:center;
    background:#191919;
    -khtml-border-radius:30px;
    -webkit-border-radius:30px;
    -moz-border-radius:30px;
    -o-border-radius:30px;
    border-radius:30px;
}
.howItWorks .boxes .box:first-child{
    margin-left:0;
}
.howItWorks .boxes .box h4{}
.howItWorks .boxes .box p{
    position:absolute;
    left:3.25em;
    right:3.25em;
    bottom:3.25em;
    margin-bottom:0;
}
.howItWorks .boxes .box ul.steps{
    position:relative;
    display:inline-block;
    margin:0 auto 20px;
    font-size:0;
}
.howItWorks .boxes .box ul.steps li{
    display:inline-block;
    margin:0 0 5px 5px;
    font-size:14px;
}
.howItWorks .boxes .box ul.steps li span{
    display:inline-block;
    height:22px;
    line-height:19px;
    padding:0 12px;
    color:#6f6f6f;
    border:1px solid #6f6f6f;
    -khtml-border-radius:22px;
    -webkit-border-radius:22px;
    -moz-border-radius:22px;
    -o-border-radius:22px;
    border-radius:22px;
}
.howItWorks .boxes .box ul.steps li:first-child{
    margin:0 0 0 0;
    padding-left:27px;
}
.howItWorks .boxes .box ul.steps li:first-child:before{
    position:absolute;
    top:-1px;
    left:0;
    content:'';
    width:22px;
    height:22px;
    -khtml-border-radius:100%;
    -webkit-border-radius:100%;
    -moz-border-radius:100%;
    -o-border-radius:100%;
    border-radius:100%;
    background:#fff;
}
.howItWorks .boxes .box:first-child ul.steps li:first-child:before{
    background:#edff23;
}
.howItWorks .boxes .box:first-child ul.steps li:first-child span{
    color:#000;
    border:1px solid #edff23;
    background:#edff23;
}
.howItWorks .boxes .box:nth-child(2) ul.steps li:nth-child(2) span,
.howItWorks .boxes .box:last-child ul.steps li:last-child span{
    color:#000;
    border:1px solid #fff;
    background:#fff;
}

.about{
    padding:60px 0;
    border-top:1px solid #404040;
    border-bottom:1px solid #404040;
}
.about h2{
    max-width:540px;
    margin-bottom:63px;
}
.about h2 span span{
    display:block;
}
.about .boxes{
    display:-webkit-box;
    display:-moz-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    flex-wrap:wrap;
}
.about .boxes .box{
    position:relative;
    width:30.66666666666667%;
    margin-left:4%;
}
.about .boxes .box:first-child{margin-left:0;}
.about .boxes .box img{
    display:block;
    width:90px;
    height:auto;
    margin-bottom:18px;
}
.about .boxes .box p{
    margin-bottom:18px;
    color:#999;
}
.about .boxes .box p:first-of-type{
    color:#fff;
}

.about .boxes .box .videoBox{}
.about .boxes .box .videoBox video{
    display: block;
    width: 100%;
    height: auto;
    margin-bottom:18px;
}

.partners{
    padding:120px 0;
}
.partners p.title{
    font-size:20px;
    text-align:center;
    margin-bottom:46px;
}
.partners ul{
    display:-webkit-box;
    display:-moz-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    flex-wrap:wrap;
    max-width:1100px;
    margin:0 auto 58px;
}
.partners ul li{
    position:relative;
    width:20%;
    margin-left:0;
    background:#000;
    -khtml-border-radius:15px;
    -webkit-border-radius:15px;
    -moz-border-radius:15px;
    -o-border-radius:15px;
    border-radius:15px;
    overflow:hidden;
    -webkit-transition:ease-in-out 0.54s;
    -o-transition:ease-in-out 0.54s;
    -moz-transition:ease-in-out 0.54s;
    -ms-transition:ease-in-out 0.54s;
    transition:ease-in-out 0.54s;
    cursor:pointer;
}
.partners ul li:hover{
    background:#191919;
}
.partners ul li img{
    display:block;
    width:100%;
    height:auto;
    -webkit-transition:ease-in-out 0.54s;
    -o-transition:ease-in-out 0.54s;
    -moz-transition:ease-in-out 0.54s;
    -ms-transition:ease-in-out 0.54s;
    transition:ease-in-out 0.54s;
}
.partners ul li:hover img.front{
    opacity:1;
}
.partners ul li img.hover{
    position:absolute;
    top:0;
    left:0;
    opacity:0;
}
.partners ul li:hover img.hover{
    opacity:1;
}
.partners ul li:hover img.front{
    opacity:0;
}
.partners p.gradient{
    text-align:center;
    margin-bottom:0;
}
.partners p.gradient>span{
    display:inline-block;
    padding:0 24px;
    height:42px;
    line-height:40px;
    background:#191919;
    -khtml-border-radius:50px;
    -webkit-border-radius:50px;
    -moz-border-radius:50px;
    -o-border-radius:50px;
    border-radius:50px;
}
.partners p.gradient span span{
    background: -webkit-linear-gradient(left, #fff, #edff23);
    background: -moz-linear-gradient(left, #fff, #edff23);
    background: -o-linear-gradient(left, #fff, #edff23);
    background: linear-gradient(to right, #fff, #edff23); 
    -webkit-text-fill-color: transparent; 
    -webkit-background-clip: text;
}

.contact{
    padding:40px 0;
    border-top:1px solid #404040;
}
.contact h2{
    max-width:auto;
    margin-bottom:220px;
}
.contact h2 span{
    display:block;
}
.contact a.link{
    font-size:20px;
    margin-bottom:36px;
    padding:0 41px 0 0;
}
.contact a.link:before{
    bottom:-1px;
}
.contact a.link:hover:before{
    right:40px;
}
.contact a.link:after{
    position:absolute;
    top:-3px;
    right:0;
    content:'';
    width:32px;
    height:32px;
}
.contact a.link span:before{
    top:-3px;
    right:-41px;
    width:32px;
    height:32px;
    }
.contact a.link:hover span:before{
    right:-73px;
    opacity:0;
    }
.contact a.link span:after{
    top:-3px;
    right:-18px;
    width:32px;
    height:32px;
    }
.contact a.link:hover span:after{
    right:-41px;
    opacity:1;
    }
.contact p{
    font-size:20px;
    line-height:1.25em;
    margin-bottom:0;
}

a.underline{
    position:relative;
    display:inline-block;
}
a.underline:before{
    position:absolute;
    bottom:-1px;
    left:1px;
    right:100%;
    height:1px;
    background-color:#fff;
    content:'';
}
a.underline:hover:before{
    right:-1px;
}

/* contact page */

.contact-page .contact{
    display:-webkit-box;
    display:-moz-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    flex-wrap:wrap;
    padding:183px 0 220px;
}
.contact-page .contact .box{
}
.contact-page .contact .box:first-child{
    width:42%;
    margin-right:8%;
}
.contact-page .contact .box:first-child p{
    max-width:479px;
    font-size:18px;
}
.contact-page .contact .box:last-child{
    width:50%;
}
.contact-page .contact .box:last-child form{
    max-width:671px !important;
    float:right;
}
.contact-page .contact h2{
    margin-bottom:52px;
}
.contact-page .contact .box:first-child

.contact-page .contact a.link{
    font-size:20px;
    margin-bottom:36px;
    padding:0 41px 0 0;
}
.contact-page .contact a.link:before{
    bottom:-1px;
}
.contact-page .contact a.link:hover:before{right:40px;}
.contact-page .contact a.link:after{
    position:absolute;
    top:-3px;
    right:0;
    content:'';
    width:32px;
    height:32px;
}
.contact-page .contact a.link span:before{
    top:-3px;
    right:-41px;
    width:32px;
    height:32px;
    }
.contact-page .contact a.link:hover span:before{
    right:-73px;
    opacity:0;
    }
.contact-page .contact a.link span:after{
    top:-3px;
    right:-18px;
    width:32px;
    height:32px;
    }
.contact-page .contact a.link:hover span:after{
    right:-41px;
    opacity:1;
    }
.contact-page .contact p{
    margin-bottom:1.5em;
}
.contact-page .contact p.sendMail{
    font-size:20px;
    line-height:1.25em;
    margin-bottom:0;
}

/* privac< page */

.privacy-page .content .inner{
    padding:183px 40px 0;
}
.privacy-page .content>.inner>h2{
    margin-bottom:78px;
    font-size:96px;
}
.privacy-page .content .inner section{
    display:-webkit-box;
    display:-moz-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    flex-wrap:wrap;
    padding:15px 0 41px;
    border-bottom:1px solid #404040;
}
.privacy-page .content .inner section:first-of-type{
    border-top:1px solid #404040;
}
.privacy-page .content .inner section:last-of-type{
    padding:15px 0 169px;
}
.privacy-page .content .inner section p.title{
    width:50%;
    padding-right:10px;
    font-size:20px;
    font-weight:300;
    line-height:22px;
}
.privacy-page .content .inner section .box{
    width:50%;
    padding-left:10px;
}
.privacy-page .content .inner section .box p{
    font-size:20px;
    font-weight:300;
    line-height:24px;
}
    
/* case studies */
.case-study-single{}
.case-study-single .content .inner{
    padding-top:87px;
}

.case-study-single .txtDouble span.title{
    display:block;
    color:#999;
}

.case-study-single .txtDouble .box:first-child{}
.case-study-single .txtDouble .box:first-child h2{
    font-size:55px;
    line-height:60.5px;
    margin-bottom:28px;
}
.case-study-single .txtDouble .box:first-child p{
    margin-bottom:11px;
}
.case-study-single .txtDouble .box:first-child p.title{
    font-size:55px;
    line-height:60.5px;
    margin-bottom:0;
    padding-top:24px;
}
.case-study-single .txtDouble .box:first-child .noTitle span.title{
    padding-top:19px;
}

.case-study-single .txtDouble .box:last-child{}
.case-study-single .txtDouble .box:last-child section{
    display:block;
    margin-bottom:34px;
}
.case-study-single .txtDouble .box:last-child section:last-of-type{
    margin-bottom:28px;
}
.case-study-single .txtDouble .box:last-child p{
}
.case-study-single .txtDouble .box:last-child section p:last-of-type{
    margin-bottom:0;
}
.case-study-single .txtDouble .box:last-child section:nth-of-type(2) p{
    margin-bottom:21px;
}
.case-study-single .txtDouble .box:last-child section:last-of-type p{
    margin-bottom:17px;
}
.case-study-single .txtDouble .box:last-child section p.title{
    font-size:32px;
    line-height:35.2px;
    margin-bottom:11px;
}

.case-study-single .testimonial{
    padding:152px 0 187px;
    text-align:center;
}
.case-study-single .testimonial .icons{
    width:102px;
    height:18px;
    margin:0 auto 34px;
}
.case-study-single .testimonial .icons img{
    display:block;
    width:auto;
    height:100%;
}
.case-study-single .testimonial p{
    font-size:52px;
    line-height:1.1em;
    max-width:890px;
    margin:0 auto;
}
.case-study-single .testimonial.wide_testimonial p{
    max-width:1044px;
}
.case-study-single .testimonial p small{
    display:block;
    font-size:16px;
    line-height:1.3em;
    font-weight:300;
    letter-spacing:-2%;
    padding-top:31px;
}

.txtDouble{
    display:-webkit-box;
    display:-moz-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    flex-wrap:wrap;
    justify-content: space-between;
    gap:76px;
    width:100%;
    margin-bottom:40px;
    padding-bottom:99px;
}
.txtDouble .box{
    width: calc(50% - 38px); /* 50% width minus half of gap */
    flex:1;
}
.txtDouble .box h2{
    font-size:52px;
    margin-bottom:40px;
}

.txtDouble .box .mobFlex{}

.txtDouble .box .button span:before,
.txtDouble .box .button span:after{
    transform:rotate(90deg);
}
.txtDouble .box .button span:before{
    top:-1px;
    right:-30px;
    }
.txtDouble .box .button:hover span:before{
    top:32px;
    right:-30px;
    opacity:0;
    }
.txtDouble .box .button span:after{
    top:-19px;
    right:-30px;
    }
.txtDouble .box .button:hover span:after{
    top:-1px;
    right:-30px;
    opacity:1;
    }

.txtDouble .box .mobFlex{margin-bottom:0;}
.txtDouble .box .btnDesktop{display:inline-block;}
.txtDouble .box .btnMobile{display:none;}

.imgSingle{
    margin-bottom:40px;
    border-radius:30px;
    overflow:hidden;
}
.imgSingle.imgSingleTop{
    margin-bottom:70px;
}
.imgSingle img,
.imgSingle video{
    display:block;
    width:100%;
    height:auto;
}

.imgDouble{
    display:-webkit-box;
    display:-moz-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    flex-wrap:wrap;
    justify-content: space-between;
    gap:40px;
    width:100%;
    margin-bottom:40px;
}
.imgDouble img,
.imgDouble video{
    display:block;
    width: calc(50% - 20px); /* 50% width minus half of gap (20px) */
    height: auto;
    border-radius:30px;
    flex:1;
}

.discover{
    padding-top:74px;    
    border-top:1px solid #404040;
}
.discover h2{
    margin-bottom:29px;
}
	
/* // content */

/* footer */
	
.footer .inner{
    padding-bottom:220px;
}
.footer .inner .border{
    padding-top:20px;
    border-top:1px solid #404040;
}
.footer p.copyright{color:#404040;}

.footer .social{
    position:absolute;
    top:20px;
    left:50%;
    transform:translateX(-50%) !important;
    width:360px !important;
    height:21px;
    text-align:center;
    font-size:0;
}
.footer .social li{
    display:inline-block;
    margin:0 0 0 18px;
    padding:0 0 0 13px;
    width:auto;
    height:21px;
    line-height:21px;
    font-size:16px;
}
.footer .social li:first-child{
    margin:0 0 0 0;
}
.footer .social li:before{
    position:absolute;
    top:7px;
    left:0;
    width:9px;
    height:9px;
    content:'';
    background:url("images/arrow-link.svg") no-repeat center;
    background-size:contain;
}
.footer .social li a{
    display:block;
    position:relative;
}
.footer .social li a:after{
    position:absolute;
    bottom:-3px;
    left:0;
    content:'';
    height:1px;
    width:0;
    background:#fff;
    transition-delay:.25s;
}
.footer .social li a:hover:after{
    width:100%;
}

.footer .social li a span.animationHolder{
    position:relative;
    height:21px;
    overflow:hidden;
    font-size:0;
}
.footer .social li a span.animationHolder span.box{
    display:inline-block;
    height:42px;
    font-size:16px;
}
.footer .social li a span.animationHolder span.box span{
    display:block;
    height:21px;
    line-height:21px;
}
.footer .social li a:hover span.animationHolder span.box{
    transform:translateY(-21px);
}
.footer .social li a span.animationHolder span.box:nth-child(2){
    transition-delay:.025s;
}
.footer .social li a span.animationHolder span.box:nth-child(3){
    transition-delay:.050s;
}
.footer .social li a span.animationHolder span.box:nth-child(4){
    transition-delay:.075s;
}
.footer .social li a span.animationHolder span.box:nth-child(5){
    transition-delay:.100s;
}
.footer .social li a span.animationHolder span.box:nth-child(6){
    transition-delay:.125s;
}
.footer .social li a span.animationHolder span.box:nth-child(7){
    transition-delay:.150s;
}
.footer .social li a span.animationHolder span.box:nth-child(8){
    transition-delay:.175s;
}
.footer .social li a span.animationHolder span.box:nth-child(9){
    transition-delay:.200s;
}

.footerLogo{
    display:block;
    width:100%;
    height:auto;
    margin-top:7.5em;
}

.toTop{
    display:block;
    position:absolute;
    top:20px;
    right:40px;
    z-index:8;
}

.toTop a{
    display:block;
    width:80px;

    height:70px;
}
.toTop a svg{
    fill:#fff;
}
.toTop a:hover svg{
    fill:#edff23;
}

.toTop.toTop_hide{display:none !important;}
	
/* // footer */

/* clearfix */

.inner:before, .content_inner:before, .content:before, .row:before, .block:before, .wpcf7-form:before, form:before, hr:before, ul.page-numbers:before,
.inner:after, .content_inner:after, .content:after, .row:after, .block:after, .wpcf7-form:after, form:after, hr:after, ul.page-numbers:after{
    content:"";
    display:table;
    }
.inner:after, .content_inner:after, .content:after, .row:after, .block:after, .wpcf7-form:after, form:after, hr:after, ul.page-numbers:after{clear:both;}
.inner, .content_inner, .content, .row, .block, .wpcf7-form, form, hr, ul.page-numbers{zoom:1;}
	
/* // clearfix */

.fromBottom{
	opacity:0;
	transform:translateY(27px);
	-webkit-animation:fromBottom ease-out .36s;
	-moz-animation:fromBottom ease-out .36s;
	-o-animation:fromBottom ease-out .36s;
	animation:fromBottom ease-out .36s;
	-webkit-animation-iteration-count:1;
	-moz-animation-iteration-count:1;
	-o-animation-iteration-count:1;
	animation-iteration-count:1;
	-webkit-animation-fill-mode:forwards;
	-moz-animation-fill-mode:forwards;
	-o-animation-fill-mode:forwards;
	animation-fill-mode:forwards;
	}

@-webkit-keyframes fromBottom{
    0%{opacity:0;-webkit-transform:translateY(27px);}
    100%{opacity:1;-webkit-transform:translateY(0);}
}
@-moz-keyframes fromBottom{
    0%{opacity:0;-moz-transform:translateY(27px);}
    100%{opacity:1;-moz-transform:translateY(0);}
}
@-o-keyframes fromBottom{
    0%{opacity:0;-o-transform:translateY(27px);}
    100%{opacity:1;-o-transform:translateY(0);}
}
@keyframes fromBottom{
    0%{opacity:0;transform:translateY(27px);}
    100%{opacity:1;transform:translateY(0);}
}

.fromBottomIntro{
	opacity:0;
	transform:translateY(27px);
	-webkit-animation:fromBottomIntro ease-out .36s;
	-moz-animation:fromBottomIntro ease-out .36s;
	-o-animation:fromBottomIntro ease-out .36s;
	animation:fromBottomIntro ease-out .36s;
	-webkit-animation-iteration-count:1;
	-moz-animation-iteration-count:1;
	-o-animation-iteration-count:1;
	animation-iteration-count:1;
	-webkit-animation-fill-mode:forwards;
	-moz-animation-fill-mode:forwards;
	-o-animation-fill-mode:forwards;
	animation-fill-mode:forwards;
	}

@-webkit-keyframes fromBottomIntro{
    0%{opacity:0;-webkit-transform:translateY(27px);}
    10%{opacity:0;-webkit-transform:translateY(27px);}
    100%{opacity:1;-webkit-transform:translateY(0);}
}
@-moz-keyframes fromBottomIntro{
    0%{opacity:0;-moz-transform:translateY(27px);}
    10%{opacity:0;-moz-transform:translateY(27px);}
    100%{opacity:1;-moz-transform:translateY(0);}
}
@-o-keyframes fromBottomIntro{
    0%{opacity:0;-o-transform:translateY(27px);}
    10%{opacity:0;-o-transform:translateY(27px);}
    100%{opacity:1;-o-transform:translateY(0);}
}
@keyframes fromBottomIntro{
    0%{opacity:0;transform:translateY(27px);}
    10%{opacity:0;transform:translateY(27px);}
    100%{opacity:1;transform:translateY(0);}
}

.delay1{-webkit-animation-delay:.1s;-moz-animation-delay:.1s;-o-animation-delay:.1s;animation-delay:.1s;}
.delay2{-webkit-animation-delay:.2s;-moz-animation-delay:.2s;-o-animation-delay:.2s;animation-delay:.2s;}
.delay3{-webkit-animation-delay:.3s;-moz-animation-delay:.3s;-o-animation-delay:.3s;animation-delay:.3s;}
.delay4{-webkit-animation-delay:.4s;-moz-animation-delay:.4s;-o-animation-delay:.4s;animation-delay:.4s;}
.delay5{-webkit-animation-delay:.5s;-moz-animation-delay:.5s;-o-animation-delay:.5s;animation-delay:.5s;}
.delay6{-webkit-animation-delay:.6s;-moz-animation-delay:.6s;-o-animation-delay:.6s;animation-delay:.6s;}
.delay7{-webkit-animation-delay:.7s;-moz-animation-delay:.7s;-o-animation-delay:.7s;animation-delay:.7s;}
.delay8{-webkit-animation-delay:.8s;-moz-animation-delay:.8s;-o-animation-delay:.8s;animation-delay:.8s;}
.delay9{-webkit-animation-delay:.9s;-moz-animation-delay:.9s;-o-animation-delay:.9s;animation-delay:.9s;}
.delay10{-webkit-animation-delay:1s;-moz-animation-delay:1s;-o-animation-delay:1s;animation-delay:1s;}
.delay11{-webkit-animation-delay:1.1s;-moz-animation-delay:1.1s;-o-animation-delay:1.1s;animation-delay:1.1s;}
.delay12{-webkit-animation-delay:1.2s;-moz-animation-delay:1.2s;-o-animation-delay:1.2s;animation-delay:1.2s;}
.delay13{-webkit-animation-delay:1.3s;-moz-animation-delay:1.3s;-o-animation-delay:1.3s;animation-delay:1.3s;}
.delay14{-webkit-animation-delay:1.4s;-moz-animation-delay:1.4s;-o-animation-delay:1.4s;animation-delay:1.4s;}
.delay15{-webkit-animation-delay:1.5s;-moz-animation-delay:1.5s;-o-animation-delay:1.5s;animation-delay:1.5s;}
.delay16{-webkit-animation-delay:1.6s;-moz-animation-delay:1.6s;-o-animation-delay:1.6s;animation-delay:1.6s;}
.delay17{-webkit-animation-delay:1.7s;-moz-animation-delay:1.7s;-o-animation-delay:1.7s;animation-delay:1.7s;}
.delay18{-webkit-animation-delay:1.8s;-moz-animation-delay:1.8s;-o-animation-delay:1.8s;animation-delay:1.8s;}
.delay19{-webkit-animation-delay:1.9s;-moz-animation-delay:1.9s;-o-animation-delay:1.9s;animation-delay:1.9s;}
.delay20{-webkit-animation-delay:2s;-moz-animation-delay:2s;-o-animation-delay:2s;animation-delay:2s;}
.delay21{-webkit-animation-delay:2.1s;-moz-animation-delay:2.1s;-o-animation-delay:2.1s;animation-delay:2.1s;}
.delay22{-webkit-animation-delay:2.2s;-moz-animation-delay:2.2s;-o-animation-delay:2.2s;animation-delay:2.2s;}
.delay23{-webkit-animation-delay:2.3s;-moz-animation-delay:2.3s;-o-animation-delay:2.3s;animation-delay:2.3s;}
.delay24{-webkit-animation-delay:2.4s;-moz-animation-delay:2.4s;-o-animation-delay:2.4s;animation-delay:2.4s;}
.delay25{-webkit-animation-delay:2.5s;-moz-animation-delay:2.5s;-o-animation-delay:2.5s;animation-delay:2.5s;}
.delay26{-webkit-animation-delay:2.6s;-moz-animation-delay:2.6s;-o-animation-delay:2.6s;animation-delay:2.6s;}
.delay27{-webkit-animation-delay:2.7s;-moz-animation-delay:2.7s;-o-animation-delay:2.7s;animation-delay:2.7s;}
.delay28{-webkit-animation-delay:2.8s;-moz-animation-delay:2.8s;-o-animation-delay:2.8s;animation-delay:2.8s;}
.delay29{-webkit-animation-delay:2.9s;-moz-animation-delay:2.9s;-o-animation-delay:2.9s;animation-delay:2.9s;}
.delay30{-webkit-animation-delay:3s;-moz-animation-delay:3s;-o-animation-delay:3s;animation-delay:3s;}

[data-scroll].no_show{transition:none;animation:none;}

/* interactive elements */	
.tabs{
	position:relative;
	margin:0;
	padding:0;
	z-index:2;
	}
.tabs li{
	float:left;
	margin:0;
	padding:0;
	}
.tabs li a{
	display:block;
	height:30px;
	line-height:30px;
	padding:0 20px;
	text-decoration:none !important;
	background:#fff;
	border:1px solid #ddd;
	}
.tabs li a.selected{background:#eee;}
.tabs li a:focus{outline:none;}
.tab{
	clear:both;
	position:relative;
	border:1px solid #ddd;
	min-height:150px;
	background:#f7f7f7;
	padding:20px;
	margin-bottom:1.5em;
	z-index:1;
	}


#cookie-law {
    display: inline-block;
    position: fixed;
    bottom: 24px;
    right: 24px;
    padding:10px 12px 10px 12px;
    text-align: left;
    font-size:14px;
    line-height:19px;
    color:#000;
    background-color: #fff;
    z-index: 999;
}
#cookie-law a {
    display: inline-block;
    color: #000;
    text-decoration: underline;
}

/* // interactive elements */

@keyframes fromLeft{
    0%{opacity:0;left:270px;}
    100%{opacity:1;left:470px;}
}
@keyframes fromLeft2{
    0%{opacity:0;left:250px;}
    100%{opacity:1;left:420px;}
}
@keyframes fromLeft3{
    0%{opacity:0;left:230px;}
    100%{opacity:1;left:370px;}
}

/* media queries */
@media only screen and (max-width: 1366px) { /* Laptop */
    .intro{padding:200px 0 180px;}
    .services .boxes > * {width:29.333333333%;margin-left:6%;}
    .services .boxes > *:nth-child(3n+1){margin-left:0;}
    .services .boxes .box .imgHolder span.activate{right:22px;bottom:22px;width:60px;height:60px;}
    .services .boxes .box .imgHolder span.activate svg{width:21px;height:21px;}
    .services .boxes .box .imgHolder span.serviceInfo{top:20px;left:20px;right:20px;padding:19px;}
    .video{margin-bottom:78px;}
    .partners{padding:90px 0;}
}

@media only screen and (max-width: 1280px) { /* Medium Laptop */
    h2{font-size:3.1em;}
    .intro{padding:180px 0 160px;}
    .intro .box:first-child{font-size:54px;line-height:59.2px;}
    .services .boxes > * {width:30.333333333%;margin-left:4.5%;}
    .services .boxes > *:nth-child(3n+1){margin-left:0;}
    .video{margin-bottom:71px;}
    .textLoop{margin-bottom:75px;}
}

@media only screen and (max-width: 1024px) { /* Small Laptop */
    #status, #status lottie-player{width:144px;}
    
    h2{font-size:2.9em;}
    .intro{padding:165px 0 145px;}
    .services .boxes > * {width:31.46666666666667%;margin-left:2.8%;}
    .services .boxes > *:nth-child(3n+1){margin-left:0;}
    .services .boxes .box .imgHolder,
    .services .boxes .box .imgHolder video#cubeVideo,
    .services .boxes .box .imgHolder video#cubeVideoMobile{
        -khtml-border-radius:25px;
        -webkit-border-radius:25px;
        -moz-border-radius:25px;
        -o-border-radius:25px;
        border-radius:25px;
    }
    .services .boxes .box .imgHolder span.activate{right:13px;bottom:13px;width:44px;height:44px;}
    .services .boxes .box .imgHolder span.activate svg{width:16px;height:16px;}
    .services .boxes .box .imgHolder span.serviceInfo{top:13px;left:13px;right:13px;padding:16px 18px;}
    .video{
        -khtml-border-radius:20px;
        -webkit-border-radius:20px;
        -moz-border-radius:20px;
        -o-border-radius:20px;
        border-radius:20px;
        margin-bottom:57px;
    }
    .caseStudies ul.selected li.study .imgBox{
        -khtml-border-radius:20px;
        -webkit-border-radius:20px;
        -moz-border-radius:20px;
        -o-border-radius:20px;
        border-radius:20px;
    }
    
    .caseStudies .expand a.source{height:200px;line-height:200px;}
    .howItWorks{padding-bottom:90px;}
    .partners{padding:60px 0;}
    
    .privacy-page .content .inner h2{font-size:65px;}
}

@media only screen and (max-width: 835px) { /* Medium Tablet*/
    .brand{display:none;}

    .page_title{
        position:absolute;
        top:19px;
        left:28px;
        -webkit-transform:translateX(0);
        transform:translateX(0);
        z-index:999999999;
    }
    .navigation{
        position:fixed;
        top:0;
        width:100%;
        height:100vh;
        margin:0;
        overflow-x:hidden;
        overflow-y:auto;
        z-index:99;
    }
    .navigation.yes_menu:after{
        position:fixed;
        top:0;
        left:0;
        right:0;
        width:100%;
        height:63px;
        content:'';
        background:rgba(0,0,0,.5);
        -webkit-backdrop-filter: blur(10px);
        backdrop-filter: blur(10px);
        -webkit-transition:ease-in-out 0.3s;
        -o-transition:ease-in-out 0.3s;
        -moz-transition:ease-in-out 0.3s;
        -ms-transition:ease-in-out 0.3s;
        transition:ease-in-out 0.3s;
        z-index:999999;
    }
    .navigation .menuBox{
        position:relative;
        margin-top:63px;
        height:100vh;
        min-height:881px;
        background:#000;     
        z-index:9;
    }
    #menu ul{
        height:auto;
        margin:0;
        padding-top:45px;
    }
    #menu ul li,
    #menu ul li:first-child{
        margin:0 0 18px 0;
        padding:0 28px;
        display:block;
        float:none;
        position:relative;
    }

    #menu ul li a{
        position:relative;
        display:block;
        height:74px;
        padding-top:0;
        color:#fff;
    }
    #menu a:after{
        display:none !important;
    }
    .yes_menu #menu a:before{
        position:absolute;
        top:10px;
        left:270px;
        height:64px;
        width:74px;
        content:'';
        background:url("images/menu-arrow.svg") no-repeat center top;
        background-size:contain;
        opacity:0;
        -o-animation:fromLeft ease-in .36s;
        -o-animation-iteration-count:1;
        -o-animation-fill-mode:forwards;
        -o-animation-delay:.27s;
        -moz-animation:fromLeft ease-in .36s;
        -moz-animation-iteration-count:1;
        -moz-animation-fill-mode:forwards;
        -moz-animation-delay:.27s;
        -webkit-animation:fromLeft ease-in .36s;
        -webkit-animation-iteration-count:1;
        -webkit-animation-fill-mode:forwards;
        -webkit-animation-delay:.27s;
        animation:fromLeft ease-in .36s;
        animation-iteration-count:1;
        animation-fill-mode:forwards;
        animation-delay:.27s;
    }
    
    #menu a span.animationHolder{
        position:relative;
        overflow:hidden;
        height:74px;
    }
    
    #menu a span.animationHolder span.mobile{
        display:block;
        height:74px;
        line-height:74px;
        font-size:64px;
    }
    #menu a span.animationHolder span.box,
    #menu a span.animationHolder span.box span{
        display:none;
    }
    
	#toggle_menu{display:block;}
    
	.navigation.no_menu{
        right:-100%;
        -webkit-transition:ease-in-out 0.18s;
        -moz-transition:ease-in-out 0.18s;
        -ms-transition:ease-in-out 0.18s;
        -o-transition:ease-in-out 0.18s;
        transition:ease-in-out 0.18s;
    }
	.navigation.yes_menu{
        right:0;
        -webkit-transition:ease-in-out 0.3s;
        -moz-transition:ease-in-out 0.3s;
        -ms-transition:ease-in-out 0.3s;
        -o-transition:ease-in-out 0.3s;
        transition:ease-in-out 0.3s;
    }
    
    .menuFooter{
        position:absolute;
        left:28px;
        right:28px;
        bottom:128px;
        font-size:20px;
    }
    .menuFooter .boxTop{
        position:relative;
        padding-bottom:.5em;
    }
    .menuFooter .boxTop a.link{
        margin-bottom:28px;
    }
    .menuFooter .boxTop p{
        line-height:26px;
    }
    .menuFooter .boxTop .timeBox{
        position:absolute;
        bottom:2em;
        right:0;
    }
    .menuFooter .boxTop .timeBox p{
        margin-bottom:0;
    }
    
    .menuFooter .boxBottom{
        position:relative;
        padding-top:1em;
        border-top:1px solid rgba(255,255,255,.25);
    }
    .menuFooter .boxBottom p{
        font-size:14px;
        color:rgba(255,255,255,.25);
    }
    .menuFooter .boxBottom .social{
        position:absolute;
        top:21px;
        right:0;
        width:360px !important;
        height:21px;
        text-align:right;
        font-size:0;
    }
    .menuFooter .boxBottom .social li{
        display:inline-block;
        margin:0 0 0 18px;
        padding:0 0 0 13px;
        width:auto;
        height:21px;
        line-height:21px;
        font-size:14px;
    }
    .menuFooter .boxBottom .social li:first-child{
        margin:0 0 0 0;
    }
    .menuFooter .boxBottom .social li:before{
        position:absolute;
        top:7px;
        left:0;
        width:9px;
        height:9px;
        content:'';
        background:url("images/arrow-link.svg") no-repeat center;
        background-size:contain;
    }

    h2{font-size:2.75em;}
    .services{margin:0 auto 0;}
    .services h2{max-width:600px;}
    .inner{padding:0 28px;}
    .header .inner{padding:0 0;}
    .intro{padding:150px 0 130px;}

    .textLoop{padding:5% 0;}
    .textLoop img{width:5.75%;margin-right:1.2%;}
    .textLoop p{font-size:17vw;}
    
    .caseStudies .expand{padding:0 0;}
    .caseStudies .expand a.source{height:180px;line-height:180px;}
    
    .tags{margin-bottom:36px;}
    
    .howItWorks .boxes .box{
        position:relative;
        width:31.66666666666667%;
        margin-left:2.5%;
        padding:2em 2em 31%;
        text-align:center;
        background:#191919;
        -khtml-border-radius:30px;
        -webkit-border-radius:30px;
        -moz-border-radius:30px;
        -o-border-radius:30px;
        border-radius:30px;
    }
    .howItWorks .boxes .box p{left:2em;right:2em;bottom:2em;}
    
    .contact h2{margin-bottom:180px;}
    
    .contact-page .contact h2{margin-bottom:60px;}
    .contact-page .contact{padding:111px 0 180px;}
    .contact-page .contact .box:first-child{width:100%;margin-right:0;}
    .contact-page .contact .box:first-child p{max-width:510px;}
    .contact-page .contact .box:last-child{width:100%;}
    .contact-page .contact .box:last-child form{max-width:100% !important;float:none;}
    .contact-page .contact p.sendMail{margin-bottom:3em;}
    
    #formMessage{max-width:100%;float:left;}
    
    .mobile{display:block !important;}
    .desktop{display:none !important;}
    .services .boxes .box .imgHolder video#cubeVideo{display:none;}
    .services .boxes .box .imgHolder video#cubeVideoMobile{display:block;}
    
    .privacy-page .content .inner{padding:104px 29px 0;}
}

@media only screen and (max-width: 768px) { /* Small Tablet / Smartphone*/
    html{-webkit-text-size-adjust:none;}
    h2{font-size:2.5em;}
    .intro{padding:140px 0 120px;}
    .intro .box:first-child{font-size:44px;line-height:48.4px;}


    .video{margin-bottom:50px;}
    .caseStudies .expand a.source{height:160px;line-height:160px;}

    #menu ul li a,
    #menu a span.animationHolder{
        height:60px;
    }
    #menu a span.animationHolder span.mobile{height:60px;line-height:60px;font-size:52px;}
    .yes_menu #menu a:before{
        position:absolute;
        top:2px;
        height:60px;
        -o-animation:fromLeft2 ease-in .36s;
        -o-animation-iteration-count:1;
        -o-animation-fill-mode:forwards;
        -o-animation-delay:.27s;
        -moz-animation:fromLeft2 ease-in .36s;
        -moz-animation-iteration-count:1;
        -moz-animation-fill-mode:forwards;
        -moz-animation-delay:.27s;
        -webkit-animation:fromLeft2 ease-in .36s;
        -webkit-animation-iteration-count:1;
        -webkit-animation-fill-mode:forwards;
        -webkit-animation-delay:.27s;
        animation:fromLeft2 ease-in .36s;
        animation-iteration-count:1;
        animation-fill-mode:forwards;
        animation-delay:.27s;
    }
    .navigation .menuBox{
        height:100vh;
        min-height:800px;
    }
    
    .case-study-single .txtDouble .box:first-child h2{
        font-size:40px;
        line-height:44px;
        margin-bottom:18px;
    }
    .case-study-single .txtDouble .box:first-child p.title{
        font-size:44px;
        line-height:48.4px;
    }
    
    .case-study-single .txtDouble .box:first-child .noTitle span.title{padding-top:0;}
    
    .txtDouble .inShort{margin-bottom:36px;}

    .txtDouble{
        display:block;
        flex-wrap:none;
        justify-content:none;
        gap:0;
        width:100%;
        margin-bottom:40px;
        padding-bottom:26px;
    }
    .txtDouble .box{width:100%;flex:0;}
    .txtDouble .box:first-of-type{margin-bottom:32px;}
    
    .txtDouble .box .btnDesktop{display:none;}
    .txtDouble .box .btnMobile{display:inline-block;}
    
    .txtDouble .box .mobFlex {
        display:-webkit-box;
        display:-moz-box;
        display:-webkit-flex;
        display:-ms-flexbox;
        display: flex;
        flex-wrap: wrap;
        gap:20px 90px;
        justify-content: flex-start;
        align-items: flex-end;
        margin-bottom:23px;
        }

    .txtDouble .box .mobFlex div {
        white-space: nowrap;
        display: inline-block;
        margin-bottom:0;
    }
    .case-study-single .txtDouble .box:first-child .mobFlex div p.title{
        padding-top:0;
    }

    @media (max-width: calc(100% + 180px)) {
        .txtDouble .box .mobFlex {
            gap:20px 90px;
        }
    }

    @media (max-width: calc(100% + 90px)) {
        .txtDouble .box .mobFlex div {
            width: 100%;
        }
    }
    
    .imgSingle{margin-bottom:28px;border-radius:20px;}
    .imgDouble{gap:28px;margin-bottom:28px;}
    .imgDouble img,
    .imgDouble video{
        width: calc(100% -14);
        border-radius:20px;
    }
    

    .case-study-single .testimonial{padding:80px 0 111px;}
    .case-study-single .testimonial p{
        font-size:40px;
        max-width:100%;
    }
}

@media only screen and (max-width: 670px) {
    #status, #status lottie-player{width:126px;}
    
    .inner{padding:0 22px;}
    .intro{padding:100px 0 45px;}
    h2{font-size:2.15em;}
    .intro .box:first-child{
        width:100%;
        padding-left:0;
        margin-bottom:30px;
        text-align:left;
    }
    .intro .box:first-child p{
        font-size:36px;
        line-height:39.6px;
        max-width:auto;
        }
    .intro .box:last-child{
        position:relative;
        top:0;
        -webkit-transform: translateY(0);
        transform: translateY(0);
        left:0;
        width:100%;
        padding-top:0;
        padding-left:0;
        /*padding-left:75px;*/
    }
    .intro .box img{
        position:absolute;
        top:48px;
        left:-41px;
        width:102px;
        height:19px;
        -webkit-transform:rotate(90deg);
        transform:rotate(90deg);
    }
    .intro .box img a.button{margin-bottom:0;}
    .services h2{margin-bottom:36px;}
    .textLoop{margin-bottom:40px;}
    .caseStudies ul.selected li.study{width:100% !important;margin-left:0 !important;}
    .caseStudies ul.selected li.study .imgBox{
        position:relative;
        height:0;
        padding-top:66.67%;
        margin-bottom:12px;
        overflow:hidden;
    }
    .caseStudies ul.selected li.study .imgBox img{
        position:absolute;
        top:50%;
        left:50%;
        -webkit-transform:translate(-50%,-50%);
        transform:translate(-50%,-50%);
    }
    .caseStudies ul.selected li.study .imgBox .big img{
        width:auto;
        height:100%;
    }
    .caseStudies .expand a.source{height:110px;line-height:110px;}
    .tags{margin-bottom:26px;}
    
    .howItWorks{padding-bottom:45px;}
    .howItWorks .boxes .box{
        width:100%;
        margin-left:0;
        margin-bottom:22px;
    }
    .howItWorks .boxes .box:last-child{margin-bottom:0;}

    .about{padding:0 0 0 0;border-top:none;}
    .about h2{margin-bottom:27px;}
    .about .boxes .box{
        position:relative;
        width:100%;
        margin-left:0;
        margin-bottom:9px !important;
    }
    .partners{padding:30px 0 45px;}
    .partners p.title{font-size:18px;margin-bottom:16px;}
    .partners ul{margin:0 auto 28px;justify-content:center;}
    .partners ul li{
        width:33.333333333%;
        -khtml-border-radius:9px;
        -webkit-border-radius:9px;
        -moz-border-radius:9px;
        -o-border-radius:9px;
        border-radius:9px;
    }
    .partners p.gradient span span{font-size:14px;}
    
    .contact h2{margin-bottom:120px;}
    .contact-page .contact h2{margin-bottom:60px;}
    
    .privacy-page .content .inner section p.title{
        width:100%;
        padding-right:0;
    }
    .privacy-page .content .inner section .box{
        width:100%;
        padding-left:0;
    }    
    
    .footer .inner{
        padding-bottom:190px;
        }
    .footer p.copyright{
        position:absolute;
        bottom:130px;
        left:5%;
        width:90%;
        font-size:14px;
        text-align:center;
        -webkit-transform:translateX(0) !important;
        transform:translateX(0) !important;
        }
    .footer .social li a span.animationHolder span.box{font-size:14px;}

    .footerLogo{
        display:block;
        width:100%;
        height:auto;
        margin-top:18px;
    }

    .toTop{
        display:block;
        position:absolute;
        top:auto;
        bottom:48px;
        left:50%;
        -webkit-transform:translateX(-50%) !important;
        transform:translateX(-50%) !important;
        right:auto;
        z-index:9;
    }

    .button, button{line-height:22px;}
    .windows .button, .windows button{line-height:24px;}
    .tags li{padding:0 10px 0;line-height:24px;}
    .windows .tags li{padding:1px 10px 0;line-height:24px;}
    
    .discover .imgSingle{margin-bottom:12px;}
}

@media only screen and (max-width: 600px) {
    .yes_menu #menu a:before{
        -o-animation:fromLeft3 ease-in .36s;
        -o-animation-iteration-count:1;
        -o-animation-fill-mode:forwards;
        -o-animation-delay:.27s;
        -moz-animation:fromLeft3 ease-in .36s;
        -moz-animation-iteration-count:1;
        -moz-animation-fill-mode:forwards;
        -moz-animation-delay:.27s;
        -webkit-animation:fromLeft3 ease-in .36s;
        -webkit-animation-iteration-count:1;
        -webkit-animation-fill-mode:forwards;
        -webkit-animation-delay:.27s;
        animation:fromLeft3 ease-in .36s;
        animation-iteration-count:1;
        animation-fill-mode:forwards;
        animation-delay:.27s;
    }
    .partners ul li{
        height:0;
        padding-top:20%;
    }
    .partners ul li img,
    .partners ul li img.hover{
        position:absolute;
        top:50%;
        left:50%;
        transform:translate(-50%,-50%);
        width:117%;
        height:auto;
    }
}

@media only screen and (max-width: 510px) {
    .howItWorks .boxes .box{padding:2em 2em 54%;}
    
    .contact-page .contact{ padding-bottom:0;}
    
    .contact-page .contact h2{font-size:33px;}
    form#contactForm .double label{width:100%;}
    form#contactForm .double label:last-of-type{margin-left:0;}
    
    #cookie-law {
        bottom:0;
        right:0;
        left:0;
        width:100%;
        padding:14px 22px 14px 22px;
    }
}

@media only screen and (max-width: 480px) {
    .partners p.gradient>span{
        height:39px;
        line-height:37px;
    }
    .partners p.gradient span span{font-size:12px;}
    .howItWorks .boxes .box{padding:2em 2em 72%;}
    
    .navigation .menuBox{
        height:100vh;
        min-height:750px;
    }
    #menu ul li a,
    #menu a span.animationHolder{
        height:46px;
    }
    #menu a span.animationHolder span.mobile{height:46px;line-height:46px;font-size:40px;}
    
    .yes_menu #menu a:before{
        left:auto;
        right:0;
        height:46px;
        background:url("images/menu-arrow.svg") no-repeat right top;
        background-size:contain;
        opacity:1;
        -o-animation:none;
        -o-animation-iteration-count:0;
        -o-animation-fill-mode:none;
        -o-animation-delay:0;
        -moz-animation:none;
        -moz-animation-iteration-count:0;
        -moz-animation-fill-mode:none;
        -moz-animation-delay:0;
        -webkit-animation:none;
        -webkit-animation-iteration-count:0;
        -webkit-animation-fill-mode:none;
        -webkit-animation-delay:0;
        animation:none;
        animation-iteration-count:0;
        animation-fill-mode:none;
        animation-delay:0;
    }
    .menuFooter{bottom:144px;}
    .menuFooter .boxTop .timeBox{
        position:relative;
        padding-top:1.5em;
        bottom:1.5em;
        right:auto;
        left:0;
    }
    .menuFooter .boxTop .timeBox p{
        margin-bottom:0;
    }
    .menuFooter .boxBottom .social{
        top:17px;
        right:auto;
        left:0;
        width:360px !important;
        text-align:left;
    }
    .menuFooter .boxBottom p.copyright{
        position:absolute;
        top:45px;
        left:0;
    }
    .video{
        -khtml-border-radius:10px;
        -webkit-border-radius:10px;
        -moz-border-radius:10px;
        -o-border-radius:10px;
        border-radius:10px;
    }
    .services .boxes .box .imgHolder,
    .services .boxes .box .imgHolder video#cubeVideo,
    .services .boxes .box .imgHolder video#cubeVideoMobile{
        -khtml-border-radius:15px;
        -webkit-border-radius:15px;
        -moz-border-radius:15px;
        -o-border-radius:15px;
        border-radius:15px;
    }
    .caseStudies ul.selected li.study .imgBox{
        -khtml-border-radius:10px;
        -webkit-border-radius:10px;
        -moz-border-radius:10px;
        -o-border-radius:10px;
        border-radius:10px;
   }
    
    .privacy-page .content .inner{padding:104px 29px 0;}
    .privacy-page .content .inner section{padding:15px 0 14px;}
    .privacy-page .content .inner h2{font-size:34px;margin-bottom:36px;}
    .privacy-page .content .inner section p.title{
        font-size:16px;
        line-height:17.6px;
    }
    .privacy-page .content .inner section .box p{
        font-size:16px;
        line-height:17.6px;
    }
    .privacy-page .content .inner section:last-of-type{
        padding:15px 0 36px;
    }
    
    .imgSingle{margin-bottom:22px;border-radius:10px;}

    .imgDouble{
        display:block;
        flex-wrap:none;
        justify-content:none;
        gap:0;
        width:100%;
        margin-bottom:0;
    }
    .imgDouble img,
    .imgDouble video{
        display:block;
        width:100%;
        height: auto;
        border-radius:10px;
        flex:0;
        margin-bottom:20px;
    }    

    .case-study-single .testimonial{padding:45px 0 62px;}
    .case-study-single .testimonial p{
        font-size:34px;
    }

    .discover{padding-top:33px;}
    .caseStudies ul.selected li.study h5,
    h5.caseTitle{
        font-size:20px;
        line-height:26px;
    }
}

@media only screen and (max-width: 428px) {
    .imgSingle.imgSingleTop{margin-bottom:34px;}
    .case-study-single .txtDouble .box:first-child h2{
        font-size:34px;
        line-height:44.2px;
        margin-bottom:18px;
    }
    .case-study-single .txtDouble .box:first-child p.title{
        font-size:34px;
        line-height:44.2px;
    }
    .txtDouble .box .mobFlex {gap:20px 30px; }
    @media (max-width: calc(100% + 180px)) {
        .txtDouble .box .mobFlex {
            gap:20px 30px;
        }
    }
    .case-study-single .txtDouble .box:last-child section:last-of-type{
        margin-bottom:-15px;
    }
    .case-study-single .txtDouble .box:last-child section:last-of-type p:last-of-type{
        margin-bottom:0;
    }
    .case-study-single .txtDouble .box:last-child section p.title{
        font-size:24px;
        line-height:px;
        margin-bottom:11px;
    }
}

@media only screen and (max-width: 380px) {
    .footer .social{
        position:relative;
        top:0;
        left:0;
        transform:translateX(0) !important;
        width:100% !important;
        height:21px;
        text-align:center;
        line-height:normal;
        display:-webkit-box;
        display:-moz-box;
        display:-webkit-flex;
        display:-ms-flexbox;
        display:flex;
        flex-wrap:wrap;
        justify-content:center;
        gap:9px 18px;
    }
    .footer .social li{
        display:block;
        margin:0 0 0 0;
    }
}

@media only screen and (max-width: 340px) {
    .about h2 span span{display:inline;}
    .partners p.gradient span span{font-size:3.3vw;}
    .partners p.gradient>span{
        height:39px;
        line-height:35px;
    }
}

@media only screen and (max-width: 270px) {
    .partners p.gradient span span{font-size:3.2vw;}
}

@media only screen and (max-width: 240px) {
    .partners p.gradient span span{font-size:3.1vw;}
}

@media only screen and (max-width: 225px) {
    .partners p.gradient span span{font-size:3vw;}
}

@media print {
	*{text-shadow:none !important;box-shadow:none !important;}
	
	.print{display:block;}
	.hidden, .graphic{display:none;}
	#menu, nav, form{display:none;}

	.main, .secondary, .tertiary, .quaternary, .col{
		float:none;
		display:block;
		margin:0 0 1.5em 0 !important;
		width:100% !important;
		}		

	.container, .inner{background:#fff;color:#333;width:95%;}

	header[role="banner"]{
		margin-bottom:1em;
		border-bottom:1px solid #ccc;
		padding-bottom:1em;
		background:#fff;
		}	
	header[role="banner"] h1{
		line-height:3em;
		height:3em;
		margin:0;
		}
	header[role="banner"] h1 a{}		
	footer{
		margin-top:1em;
		border-top:1px solid #ccc;
		padding-top:1em;
		position:relative;
		clear:both;
		}
	
	.tabs{display:none !important;}	
	.tab{display:block !important;}	
	.slideshow ul>li{display:block !important;}
	.slideshow .controls{display:none !important;}
}

.cursor {
    position:fixed;
    top:0;
    left:-100px;
    overflow:visible;
    z-index:999999999;
    pointer-events:none;
	-webkit-transition: opacity 0.3s ease;
	-moz-transition: opacity 0.3s ease;
	-ms-transition: opacity 0.3s ease;
	-o-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
}
.cursor:after{
    opacity:0;
    content:'';
    position:absolute;
    top:0;
    left:0;
    width:24px;
    height:24px;
    background:#edff23;
    -khtml-border-radius:100%;
    -webkit-border-radius:100%;
    -moz-border-radius:100%;
    -o-border-radius:100%;
    border-radius:100%;
    transform:translate(-50%,-50%);
	-webkit-transition: opacity 0.3s ease;
	-moz-transition: opacity 0.3s ease;
	-ms-transition: opacity 0.3s ease;
	-o-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
}
.cursor:before{
    content:'Open';
    opacity:0;
    position:absolute;
    top:0;
    left:0;
    width:82px;
    height:82px;
    line-height:82px;
    color:#000;
    background:#edff23;
    -khtml-border-radius:50%;
    -webkit-border-radius:50%;
    -moz-border-radius:50%;
    -o-border-radius:50%;
    border-radius:50%;
    transform:translate(-50%,-50%);
	-webkit-transition: opacity 0.3s ease;
	-moz-transition: opacity 0.3s ease;
	-ms-transition: opacity 0.3s ease;
	-o-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
    
	-webkit-animation:popOut ease-in-out .5s;
	-moz-animation:popOut ease-in-out .5s;
	-o-animation:popOut ease-in-out .5s;
	animation:popOut ease-in-out .5s;
	-webkit-animation-iteration-count:1;
	-moz-animation-iteration-count:1;
	-o-animation-iteration-count:1;
	animation-iteration-count:1;
	-webkit-animation-fill-mode:forwards;
	-moz-animation-fill-mode:forwards;
	-o-animation-fill-mode:forwards;
	animation-fill-mode:forwards;
}

.cursor.hover:after{
    opacity:0;
}
.cursor.hover:before{
    opacity:1;
	-webkit-animation-iteration-count:1;
	-moz-animation-iteration-count:1;
	-o-animation-iteration-count:1;
	animation-iteration-count:1;
	-webkit-animation-fill-mode:forwards;
	-moz-animation-fill-mode:forwards;
	-o-animation-fill-mode:forwards;
	animation-fill-mode:forwards;
    
	-webkit-animation:popUp ease-in-out .5s;
	-moz-animation:popUp ease-in-out .5s;
	-o-animation:popUp ease-in-out .5s;
	animation:popUp ease-in-out .5s;
	}

.cursor-soon {
    position:fixed;
    top:0;
    left:-100px;
    overflow:visible;
    z-index:999999999;
    pointer-events:none;
	-webkit-transition: opacity 0.3s ease;
	-moz-transition: opacity 0.3s ease;
	-ms-transition: opacity 0.3s ease;
	-o-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
}
.cursor-soon:after{
    opacity:0;
    content:'';
    position:absolute;
    top:0;
    left:0;
    width:24px;
    height:24px;
    background:#edff23;
    -khtml-border-radius:100%;
    -webkit-border-radius:100%;
    -moz-border-radius:100%;
    -o-border-radius:100%;
    border-radius:100%;
    transform:translate(-50%,-50%);
	-webkit-transition: opacity 0.3s ease;
	-moz-transition: opacity 0.3s ease;
	-ms-transition: opacity 0.3s ease;
	-o-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
}
.cursor-soon:before{
    content:'Soon';
    opacity:0;
    position:absolute;
    top:0;
    left:0;
    width:82px;
    height:82px;
    line-height:82px;
    color:#000;
    background:#edff23;
    -khtml-border-radius:50%;
    -webkit-border-radius:50%;
    -moz-border-radius:50%;
    -o-border-radius:50%;
    border-radius:50%;
    transform:translate(-50%,-50%);
	-webkit-transition: opacity 0.3s ease;
	-moz-transition: opacity 0.3s ease;
	-ms-transition: opacity 0.3s ease;
	-o-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
    
	-webkit-animation:popOut ease-in-out .5s;
	-moz-animation:popOut ease-in-out .5s;
	-o-animation:popOut ease-in-out .5s;
	animation:popOut ease-in-out .5s;
	-webkit-animation-iteration-count:1;
	-moz-animation-iteration-count:1;
	-o-animation-iteration-count:1;
	animation-iteration-count:1;
	-webkit-animation-fill-mode:forwards;
	-moz-animation-fill-mode:forwards;
	-o-animation-fill-mode:forwards;
	animation-fill-mode:forwards;
}

.cursor-soon.hover:after{
    opacity:0;
}
.cursor-soon.hover:before{
    opacity:1;
	-webkit-animation-iteration-count:1;
	-moz-animation-iteration-count:1;
	-o-animation-iteration-count:1;
	animation-iteration-count:1;
	-webkit-animation-fill-mode:forwards;
	-moz-animation-fill-mode:forwards;
	-o-animation-fill-mode:forwards;
	animation-fill-mode:forwards;
    
	-webkit-animation:popUp ease-in-out .5s;
	-moz-animation:popUp ease-in-out .5s;
	-o-animation:popUp ease-in-out .5s;
	animation:popUp ease-in-out .5s;
	}

@keyframes popUp{
    0%{width:24px;height:24px;line-height:24px;}
    40%{width:99px;height:99px;line-height:99px;}
    60%{width:82px;height:82px;line-height:82px;}
    80%{width:86px;height:86px;line-height:86px;}
    100%{width:82px;height:82px;line-height:82px;}
}

@keyframes popOut{
    0%{width:82px;height:82px;line-height:82px;}
    100%{width:24px;height:24px;line-height:24px;}
}

.hover-target:hover, .hover-target-soon:hover{cursor:none;}



