body {
    
    color: #333333;
    
}

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    font-family: 'Lato';
    visibility: visible;
}

.leftimage {
	display:block;
	width: 100%;
}

.mainimage {
	width:100%
}

#title-images  .center-image {
	width: 50%;
	height: auto;
	display:block;
	flex-grow:0;
	flex-shrink:0;		
}

#title-images  .side-images {
	display:flex;
	flex-direction: column;
	width: 25%;
}

#title-images {
	position:relative;
	display:block;
	width:100%;
	padding:0;
	display:flex;
	flex-direction: row;
	box-sizing: border-box;
}

#description {
    padding-top:4vw;
    padding-bottom:4vw;
    width: 100%;
	background-color: white;
	padding-left: 25%;
	padding-right: 10%;
	
}

#description h1{
    font-size:3vw;
	font-weight: normal;
	font-style: italic;
}

#description p{
    padding-top:1.5vw;
    font-size:2vw;
    line-height: 3vw;
}

#demo {
	display:block;
	padding-top:2rem;
	padding-bottom:2rem;
	background-color:#ffc655;
}


#vid-sizer{
	width:60%;
    margin-left:auto;
   	margin-right:auto;
}

@media screen and (min-width:75em) {
	#description {
		padding-left: 25%;
		padding-right: 25%;
	}
	
	#description h1{
		font-size:2.3em;
	}

	#description p{
		padding-top:0.8em;
		font-size:1.5em;
		line-height: 1.5em;
	}
}

@media screen and (max-width:40em) {
	#description {
		padding-left: 10vw;
		padding-right: 10vw;
	}
    #description h1{
        
        font-size:6vw;
    }
	
	html {
		font-size:80%;
	}
    
    #description p{
        padding-top: 2vw;
        padding-bottom: 3vw;
        font-size:3.5vw;
        line-height: 4.5vw;
    }
	
	#vid-sizer{
		width:100%;
	}
	
	#demo {
		padding-top:0.5em;
		margin:0em;
		padding-bottom:0.5em;
	}	
}

@media screen and (min-width:40em) {
    #diagrams {
        display: flex;
        flex-flow: row wrap;
        justify-content: center;
        background-color: #4D4D4D;
        width:100%;
        padding-top:5vw;
        padding-bottom:5vw;
    }

    .diagram {
        width:30em;
        height:30em;
        padding:2em;
    }
	
}

@media screen and (max-width:40em) {
    #diagrams {
        display:block;
        background-color: #4D4D4D;
        width:100%;
        position:relative;
        padding-top:5vw;
        padding-bottom:15vw;
    }   
    
    .diagram {
        display:block;
        width:70%;
        padding:2em;
        margin-left:auto;
        margin-right:auto;
    }
	
	
	#sidegroup {
		display:none !important;
	}
	
	#title-images  .center-image {
		width: 66.67%;	
	}

	#title-images  .side-images {
		width: 33.33%;
	}	
    
}





#demo .vidcontainer {
	position: relative;
	padding-bottom: 60%;
	height: 0;
	overflow: hidden;
	max-width: 100%;
}

#demo iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;	
}