.dropdown {
  position: relative;
}
.dropdown-content {
  display: none;
  /* position: absolute; */
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  padding: 6px 0px 6px 20px;
  line-height:26px;
  z-index: 1;
}

.dropdown:hover .dropdown-content {
  display: inline;
}
/* *************** RESETS ************* */
 html {
    box-sizing: border-box;
	margin:0;
	padding:0;
}
body {
    margin:0;
	font-family: 'Quicksand', sans-serif;
    font-size:.9em;
}
/* *************** MENU ************* */
#menu__toggle {
  opacity: 0;
}
#menu__toggle:checked + .menu__btn > span {
  transform: rotate(45deg);
}
#menu__toggle:checked + .menu__btn > span::before {
  top: 0;
  transform: rotate(0deg);
}
#menu__toggle:checked + .menu__btn > span::after {
  top: 0;
  transform: rotate(90deg);
}
#menu__toggle:checked ~ .menu__box {
  right: 0 !important;
}
.menu__btn {
  position: fixed;
  top: 20px;
  right: 20px;
  width: 26px;
  height: 26px;
  cursor: pointer;
  z-index: 200;
}
.menu__btn > span,
.menu__btn > span::before,
.menu__btn > span::after {
  display: block;
  position: absolute;
  width: 100%;
  height: 2px;
  background-color: #fff;
  transition-duration: .25s;
}
.menu__btn > span::before {
  content: '';
  top: -8px;
}
.menu__btn > span::after {
  content: '';
  top: 8px;
}
.menu__box {
  display: block;
  position: fixed;
  top: 30px;
  right: -100%;
  height: auto;
  padding-left:18px;
  background-color:rgba(21, 21, 21, .8);
  outline:solid 1px #333;
  box-shadow: -2px 2px 9px rgba(0, 0, 0, .4);
  z-index: 200;
  /* transition-duration: .25s; */
}
.menu__item {
  display: block;
  padding: 9px 44px 9px 0;
  color: #333;
  /* text-shadow: 2px 2px 8px #000; */
}
.menu__item:hover {
  background-color: rgba(235, 140, 140, 0.3);
}
.indent-menu {
  	padding: 0 0 0 17px;
	line-height:1.5rem;
}
/* ************** GENERAL STYLES ************ */
	.container > .lesson {
    background-image: linear-gradient(#555, #444);
}
    .container > .lesson:nth-child(even) {
	background-image: linear-gradient(#333, #222);
}
#back2Top {
    width: 30px;
    height:20px;
    line-height: 30px;
    overflow: hidden;
    z-index: 1000;
    display: none;
    cursor: pointer;
    -moz-transform: rotate(270deg);
    -webkit-transform: rotate(270deg);
    -o-transform: rotate(270deg);
    -ms-transform: rotate(270deg);
    transform: rotate(270deg);
    position: fixed;
    bottom: 30px;
    right: 40px;
    padding:4px 4px 13px 4px;
    border:1px solid #555;
    border-radius:2px;
    background: rgba(66, 151, 223, 0.7);
    color: #eee;
    text-align: center;
    font-size: 20px;
    text-decoration: none;
}
#back2Top:link {
    background: rgba(66, 151, 223, 0.7);
    color: #eee;
}
#back2Top:visited {
    background: rgba(66, 151, 223, 0.7);
    color: #eee;
}
#back2Top:hover {
    background: rgba(52, 118, 174, 0.8);
    color: #ccc;
}
#back2Top:active {
    background: rgba(66, 151, 223, 0.7);
    color: #eee;
}
img {
	max-width:100%;
	height:auto;
}
.logo {
	height:auto;
	padding:0 13px;
	border:solid 2px #eee;
	margin-right:12px;
	float:left;
	font-family: 'Italiana', serif;
 	font-size:47px;
	letter-spacing:-2px;
}
.logo-text {
	line-height:18px;
}
a.navigation:link {
	color:#eee;
	text-decoration:none;
	text-transform:uppercase;
}
a.navigation:visited {
	color:#eee;
	text-decoration:none;
	text-transform:uppercase;
}
a.navigation:hover {
	color:#eee;
	text-decoration:none;
	text-transform:uppercase;
	background-color: rgba(235, 140, 140, 0.3);
}
a.navigation:active {
	color:#eee;
	text-decoration:none;
	text-transform:uppercase;
}
a.enter:link {
	color:#eee;
	text-decoration:none;
}
a.enter:visited {
	color:#eee;
	text-decoration:none;
}
a.enter:hover {
	color:#ffaaaa;
	text-decoration:none;
}
a.enter:active {
	color:#eee;
	text-decoration:none;
}
a.logonav:link {
	color:#eee;
	text-decoration:none;
}
a.logonav:visited {
	color:#eee;
	text-decoration:none;
}
a.logonav:hover {
	color:#eee;
	text-decoration:none;
}
a.logonav:active {
	color:#eee;
	text-decoration:none;
}
a:link {
	color:#ff7070;
	text-decoration:none;
}
a:visited {
	color:#ff7070;
	text-decoration:none;
}
a:hover {
	color:#aa5555;
	text-decoration:underline;
}
a:active {
	color:#ff7070;
	text-decoration:none;
}
a:link[href^="tel:"] {
	color:#eee;
	text-decoration: none;
}
a:visited[href^=tel] {
	color:#eee;
	text-decoration: none;
}
a:hover[href^=tel] {
	color:#ddd;
	text-decoration: underline;
}
a:active[href^=tel] {
	color:#eee;
	text-decoration: none;
}
h2 {
	font-family: 'Comfortaa', cursive;
	font-size:1.2rem;
	text-transform: uppercase;
	letter-spacing:.4em;
	padding-bottom:0;
}
h3 {
	font-family: 'Comfortaa', cursive;
	font-size:.8rem;
	text-transform: uppercase;
	letter-spacing:.3rem;
	text-align:center;
	padding:4px;
}
.portfolio-address {
	grid-column:1/6;
	text-align:center; 
	font-size:22px;
	border-bottom:1px solid #ddd;
	padding-bottom:14px;
	margin:10px 46px 2px 46px;
	z-index:100;
}
.red {
	background:#900;
	margin-bottom:4px;
}
.green {
	background:#060;
	margin-bottom:4px;
}
.smaller {
	font-size:.7rem;
	letter-spacing:.2rem;
}
.button {
	width:100%;
	display:flex;
	justify-content:center;
}
.btn {
	width:100px;
	border:solid 2px #d29696;
	border-radius:3px;
	padding: 12px 22px;
	margin-bottom:18px;
	font-size: 18px;
	cursor: pointer;
	text-align:center;
}
.text-area {
	width:100%;
	height:100%;
	display:flex;
	justify-content:center;
	align-items:center;
	opacity:80%;
}
.text-build {
	color:#eee;
	font-family: 'Comfortaa', cursive;
	font-size:19px;
	letter-spacing:.18rem;
	text-transform:uppercase;
	padding-top:100px;
}
.fact-sheet-header {
	margin-top:18px;
	padding-bottom:8px;
	line-height:1.4rem;
}
.fact-sheet {
	font-size:14px;
	color:#ccc;
	line-height:1.2rem;
}
.fact-sheet-header-other {
	margin-top:18px;
	padding-bottom:8px;
	line-height:1.4rem;
}
.fact-sheet-other {
	font-size:14px;
	color:#444;
	line-height:1.2rem;
}
.download-box {
	background-color:#203320; 
	color:#eee;
	text-align:center; 
	padding:1px 0; 
	margin:0 auto;
	border:1px solid #aaa;
	text-transform:uppercase;
	width:60%;
}

