@font-face {
  font-family: 'GT-America';
  src: url('../fonts/GT-America-Standard-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'GT-America-light';
  src: url('../fonts/GT-America-Standard-Light.woff') format('woff'),
  		 url('../fonts/GT-America-Standard-Light.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
}



/* @group Reset */

/* http://meyerweb.com/eric/tools/css/reset/ 
	 v2.0 | 20110126
	 License: none (public domain)
*/

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;
}
/* HTML5 display-role reset for older browsers */

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;
}

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

figure {
	line-height: 0;
}

img {
	width: 100%;
	height: auto;
}

/* @end */


:root {
	--primary-color: rgb(0, 0, 0);
  --bg-color: rgb(255, 255, 255);
	--grey-color: #F3F3F3;
	--unit: 20px;
	--primary-font: "GT-America", Helvetica, sans-serif;
	--secondary-font: "GT-America-light", Helvetica, sans-serif;
	--shadow: 0 0 2px rgba(0, 0, 0, 0.3); /* 0 0 24px rgba(0, 0, 0, 0.1) */
}

*,
*:after,
*:before{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-family: var(--primary-font);
	-webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
	color: var(--primary-color);
	background-color: var(--bg-color);
	font-family: var(--primary-font);
	font-size: calc(var(--unit) * 1.5);
	line-height: 1.1;
	letter-spacing: -1px;
}

h1, h2 {
	margin-top: .65em;
	margin-bottom: .65em;
}

h1 {
	padding: 0 calc(var(--unit) * 1);
}

.text h2 {
	padding-left: var(--unit);	
}

.team h2 {
	padding-left: var(--unit);	
}

p {
	margin-top: .65em;
	margin-bottom: .65em;
}

strong {
	text-decoration: underline;
}

@media screen and (min-width: 45rem) {
	.text h2 {
		padding-left: var(--unit);	
	}
	.team h2 {
	  padding-left: calc(var(--unit) * 2);	
  }
}

/* Logo */

.logo a {
	display: block;
	width: 155px;
	height: 100px;
}

.animated-logo {
	font-family: var(--secondary-font);
	position: relative;
	font-size: 35px;
	cursor: pointer;
}

.first {
	position: absolute;
	top: 18px;
	left: 10px;
}
.second {
	position: absolute;
	top: 48px;
	left: 0;
}


/* first */
.letter-1, .letter-2, .letter-3, .letter-4, .letter-5, .letter-6 {
	position: absolute;
	transition: all .3s ease-in-out;
}
.letter-1 {
	top: 0;
}
.letter-2 {
	top: 0;
	left: 28px;
}
.letter-3 {
	top: 0;
	left: 51px;
}
.letter-4 {
	top: 0;
	left: 70px;
}
.letter-5 {
	top: 0;
	left: 88px;
}
.letter-6 {
	top: 0;
	left: 108px;
}
.logo a:hover .letter-1 {
	top: -1px;
}
.logo a:hover .letter-2 {
	top: -12px;
}
.logo a:hover .letter-3 {
	top: -20px;
}
.logo a:hover .letter-4 {
	top: -20px;
}
.logo a:hover .letter-5 {
	top: -12px;
}
.logo a:hover .letter-6 {
	top: -1px;
}

/* second */
.letter-7, .letter-8, .letter-9, .letter-10, .letter-11, .letter-12, .letter-13 {
	position: absolute;
	transition: all .3s ease-in-out;
}
.letter-7 {
	top: 0;
	left: 0;
}
.letter-8 {
	top: 0;
	left: 20px;
}
.letter-9 {
	top: 0;
	left: 40px;
}
.letter-10 {
	top: 0;
	left: 64px;
}
.letter-11 {
	top: 0;
	left: 88px;
}
.letter-12 {
	top: 0;
	left: 111px;
}
.letter-13 {
	top: 0;
	left: 130px;
}
.logo a:hover .letter-7 {
	top: 13px;
	left: 10px;
}
.logo a:hover .letter-8 {
	top: 42px;
}
.logo a:hover .letter-9 {
	top: 54px;
}
.logo a:hover .letter-10 {
	top: 62px;
}
.logo a:hover .letter-11 {
	top: 54px;
}
.logo a:hover .letter-12 {
	top: 42px;
}
.logo a:hover .letter-13 {
	top: 13px;
	left: 124px;
}



