* {
	box-sizing: border-box;
}

body {
	background-color: white;
	font-family: 'Raleway', sans-serif;
}

.container {
	width: 100%;
	max-width: 1480px;
	padding: 0 20px;
	margin: auto;
	position: relative;
}

header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	padding: 20px 0;
	z-index: 3;
}

header h1 {
	position: relative;
	height: 40px;
	margin:0;
	float: left;
	z-index: 3;
	
}

/* header h1 img{
	display: block;
	position: relative;
	top:10px;
} */

header h1 a{
	text-decoration: none;
	font-family: 'Raleway', sans-serif;
}




a {
	font-size: 16px;
	text-decoration: none;
}

.main-navigation {
	float: right;
}

.main-navigation a {
	color: black;
	margin-left: 20px;
}

.main-navigation a.active {
	font-weight: bold;
	border-bottom: 2px solid pink;
}

.btn {
	display: inline-block;
	color: black;
	font-weight: bold;
	padding: 12px 20px;
	border-radius: 8px;
	border: 1px solid black;
	/* background-color: white; */
}

.btn:hover{
	opacity: .5;
	-webkit-animation: heartbeat 1.7s infinite ease-in;
          animation: heartbeat 1.7s infinite ease-in;
}

@-webkit-keyframes heartbeat {
	0% { -webkit-transform: scale(1); }
	10% { -webkit-transform: scale(1.1); }
	20% { -webkit-transform: scale(1); }
	30% { -webkit-transform: scale(1.1); }
	40% { -webkit-transform: scale(1); }
  }
  
  @-webkit-keyframes heartbeat-x {
	0% { -webkit-transform: scaleX(0); }
	10% { -webkit-transform: scaleX(1); }
	20% { -webkit-transform: scaleX(0); }
	30% { -webkit-transform: scaleX(1); }
	40% { -webkit-transform: scaleX(0); }
  }
  
  @keyframes heartbeat {
	0% { transform: scale(1); }
	10% { transform: scale(1.1); }
	20% { transform: scale(1); }
	30% { transform: scale(1.1); }
	40% { transform: scale(1); }
  }
  
  @keyframes heartbeat-x {
	0% { transform: scaleX(0); }
	10% { transform: scaleX(1); }
	20% { transform: scaleX(0); }
	30% { transform: scaleX(1); }
	40% { transform: scaleX(0); }
  }

.ghost-btn {
	background-color: transparent;
	/* border: 1px solid black; */
}

.text-wrap {
	width: 520px;
	height: 100vh;
	padding: 240px 20px;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
}

.text-wrap h2 {
	color: black;
	font-size: 64px;
	line-height: 1.25;
	font-weight: lighter;
	margin-bottom: 40px;
}

.text-wrap h3 {
	color: black;
	font-size: 24px;
	line-height: 1.25;
	margin-bottom: 20px;
}

.text-wrap p {
	color: black;
	font-size: 16px;
	line-height: 1.8;
	margin-bottom: 20px;
}

.hero-bg {
	position: relative;
	width: 100%;
	height: 100vh;
	overflow: hidden;
	background-color: white;
}

.hero-bg .container {
	height: 100%;
}


.dbrick-wrap {
	position: absolute;
	left: 200px;
	width: 1600px;
	height: 100vh;
	z-index: 1;
}

.dbrick-wrap model-viewer,
.dbrick-wrap img {
	position: absolute;
	display: block;
	width: 100%;
	height:100%;
}

.more-btn {

	display: none;

}




@media screen and (max-width: 768px) {

	header{
		padding: 0;
		height: 56px;
	}
	header h1{
		height: 56px;
	}
	header h1 img{
		top:20px;
		height: 16px;
	}
	.main-navigation{
		position: fixed;
		top:0;
		right:0;
		padding:80px 20px;
		width: 100%;
		height: 100vh;
		background-color: white;
		opacity: 0;
		visibility: hidden;
		transform: translateX(100%);
		transition: 0.3s;
	}
	.main-navigation.active{
		opacity: 1;
		visibility: visible;
		transform: translateX(0);
		transition: 0.3s;
	}
	.main-navigation a{
		display: block;
		margin:auto;
		margin-bottom:8px;
		padding:12px;

	}
	.main-navigation a.btn{
		text-align: center;
	}
	.dbrick-wrap{
		top:5vw;
		left:-50%;
		width:200%;
	}
	.text-wrap{
		width:100%;
		height: auto;
		padding:20px;
		top:auto;
		bottom:20px;
		background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 32%);
	}
	.text-wrap h2{
		font-size: 36px;
	}
	.text-wrap h3{
		font-size: 20px;
	}
	.text-wrap p {
		font-size: 14;
	}

	.more-btn{
		display: block;
		position: absolute;
		right:12px;
		top:8px;
		width:40px;
		height: 40px;
		border-radius: 8px;
		border:none;
		background-color: transparent;
	}
	.more-btn .icon{
		display: block;
		width:24px;
		height: 24px;
		margin: 0 auto;
		background: url(../assets/icon-menu.svg) no-repeat center;
		background-size: contain;
	}
	.more-btn.active .icon{
		background: url(../assets/icon-close.svg) no-repeat center;
		background-size: contain;
	}

}

@media screen and (max-width: 480px) {

}