/* ************** LAYOUT STYLES ************ */
.container {
	display:grid;
	grid-template-columns:1fr;
	grid-auto-rows:minmax(80px, auto);
	/* Below needed to keep screen from jumping at end of animation */
	overflow:hidden;
} 
header {
	position:static;
	height:640px;
	background: linear-gradient(0deg, rgba(0,0,0,0.4), rgba(0,0,0,0.4)), url("images/lab.jpg");
	background-repeat: no-repeat;
	background-attachment:fixed;
	background-position: center bottom;
	background-size: cover;
	z-index:1;
}
/* VIGNETTE */
/*    .header-london::after {
        content: '';
        height:50vh;
        position: absolute;
        top: 0; left: 0; bottom: 0; right: 0;
        opacity:0.5;
        background-color:rgba(30, 30, 30, 0.8);
        box-shadow: inset 280px -150px 390px 340px #000;
    }
*/           

nav {
	color:#ddd;
	display:grid;
	grid-template-columns:1fr 1fr;
	grid-template-rows:60px 30px;
	padding:16px 0 6px 0;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	z-index:99999;
	background: linear-gradient(0deg, rgba(43,43,43), rgba(55,55,55));
	transition: all 300ms ease-in-out;
}

.scroll-down nav {
	transform:translate3d(0, -200%, 0);
	background: linear-gradient(0deg, rgba(43,43,43), rgba(55,55,55));
}