/* Header */

.site-header {
	position: fixed;
	top: 0;
	display: flex;
	justify-content: center;
	font-size: calc(var(--unit) * 1.2);
	align-items: center;
	letter-spacing: 0;
	width: 100vw;
	height: calc(var(--unit) * 5);
	background-color: var(--bg-color);
	box-shadow: var(--shadow);
	z-index: 100000;
}

.logo {
	position: relative;
	width: 150px;
	z-index: 10000000;
}

.name {
	display: none;
	position: absolute;
	top: calc(var(--unit) * 1.5);
	left: calc(var(--unit) * 2);
	z-index: 1000000;
}

.name p {
	font-size: var(--unit);
	margin-top: 0;
	margin-bottom: 0;
	line-height: 1;
}

/* Nav */

/*.page {
	transition: transform .5s;	
}

.nav-open .page {
  transform: scale(1);
}*/

.nav-trigger {
  position: fixed;
  z-index: 100000000000000;
  top: calc(var(--unit) * 1.5);
  right: calc(var(--unit) * 1.5);
  height: 44px;
  width: 44px;

  overflow: hidden;
  color: transparent;
  white-space: nowrap;
  text-indent: 100%;
}

.nav-trigger span,
.nav-trigger span::before,
.nav-trigger span::after {
  position: absolute;
  height: 2px;
  width: 20px;
  background: var(--primary-color);
}

.nav-trigger span {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: background .3s;
}

.nav-trigger span::before,
.nav-trigger span::after {
  content: '';
  top: 0;
  left: 0;
  transition: background .3s, transform .3s;
}

.nav-trigger span::before {
  transform: translateY(-8px);
}

.nav-trigger span::after {
  transform: translateY(8px);
}

.nav-trigger:hover span::before {
  transform: translateY(-10px);
}

.nav-trigger:hover span::after {
  transform: translateY(10px);
}

.nav-open .nav-trigger span {
  background: transparent;
}

.nav-open .nav-trigger span::before,
.nav-open .nav-trigger span::after {
  background: var(--primary-color);
}

.nav-open .nav-trigger span::before {
  transform: rotate(-45deg);
}

.nav-open .nav-trigger span::after {
  transform: rotate(45deg);
}

.overlay {
  position: fixed;
  z-index: 10000000;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #1C1D21;
  opacity: 0;
  visibility: hidden;
  transition: opacity .5s, visibility .5s;
}

.nav-open .overlay {
  opacity: .6;
  visibility: visible;
}

.nav-container {
  position: fixed;
  top: 0;
  right: 0;
  height: 100%;
  width: 100%;
  max-width: 600px;
  padding: calc(var(--unit) * 4) calc(var(--unit) * 1.5) var(--unit);
  background: var(--grey-color);
  overflow: auto;
  transform: translateZ(0);
  transform: translateX(100%);
  transition: transform .5s cubic-bezier(.07,.23,.34,1);
	z-index: 1000000000;

}

.nav-open .nav-container {
  transform: translateX(0);
}

.nav {
  list-style: none;
  padding: 0;
}

.nav a {
  display: block;
  padding: .4em 0;
  text-decoration: none;
  transform: translateZ(0);
}

.nav-open .nav a {
  animation: slide-in .4s .2s backwards;
}

.nav-open .nav li:nth-of-type(2) a {
  animation-delay: .3s;
}

.nav-open .nav li:nth-of-type(3) a {
  animation-delay: .4s;
}

.nav-open .nav li:nth-of-type(4) a {
  animation-delay: .5s;
}

.nav-open .nav li:nth-of-type(5) a {
  animation-delay: .6s;
}

.nav-space {
	margin-top: calc(var(--unit) * 2);
}

.menu-item {
	padding-left: 0;
	transition: padding-left .3s ease-in-out;
}

