*,
*::after,
*::before {
	box-sizing: border-box;
}

@font-face {
  font-family: 'CircularStd-Black';
  src: url('../font/CircularStd-Black.eot'); /* IE9 Compat Modes */
  src: url('../font/CircularStd-Black.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../font/CircularStd-Black.woff2') format('woff2'), /* Super Modern Browsers */
       url('../font/CircularStd-Black.woff') format('woff'), /* Pretty Modern Browsers */
       url('../font/CircularStd-Black.ttf')  format('truetype'), /* Safari, Android, iOS */
       url('../font/CircularStd-Black.svg#svgFontName') format('svg'); /* Legacy iOS */
			 font-weight: bold;
	     font-style: bold;
}

@font-face {
  font-family: 'CircularStd-Book';
  src: url('../font/CircularStd-Book.eot'); /* IE9 Compat Modes */
  src: url('../font/CircularStd-Book.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../font/CircularStd-Book.woff2') format('woff2'), /* Super Modern Browsers */
       url('../font/CircularStd-Book.woff') format('woff'), /* Pretty Modern Browsers */
       url('../font/CircularStd-Book.ttf')  format('truetype'), /* Safari, Android, iOS */
       url('../font/CircularStd-Book.svg#svgFontName') format('svg'); /* Legacy iOS */
			 font-weight: normal;
	     font-style: normal;
}

@font-face {
  font-family: 'CircularStd-Light';
  src: url('../font/CircularStd-Light.eot'); /* IE9 Compat Modes */
  src: url('../font/CircularStd-Light.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../font/CircularStd-Light.woff2') format('woff2'), /* Super Modern Browsers */
       url('../font/CircularStd-Light.woff') format('woff'), /* Pretty Modern Browsers */
       url('../font/CircularStd-Light.ttf')  format('truetype'), /* Safari, Android, iOS */
       url('../../font/CircularStd-Light.svg#svgFontName') format('svg'); /* Legacy iOS */
			 font-weight: light;
	     font-style: light;
}

body {
	font-family: 'CircularStd-Book', Helvetica, Arial, sans-serif;
	min-height: 100vh;
	color: #fff;
	background-color: #fff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

p {
	color: rgba(0,0,0,0.5);
	mix-blend-mode: multiply;
}

a {
	text-decoration: none;
	color: rgba(0,0,0,0.5);
}

a:hover,
a:focus {
	color: rgba(255,255,255,0.5);
	outline: none;
}

.contact {
	padding-left: 0.75vw;
	padding-bottom: 2vh;
}


/* Bubble effect */
.js body {
	opacity: 0;
	transition: opacity 0.3s;

}

.js body.render {
	opacity: 1;
}

main {
	position: relative;
	width: 100%;
}

.content {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	/* min-height: 100vh; */
	margin: 0 auto;
}

.content--fixed {
	position: fixed;
	z-index: 10000;
	top: 0;
	left: 0;
	display: grid;
	align-content: space-between;
	width: 100%;
	max-width: none;
	height: 100vh;
	padding: 1.5em;
	pointer-events: none;
	grid-template-columns: 50% 50%;
	grid-template-rows: auto auto 4em;
}

.scene {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	pointer-events: none;
	z-index: 1;
}

.content--fixed a {
	pointer-events: auto;
}

header {
	position: absolute;
	bottom: 2.5vw;
	left: 9.5vw;
}

.title {
	color: rgba(255,255,255,0.5);
	font-size: 10vw;
	font-weight: bold;
	z-index: 1000;
	font-family: 'CircularStd-Black', Helvetica, Arial, sans-serif;
	pointer-events: none;
	margin: 0;
	letter-spacing: -0.04em;
	line-height: 10vw;
	padding-bottom: 1.5vh;
}

.header-logo {
	height: 12vw;
	position: absolute;
	top: 4.5vw;
	left: 9.5vw;
}


.scene path {
	fill: rgba(255,255,255,0.1);
}

/* Text-Animation  */
.text-anim {
	height: 14.4vw;
  overflow:hidden;
	font-size: 3vw;
	line-height: 1.1em;
	letter-spacing: -0.018em;
	padding-left: 0.75vw;
	}
  .text-anim__container {
    overflow: hidden;
    height: 3.6vw;
		color: rgba(0,0,0,0.5);
		mix-blend-mode: multiply;
		}

    .text-anim__container__text {
      display: inline;
      float: left;
      margin: 0;
			padding-bottom: .3vw;
			color: rgba(0,0,0,0.5);
			mix-blend-mode: multiply;
    }

    .text-anim__container__list {
      margin-top: 0;
      padding-left: 11.5vw;
      text-align: left;
      list-style: none;

			-webkit-animation: change 10s ease-in-out infinite;
			-moz-animation: change 10s ease-in-out infinite;
			animation: change 10s ease-in-out infinite;

			}
      .text-anim__container__list__item {
				line-height: 1.1em;
				padding-bottom: .3vw;
        margin:0;
      }
    }
  }
}