.scroll-up nav {
	background: linear-gradient(0deg, rgba(43,43,43), rgba(55,55,55));
}
a.logolink:link {
	color:#fff;
	text-decoration:none;
}
a.logolink:visited {
	color:#fff;
	text-decoration:none;
}
a.logolink:hover {
	color:#fff;
	text-decoration:none;
}
a.logolink:active {
	color:#fff;
	text-decoration:none;
}
nav ul {
	display:flex;
	flex-direction: row;
	justify-content: space-between;
}
nav ul li {
	display: inline;
	list-style-type: none;
}
.nav1 {
	grid-column:1/3;
	margin-left:40px;
	font-size:1.1rem;
	font-weight:bold;
	letter-spacing: 6px;
	text-transform:uppercase;
	width:500px;
	position:relative;
	z-index:1;
}
.nav2 {
	grid-column:1/3;
	margin-right:40px;
	width:92%;
	position:relative;
	z-index:1;
}
.overlay {
    display: grid;
    grid-template-columns: 1fr;
    grid-auto-rows: minmax(2px, auto);
    align-items: end;
    }
.image-box1 {
    grid-column: 1;
    grid-row: 1;
    }
.image-box2 {
    grid-column: 1;
    grid-row: 1;
    height: 1.3em;
    background-color: rgba(230, 230, 230, 0.7);
    color: #444;
    font-size: 1.2em;
    padding: 10px;
    }
.description {
    margin-top: 10px;
    }