.menu-item:hover {
	padding-left: var(--unit);
}

@media screen and (min-width: 45rem) {
	.nav-container {
		padding: calc(var(--unit) * 5) calc(var(--unit) * 3) var(--unit);
	}
}


@keyframes slide-in {
  0% {
    opacity: 0;
    transform: translateX(80px);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Helper */

.flex {
	display: flex;
	flex-direction: column-reverse;
	justify-content: space-between;
}

.extra-flex {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.shadow {
	background-color: var(--bg-color);
	box-shadow: var(--shadow);
}

.features {
	padding-top: var(--unit);
}

.features .text {
	padding-top: var(--unit);
}

.features .shadow {
	background-color: var(--bg-color);
	box-shadow: none;
}

.features .block {
	padding-bottom: 0;
}

.text ul {
	margin-top: .65em;
	margin-bottom: .65em;
	padding-right: calc(var(--unit) * 2);
}

.text--font-normal li {
	list-style: disc;
	margin-left: calc(var(--unit) * 2.5);
}

.text--font-small li {
	list-style: disc;
	margin-left: calc(var(--unit) * 2);
	line-height: 1.4;
}

.text--font-small p {
	width: 100%;
	max-width: 900px;
	
}
.text-grid {
	display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-gap: var(--unit);
	
	padding-right: 0;
	padding-left: 0;
}

.text-grid-item {
	grid-column: 1 / span 1;
}

.text--font-small {
	font-size: var(--unit);
}

@media screen and (min-width: 45rem) {
	.text-grid {
		grid-template-columns: repeat(4, 1fr);
		grid-gap: calc(var(--unit) * 2);
			
		padding-right: var(--unit);
		padding-left: var(--unit);
	}
	.text-grid-item {
		grid-column: 2 / span 3;
	}
	.text ul {
		padding-right: var(--unit);
	}
	.text--font-normal li {
		margin-left: calc(var(--unit) * 2);
	}
	.text--font-small li {
		margin-left: calc(var(--unit) * 1.5);
	}
}


/* Layout Styles */

.main {
	padding-top: calc(var(--unit) * 5);
	padding-bottom: 0;
}

.block {
	padding-top: calc(var(--unit) * 2);
	padding-bottom: calc(var(--unit) * 4);
	background-color: var(--bg-color);
}

.block:first-child {
	padding-top: 0;
}

.intro {
	position: relative;
	z-index: 10000;
}

.page-intro {
	position: relative;
	margin-top: calc(var(--unit) * 2);
	z-index: 10000;
}

.services {
	position: relative;
	z-index: 1000;
}

.team, .next, .page-content {
	position: relative;
	z-index: 100;
}

.image {
	padding: calc(var(--unit) * 2) var(--unit) 0;
}

.image img {
	border-radius: calc(var(--unit) / 2);	
}

.text p {
	padding-right: var(--unit);
	padding-left: var(--unit);
}

.label {
	display: none;
	width: calc(var(--unit) * 8);
	height: calc(var(--unit) * 8);
	position: absolute;
	top: calc(var(--unit) * 25);
	right: calc(var(--unit) * 5);
	animation: spin 6s infinite linear;	
}

.site-footer {
	position: relative;
	width: 100vw;
	height: calc(var(--unit) * 25 + calc(var(--unit) * 15));
	padding: calc(var(--unit) * 2) var(--unit);
	font-size: var(--unit);
	background-color: var(--grey-color);
	z-index: 1;
}

.info-block {
	width: 100%;
}

.contact a {
	opacity: 1;
	transition: opacity .3s;
}

.contact a:hover {
	opacity: .4;
}

.open {
	margin-top: calc(var(--unit) * 2);
}

@media screen and (min-width: 45rem) {
	body {
		font-size: calc(var(--unit) * 2);
	}
	.main {
		padding-bottom: calc(var(--unit) * 25);
	}
	.flex {
		flex-direction: row;
	}
	.text p {
		padding-right: var(--unit);
		padding-left: 0;
	}
	.image {
		padding-top: calc(var(--unit) * 2);
		padding-right: 25%;
		padding-bottom: 0;
		padding-left: calc(var(--unit) * 2);
	}
	.open {
		margin-top: 0;
	}
	.label {
		display: block;
	}
	.name {
		display: block;
	}
	.site-footer {
		position: fixed;
  	bottom: 0;
		height: calc(var(--unit) * 25);
		padding: calc(var(--unit) * 2);
	}
}

/* UI */

.contact-cta {
	display: none;
}

.nav-extra {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	font-size: var(--unit);
	width: calc(var(--unit) * 5);
	margin-top: calc(var(--unit) * 2);
	margin-left: -10px;
}

.nav-extra-mobile {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	font-size: var(--unit);
}

.nav-info-block {
	font-size: var(--unit);
	margin-top: calc(var(--unit) * 2);
}

.btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: calc(var(--unit) * 2.5);
	height: calc(var(--unit) * 2.5);
	margin-left: calc(var(--unit) / 2);
	border: 1px solid var(--primary-color);
	border-radius: calc(var(--unit) / 2);
	transition: all .3s;
}

.btn a:hover {
	color: var(--bg-color);
	background-color: var(--primary-color);
}

.btnLong a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: calc(var(--unit) * 2.5);
	width: calc(var(--unit) * 12);
	margin-left: var(--unit);
	
	font-size: var(--unit);
	border: 1px solid var(--primary-color);
	border-radius: calc(var(--unit) / 2);
	transition: all .3s;	
}

.btnLong a:hover {
	color: var(--bg-color);
	background-color: var(--primary-color);
}

.cta {
	width: 100%;
	padding: calc(var(--unit) / 2);
	width: calc(100% - var(--unit));
	
	position: fixed;
	bottom: calc(var(--unit) * 2);
	left: calc(var(--unit) / 2);
	
	border-radius: 15px;
	background-color: var(--bg-color);
	box-shadow: var(--shadow);
	
	font-size: var(--unit);
	
	z-index: 1000000;
}

.cta a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: calc(var(--unit) * 2.5);
	width: calc(var(--unit) * 9);
	
	color: var(--bg-color);
	background-color: var(--primary-color);
	border: 1px solid var(--primary-color);
	border-radius: calc(var(--unit) / 2);
	/*transition: all .3s;*/
}

