body {
    overflow-x: hidden;
	font-size:1em;
}

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    font-family: 'Karma';
    visibility: visible;
}


.col-narrow {
    max-width:46rem;
	width:auto;
    padding-right:3rem;
    padding-left:3rem;
}

.section {
	padding-top: 5rem;
	padding-bottom: 5rem;
}

.section p {	
	margin-left: auto;
	margin-right: auto;
	font-size: 1.45rem;
	line-height: 150%;	
}

strong {
	font-weight:bolder;
}


#title {
	position:relative;
	background-color: #1a1a1a;
	width:100%;
	
}


#title div {
	background-image: url(media/title-image.svg);
	background-size: 100%;
	background-position: bottom;
	background-repeat: no-repeat;
	margin-left: auto;
	margin-right: auto;
	max-width: 46rem;
	height:24rem;
	font-family: 'Saira Condensed', sans-serif;
	
}

#title img {
	max-width:46rem;
	width:100%;
	position:absolute;
}

#title h1 {
	position:relative;
	top: 09%;
	left: 20%;
	color: red;
	font-size: 5rem;
	width: 3.3rem;
	font-family: inherit;
	font-weight:100;
	letter-spacing: 0.2rem;
	line-height: 100%;
}

#title p {
	position:relative;
	top:23%;
	left:20%;
	color:white;
	font-weight: normal;
	font-family: inherit;
	font-size: 1.55rem;
}

#title span {
	color:white;
	font-family: inherit;
}

/*small screens*/
@media screen and (max-width:46em) {
	#title p {
		display:inline-block;
		width:100%;
		position:absolute;
		height:calc(200vw * (2/46));
		left:0;
		top:auto;
		bottom:-0rem;
		text-align: center;
		font-size: calc(100vw * (2/46));
	}
	
	
/*
	#title div {
		height:calc(100vw * (24/46));
	}
	
	#title h1 {
		font-size: calc(100vw * (5 / 46));
	}
	
	#title p { 
		font-size: calc(100vw * (1.55/46));
	}
	
	.section p {
		font-size: calc(100vw * (1.55/46));
	}
	
	.col-narrow {
		padding-right:calc(100vw * (3/46));
		padding-left:calc(100vw * (3/46));		
	}
*/
	
	html {
		font-size: 80%;
	}
	#virus img {
		
	}
}


#challenge {
	color:white;
	background-color: #1a1a1a;
}

.hr-dna {
	display:block;
	border:0;
	height:4rem;	
	background-repeat: no-repeat;
	background-position: center;
	background-size: auto 40%;
	margin-top:1.5rem;	
}

hr.dna-white {
	background-image: url("media/dna-white.svg");
}


hr.dna-black {
	background-image: url("media/dna-black.svg");
}


#virus {
	background-color:red;
	color:white;
	
}

#virus img {
	display: block;
	margin: auto;
	width:100%;
	padding-left: 10%;
	padding-right: 10%;
	padding-bottom: 3rem;
}




#approach img {
	display:block;
	width:100%;
	padding-bottom: 2rem;
	margin-left: auto;
	margin-right: auto;
}

#demo {
	background-color:black;
}

#demo .video-container{
	margin-left:auto;
	margin-right:auto;
	max-width: 46rem;
	width:auto;
	padding:0;
}

#demo video {
	width:100%;
}


.play-btn {
    position:relative;
}

.play-btn::before {
    display:block;
    position:absolute;
    height:5rem;
    width:5rem;
    left: 50%;
    top:50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    content:"";
    background-image: url("media/playbtn.png");
    background-size: contain;
    opacity:1;
	
	visibility: visible;
	opacity: 1;
	transition: visibility 0.5s, opacity 0.5s linear;
	
}

.play-btn-off {
    position:relative;
}

.play-btn-off::before {
    display:block;
    position:absolute;
    height:5rem;
    width:5rem;
    left: 50%;
    top:50%;
    transform: translate(-50%, -50%);

    content:" ";
    opacity:0;
    background-image: url("media/playbtn.png");
    background-size: contain;
	
    visibility: hidden;
    opacity: 0;
    transition: visibility 0.5s, opacity 0.5s linear;	
}