.gradient {
	display:grid;
	grid-template-columns:1fr 1fr 1fr;
	grid-gap:10px;
}
.gradient-top-left {
	grid-column:1/4;
	grid-row:1;
	text-align:center;
}
.gradient-top-center {
	grid-column:1/4;
	grid-row:3;
	text-align:center;
}
.gradient-top-right {
	grid-column:1/4;
	grid-row:5;
	text-align:center;
}
.gradient-bottom-left {
	grid-column:1/4;
	grid-row:2;
	text-align:center;
}
.gradient-bottom-center {
	grid-column:1/4;
	grid-row:4;
	text-align:center;
}
.gradient-bottom-right {
	grid-column:1/4;
	grid-row:6;
	text-align:center;
}
.two-box {
	display:grid;
	grid-template-columns:1fr 1fr;
	grid-gap:10px;
}
.two-box-top-left {
	grid-column:1/3;
	grid-row:1;
	text-align:center;
}
.two-box-top-right {
	grid-column:1/3;
	grid-row:3;
	text-align:center;
}
.two-box-bottom-left {
	grid-column:1/3;
	grid-row:2;
	text-align:center;
}
.two-box-bottom-right {
	grid-column:1/3;
	grid-row:4;
	text-align:center;
}
.prelesson {
	grid-column:1/2;
	display: grid;
	grid-template-columns:3fr 1fr;
	justify-content: center;
	padding:5px 30px 20px 30px; 
	color:#eee;
	/* background-image: linear-gradient(#464b6e, #292d47); */
	background-image: linear-gradient(#6f82b7, #3f4a68);
	position:relative;
	z-index: 100;
    -webkit-transform: translate3d(0,0,0); /* Fixes weird z-index problem */
    transform: translate3d(0, 0, 1px); /* Fixes weird z-index problem */
}
.intro-text {
	grid-column:1/3;
	font-size:16px;
}
.intro-sketch {
	grid-column:1/3;
	margin-top:20px;
}
.innermenu-wrapper {
	display:grid;
	grid-template-columns:18fr 20fr;
}
.innermenu1 {
	grid-column:1/3;
	text-align:center;
	margin:0; 
	padding:0; 
	font-size:16px;
}
.innermenu1 ul {
	list-style-type:none;
}
.innermenu2 {
	grid-column:1/3;
	text-align:center;
	margin:0; 
	padding:0; 
	font-size:16px;
}
.innermenu2 ul {
	list-style-type:none;
}
.menu-control1 {
	margin-bottom:0;
}
.menu-control2 {
	margin-top:0;
}
.lesson p {
	font-size:1rem;
}
.lesson {
	grid-column:1/2;
	display: grid;
	grid-template-columns:24% 1fr 1fr;
	justify-content: center;
	padding:5px 30px 20px 30px; 
	color:#eee;
	word-break: break-word;
	position:relative;
	z-index: 100;
    -webkit-transform: translate3d(0,0,0); /* Fixes weird z-index problem */
    transform: translate3d(0, 0, 1px); /* Fixes weird z-index problem */
}
.lesson-medium {
	display: grid;
	grid-template-columns:32% 1fr 1fr;
	z-index: 100;
}
.lesson-medium2 {
	display: grid;
	grid-template-columns:30% 42% 28%;
	z-index: 100;
}
.lesson-medium3 {
	display: grid;
	grid-template-columns:30% 28% 42%;
	z-index: 100;
}
.lesson-wide {
	display: grid;
	grid-template-columns:40% 1fr 1fr;
	z-index: 100;
}
.lesson-2column {
	display: grid;
	grid-template-columns:40% 1fr;
	z-index: 100;
}
.lesson-2codecolumn {
	display: grid;
	grid-template-columns:1fr 1fr;
	z-index: 100;
}
.lesson-text {
	grid-column:1/4;
}
video {
	width:100% !important;
	height:auto !important;
	outline:none;
}
.black-back {
	color:#eee;
	text-align:center;
	font-size:1rem;
	text-transform: uppercase;
}
.item1 {
	grid-column:1/4;
	text-align:center;
	margin:10px;
}
.item2 {
	padding:0 6px 0 6px;
	margin:10px;
	grid-column:1/4;
	text-align:center;
	background-color:#444;
	border:1px solid #777;
}
.item3 {
	padding:0 6px 0 6px;
	margin:10px;
	grid-column:1/4;
	text-align:center;
	background-color:#444;
	border:1px solid #777;
}
.item1-col {
	padding:0 6px 0 6px;
	margin:10px;
	grid-column:1/4;
	text-align:center;
	background-color:#444;
	border:1px solid #777;
}
.item2-col {
	padding:0 6px 0 6px;
	margin:10px;
	grid-column:1/4;
	text-align:center;
	background-color:#444;
	border:1px solid #777;
}
.single-box {
	background-color:#444;
	border:1px solid #777;
}
.code {
	padding:0 6px;
	text-align:left;
	font-family:Courier,Courier-New,monospace;
}
.blue-code {
	color:#fff;
	background-color:rgba(160, 160, 255, .5);
}
.green-code {
	color:#afa;
}
.url {
	text-align:center;
}
.indent1 {
	margin-left:15px;
}
.indent2 {
	margin-left:30px;
}
.indent3 {
	margin-left:45px;
}
.indent4 {
	margin-left:60px;
}
.indent5 {
	margin-left:75px;
}
.gray {
	opacity:.5;
}
.panel5 {
	grid-column:1/2;
	display: grid;
	grid-template-columns:1fr 1fr;
	background-image:url(images/contact.jpg);
	background-repeat: no-repeat;
	background-attachment:fixed;
	background-position: center center;
	background-size: cover;
	color:#eee;
	padding:30px 0;  
	position:relative;
	-webkit-transform: translate3d(0,0,0); /* Fixes weird z-index problem */
    transform: translate3d(0, 0, 1px); /* Fixes weird z-index problem */
	z-index: 101;
}
.panel5-text {
	grid-column:1/3;
	padding-bottom:20px;
	padding:0 5rem; 
}
.panel5-item1 {
	grid-column:1/3;
	margin:0 50px;
}
.panel5-item2 {
	grid-column:1/3;
	margin:0 50px;
}
.contact-form-inputs {
	width:75%; 
    height:25px; 
    background-color:transparent; 
    color:#eee; 
    font-size:1.2rem;
}
footer {
	grid-column:1/2;   
	display: grid;
	grid-template-columns:1fr 1fr;
	background-image: linear-gradient(#333, #111);
	color:#eee;
	font-size:.8rem;
	line-height:1.2em;
	padding:30px;
	z-index: 100;
	position:relative;
	-webkit-transform: translate3d(0,0,0); /* Fixes weird z-index problem */
    transform: translate3d(0, 0, 1px); /* Fixes weird z-index problem */
}
.footer1 {
    grid-column:1/2;
    text-align:left;
}
.footer2 {
    grid-column:2/3;
    text-align:right;
}
.three-to-one {
	display:grid;
	grid-template-columns:repeat(12, 1fr);
	grid-gap:14px;
}
.vidplayone {
	grid-column:1/13;
}
.vidplaytwo {
	grid-column:1/13;
}
.vidplaythree {
	grid-column:1/13;
}
@media only screen and (min-width:394px) {
.text-build {
	font-size:26px;
	letter-spacing:.2rem;
	padding-top:60px;
}
} 
@media only screen and (min-width:480px) {
.text-build {
	font-size:32px;
	letter-spacing:.2rem;
}
.innermenu1 {
	font-size:15px;
}
.innermenu2 { 
	font-size:15px;
}
}         
@media only screen and (min-width:620px) {
#back2Top {
    width: 35px;
    height:25px;
    line-height: 35px;
    bottom: 14px;
    right: 40px;
    padding:4px 4px 13px 4px;
    font-size: 30px;
}
a.navigation:link {
    font-size:.85rem;
    letter-spacing:1.1px;
}
.text-build {
	font-size:42px;
	letter-spacing:.22rem;
}
.innermenu1 {
	font-size:18px;
}
.innermenu2 { 
	font-size:18px;
}
.black-back {
	font-size:1.2rem;
}
.white-back {
	font-size:1.2rem;
}
.panel5-text {
	padding:0 10rem; 
} 
footer  {
	font-size:.9rem;
} 
}

@media only screen and (min-width:710px) {
.intro-text {
	grid-column:1/2;
	margin-right:10px;
}
.intro-sketch {
	grid-column:2/3;
	margin-left:10px;
	margin-bottom:26px;
}
.lesson-text {
	margin:0 40px;
}
.item1 {
	grid-column:1/2;
}
.item2 {
	grid-column:2/3;
}
.item3 {
	grid-column:3/4;
}
.item1-col {
	grid-column:1/2;
}
.item2-col {
	grid-column:2/3;
}
.single-box {
	background-color:#444;
	border:1px solid #777;
}
.gradient-top-left {
	grid-column:1;
	grid-row:1;
	text-align:center;
}
.gradient-top-center {
	grid-column:2;
	grid-row:1;
	text-align:center;
}
.gradient-top-right {
	grid-column:3;
	grid-row:1;
	text-align:center;
}
.gradient-bottom-left {
	grid-column:1;
	grid-row:2;
	text-align:center;
}
.gradient-bottom-center {
	grid-column:2;
	grid-row:2;
	text-align:center;
}
.gradient-bottom-right {
	grid-column:3;
	grid-row:2;
	text-align:center;
}
.two-box-top-left {
	grid-column:1/2;
	grid-row:1;
	text-align:center;
}
.two-box-top-right {
	grid-column:2/3;
	grid-row:1;
	text-align:center;
}
.two-box-bottom-left {
	grid-column:1/2;
	grid-row:2;
	text-align:center;
}
.two-box-bottom-right {
	grid-column:2/3;
	grid-row:2;
	text-align:center;
}
} 
            
@media only screen and (min-width:900px) {
.dropdown {
  position: relative;
  display: inline-block;
}
.dropdown-content {
  padding: 8px;
  line-height:34px;
  box-shadow:none;
}
.dropdown:hover {
  display: inline;
  background-color:rgba(0,0,0,0.9);
  outline:solid 1px #333;
}
#back2Top {
    width: 40px;
    height:30px;
    line-height: 40px;
    bottom: 14px;
    right: 40px;
    padding:4px 4px 13px 4px;
    font-size: 30px;
}
.innermenu1 {
	grid-column:1/2;
	font-size:16px;
}
.innermenu2 { 
	grid-column:2/3;
	font-size:16px;
}
.menu-control1 {
	margin-bottom:20px;
}
.menu-control2 {
	margin-top:18px;
}
/* .gone {
	display:none;
}
*/
// MENU BEGINS ***************
.menu__toggle {
	display:inline;
}
.menu__btn {
	display:none;
}
.menu__box {
	display:flex;
	flex-direction:row;
	justify-content:space-between;
	color:white;
  	position: initial;
	background-color:initial;
	outline:initial;
  	margin: 0 0 0 -8px;
  	list-style-type: none;
  	box-shadow: none;
  	margin-top:-20px;
}
.menu__item {
	color:white;
  	display: block;
  	padding: 12px 0px;
  	color: #333;
  	text-decoration: none;
}
// MENU ENDS ***************

a.navigation:link {
    font-size:.85rem;
    letter-spacing:1px;
}
    .logo-text {
	font-size:20px;
	line-height:18px;
}
.lesson-text {
	margin:0 70px;
}
.text-build {
	font-size:60px;
	letter-spacing:.24rem;
	padding-top:60px;
}
nav {
	padding:23px 0 16px 0;
	width:100%;
}
.nav1 {
	grid-column:1/3;
	grid-row:1;
	font-size:1.1em;
 	font-weight:bold;
	letter-spacing:8px;
	z-index:50;  
}
.nav2 {
	grid-column:1/3;
	grid-row:2;
	margin-left:30px;
	margin-top: -2px;
	width:92%;
	z-index:50;
}
nav ul {
	display:flex;
	flex-direction: row;
	justify-content: space-between;
}
nav ul li {
	display: inline;
	list-style: none;
}
.panel5-text {
	padding:0 20rem; 
}  
.panel5-item1 {
	grid-column:1/2;
	margin:0 10px 0 70px;
}
.panel5-item2 {
	grid-column:2/3;
	margin:0 70px 0  10px;
}
.vidplayone {
	grid-column:1/6;
}
.vidplaytwo {
	grid-column:6/13;
}
.vidplaythree {
	grid-column:1/13;
}
}
@media only screen and (min-width:1024px) {
.nav2 {
	width:91%;
}
a.navigation:link {
    font-size:.9rem;
    letter-spacing:2px;
}
.text-build {
	font-size:67px;
	letter-spacing:.4rem;
}
.innermenu1 {
	font-size:20px;
}
.innermenu2 { 
	font-size:20px;
}
.lesson-text {
	margin:0 110px;
}
.lesson-medium {
	display: grid;
	grid-template-columns:24% 1fr 1fr;
}
.lesson-wide {
	display: grid;
	grid-template-columns:30% 1fr 1fr;
}
}
@media only screen and (min-width:1300px) {
.nav2 {
	width:92.3%;
}
a.navigation:link {
    font-size:.9rem;
    letter-spacing:2px;
}
    .prelesson {
	padding: 0 180px;
}
.lesson-text {
	margin:0 180px;
}
.vidplayone {
	grid-column:1/4;
}
.vidplaytwo {
	grid-column:4/8;
}
.vidplaythree {
	grid-column:8/13;
}
}