.cta a:hover {
	color: var(--primary-color);
	background-color: var(--bg-color);
}

.cta .nav-extra-mobile .btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: calc(var(--unit) * 2.5);
	height: calc(var(--unit) * 2.5);
	margin-left: calc(var(--unit) / 2);
	color: var(--primary-color);
	background-color: var(--bg-color);
	border: .5px solid var(--primary-color);
	border-radius: calc(var(--unit) / 2);
	transition: all .3s;
}

a.download {
	border-bottom: 1px solid var(--primary-color);
	white-space: nowrap;
}

a.download:hover {
	border-bottom: none;
}

a.download::before {
	content: '→ ';
}


@media screen and (min-width: 45rem) {
	.contact-cta {
		display: flex;
		flex-direction: row;
		justify-content: flex-end;
	
		position: fixed;
		top: 22px;
		right: calc(var(--unit) * 4);
		bottom: auto;
		
		width: 150px;
		height: calc(var(--unit) * 4);
		
		box-shadow: none;	

		z-index: 10000000;
	}
	.btn a {
		width: calc(var(--unit) * 3);
		height: calc(var(--unit) * 3);
	}
	.btnLong a {
		height: calc(var(--unit) * 3);
		margin-left: calc(25% + var(--unit));
	}
	.cta {
		width: calc(var(--unit) * 12);
		bottom: calc(var(--unit) * 2.5);
		right: calc(var(--unit) * 2.5);
		background-color: transparent;
		box-shadow: none;
		left: auto;
	}
	.cta a {
		height: calc(var(--unit) * 3);
		width: calc(var(--unit) * 12);
	}
	.nav-info-block {
		margin-top: calc(var(--unit) * 4);
	}
	.nav-extra-mobile {
		display: none;
	}
}