@-webkit-keyframes change {
	0%, 21% {transform:translateY(0);}
  25%, 51% {transform:translateY(-20%);}
  55%, 76% {transform:translateY(-40%);}
  80%, 95% {transform:translateY(-60%);}
	99%, 100% {transform:translateY(-80%);}
}

@-o-keyframes change {
	0%, 21% {transform:translateY(0);}
  25%, 51% {transform:translateY(-20%);}
  55%, 76% {transform:translateY(-40%);}
  80%, 95% {transform:translateY(-60%);}
	99%, 100% {transform:translateY(-80%);}
}

@-moz-keyframes change {
	0%, 21% {transform:translateY(0);}
  25%, 51% {transform:translateY(-20%);}
  55%, 76% {transform:translateY(-40%);}
  80%, 95% {transform:translateY(-60%);}
	99%, 100% {transform:translateY(-80%);}
}

@keyframes change {
	0%, 21% {transform:translateY(0);}
  25%, 51% {transform:translateY(-20%);}
  55%, 76% {transform:translateY(-40%);}
  80%, 95% {transform:translateY(-60%);}
	99%, 100% {transform:translateY(-80%);}
}

/* Brackground-Animation */

body {
	background: linear-gradient(120deg, #1d2671, #67b26f, #4ca2cd, #159957, #155799, #95CB06, #1D5AA8);
	background-size: 2200% 2200%;

	-webkit-animation: AnimationName 100s ease infinite;
	-moz-animation: AnimationName 100s ease infinite;
	animation: AnimationName 100s ease infinite;
}

@-webkit-keyframes AnimationName {
    0%{background-position:36% 0%}
    50%{background-position:65% 100%}
    100%{background-position:72% 0%}
}
@-moz-keyframes AnimationName {
    0%{background-position:36% 0%}
    50%{background-position:65% 100%}
    100%{background-position:36% 0%}
}
@keyframes AnimationName {
    0%{background-position:36% 0%}
    50%{background-position:65% 100%}
    100%{background-position:36% 0%}
}


/* Responsive */

@media (max-width: 730px) {

	.text-anim {
	  overflow: hidden;
		font-size: 5.5vw;
	  line-height: 1.1em;
		padding-left: 0.75vw;
		height: 15vh;
		}

		.text-anim__container {
			height: 6.2vw;
			}

		.text-anim__container__list {
    padding-left: 29.5vw;
		}
}

@media (max-width: 600px) {

	.title {
		font-size: 20vw;
		line-height: 20vw
	}

	.header-logo {
		height: 24vw;
		position: absolute;
		top: 7vh;
		left: 9.5vw;
	}

	.text-anim__container__list {
    padding-left: 29vw;
		}
}

@media (max-height: 825px) and (max-width: 500px) {

	.scene {
		top: 20vh;
		left: -25vw;
		width: 150%;
		height: 60vh;
		pointer-events: none;
		z-index: 1;
	}
}