/* Blocks */

/* Accordion */

.accordion {
	padding-left: var(--unit);
	padding-right: var(--unit);
}

.accordion-header {
	position: relative;
	cursor: pointer;
	padding-top: var(--unit);
	padding-bottom: var(--unit);
	border-bottom: .5px solid var(--primary-color);
}

.accordion-header h3 {
	padding-right: var(--unit);
}

.accordion-content {
	display: none;
	padding-top: var(--unit);
	padding-bottom: calc(var(--unit) * 3);
	transition: background .3s;
	border-bottom: .5px solid var(--primary-color);
}

.accordion-header::after {
	content: '+';
	position: absolute;
	top: var(--unit) ;
	right: 0;
}

.open.accordion-header::after {
	content: '-';
	line-height: 1.1;
	-webkit-animation: fadein 2s forwards;
	animation: fadein 2s forwards;
}

.open.accordion-header  {
	border-bottom: none;
}

.accordion-content li {
	list-style: disc;
	margin-left: calc(var(--unit) * 2);
} 

/*.accordion-content li::before {
  content: "– ";
} */

@media screen and (min-width: 45rem) {
  .accordion {
		padding-left: calc(25% + var(--unit));
		padding-right: calc(var(--unit) * 2);
	}
}




/* Animations */

@keyframes spin {
  from {
      transform:rotate(0deg);
  }
  to {
      transform:rotate(360deg);
  }
}


.animated { 
  -webkit-animation-duration: 1s; 
  animation-duration: 1s; 
  -webkit-animation-fill-mode: both; 
  animation-fill-mode: both; 
}

.delay-300 {
    -webkit-animation-delay:0.3s;
    -moz-animation-delay:0.3s;
    -o-animation-delay:0.3s;
    animation-delay:0.3s;
}

@-webkit-keyframes fadeInUpShort { 
    0% { 
        opacity: 0; 
        -webkit-transform: translateY(40px); 
    } 
    100% { 
        opacity: 1; 
        -webkit-transform: translateY(0); 
    } 
} 

@keyframes fadeInUpShort { 
    0% { 
        opacity: 0; 
        transform: translateY(40px); 
    } 
    100% { 
        opacity: 1; 
        transform: translateY(0); 
    } 
} 
.fadeInUpShort{
    opacity: 0; 
    -webkit-transform: translateY(40px); 
    transform: translateY(40px); 
}
.fadeInUpShort.go { 
    -webkit-animation-name: fadeInUpShort; 
    animation-name: fadeInUpShort; 
}

.video-autoplay {
	width: 100%;
	margin-top: calc(var(--unit) * 2);
}

.video-autoplay video {
	width: 100%;
}

@media screen and (min-width: 45rem) {
	.video-autoplay {
		width: 66%;
	}
}



/* Drag Button */

#container {
  touch-action: none;
}
#item {
	position: fixed;
  width: 80px;
  height: 80px;
	padding: 15px;
	
	box-shadow: var(--shadow);
	
	left: -3px;
	top: calc(var(--unit) * 1.4);
	bottom: auto;
	
  background-color: rgba(255, 255, 255, .5); /* var(--bg-color) */
	
	backdrop-filter: blur( 10.0px );
	-webkit-backdrop-filter: blur( 10.0px );
	
	
  border-radius: 50%;
  touch-action: none;
  user-select: none;
	
	z-index: 10000000;
}

#item img {
	margin-top: 40px;
}
#item:active {
  background-color: var(--grey-color);
}
#item:hover {
  cursor: pointer;
}

@media screen and (min-width: 45rem) {
	#item {
	  width: 120px;
	  height: 120px;
		left: calc(var(--unit) * 6);
		padding: 15px;
		bottom: calc(var(--unit) * 8);
		top: auto;
	}
	#item img {
		margin-top: 55px;
	}
}

.logo-mobile {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: center;
}


.logo-mobile img {
	width: 136px;
	margin-top: -60px;
	margin-bottom: 20px;
}

@media screen and (min-width: 45rem) {
	.logo-mobile {
		display: none;
	}
}









