:root {
  /* Colors */
  --primary-color: #2651a8;
  --background-dark: #181818;
  --background-darker: #111111;
  --text-white: #FFF;
  --text-light: rgba(255, 255, 255, 0.8);
  --text-lighter: rgba(255, 255, 255, 0.6);
  --text-lightest: rgba(255, 255, 255, 0.3);
  
  /* Social Media Colors */
  --twitter-color: #2DAAE4;
  --facebook-color: #39599F;
  --dribbble-color: #C4376B;
  --tumblr-color: #31516A;
  --rss-color: #F2600B;
  
  /* Spacing */
  --spacing-xs: 0.5em;
  --spacing-sm: 1em;
  --spacing-md: 2em;
  --spacing-lg: 5em;
  --spacing-xl: 7em;
  
  /* Layout */
  --container-margin: 15%;
  --border-radius: 6px;
  --card-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
  
  /* Typography */
  --font-family-main: 'Didact Gothic', sans-serif;
  --font-size-base: 12pt;
  --line-height-body: 180%;
}

/* Update existing styles to use variables */
body {
  margin: 0;
  padding: 0;
  background: var(--background-dark);
  font-family: var(--font-family-main);
  font-size: var(--font-size-base);
  font-weight: 200;
  color: var(--text-white);
}

p {
  line-height: var(--line-height-body);
}

.button {
  display: inline-block;
  padding: var(--spacing-md) var(--spacing-lg);
  letter-spacing: 0.10em;
  margin-top: var(--spacing-md);
  background: var(--primary-color);
  border-radius: var(--border-radius);
  text-decoration: none;
  font-weight: 700;
  font-size: 1em;
  color: var(--text-white);
}

	html, body
	{
		height: 100%;
        scroll-behavior: smooth;
	}
	
	body
	{
		margin: 0;
		padding: 0;
		background: var(--background-dark);
		font-family: var(--font-family-main);
		font-size: var(--font-size-base);
		font-weight: 200;
		color: var(--text-white);
	}
	
	
	h1, h2, h3
	{
		margin: 0;
		padding: 0;
	}
	
	p, ol, ul
	{
		margin-top: 0;
	}
	
	ol, ul
	{
		padding: 0;
		list-style: none;
	}
	
	p
	{
		line-height: var(--line-height-body);
	}
	
	strong
	{
	}
	
	a
	{
		color: #ee0000;
	}
	
	a:hover
	{
		text-decoration: none;
	}
	
	.container
	{
		overflow: auto;
		margin: 0em auto;
	}
	
/*********************************************************************************/
/* Image Style                                                                   */
/*********************************************************************************/

	.image
	{
		display: inline-block;
	}
	
	.image img
	{
		display: block;
		width: 100%;
	}
	
	.image-full
	{
		display: block;
		width: 100%;
		margin: 0 0 2em 0;
	}
	
	.image-left
	{
		float: left;
		margin: 0 2em 2em 0;
	}
	
	.image-centered
	{
		display: block;
        margin-left: auto;
		margin-right: auto;
        
	}
	
	.image-centered img
	{
		display: block;
        border-radius: 5%;
        margin-left: auto;
		margin-right: auto;
        margin-top: 2.5%;
        margin-bottom: 2.5%;
        width: 20%;
        max-width: 20em;
        
		
	}

    .image-logo
    {
        margin: 5%;
        width: 60%;
    }

/*RESPONSIVE IMAGE GRID*/

    .rowimagegrid {
      display: flex;
      flex-wrap: wrap;
      margin: 0 20%;
      padding: 0 4px;
    }

    /* Create five equal columns that sits next to each other */
    .columnimagegrid {
      flex: 20%;
      max-width: 20%;
      padding: 0 0.5%;
    }

    .columnimagegrid img {
      margin-top: 5%;
      vertical-align: middle;
      width: 100%;
    }

    /* Responsive layout - makes a two column-layout instead of four columns */
    @media screen and (max-width: 800px) {
      .columnimagegrid {
        flex: 50%;
        max-width: 50%;
      }
    }

    /* Responsive layout - makes the two columns stack on top of each other instead of next to each other */
/*
    @media screen and (max-width: 600px) {
        
        .rowimagegrid {
          margin: 0 20%;
        }
        
        .columnimagegrid {
            flex: 100%;
            max-width: 100%;
        }
    }
*/
    


/*********************************************************************************/
/* List Styles                                                                   */
/*********************************************************************************/

	ul.style1
	{
	}
	
	ul.actions
	{
	}
	
	ul.actions li
	{
		display: inline-block;
		padding: 0em 0.50em;
	}

    


/*********************************************************************************/
/* Social Icon Styles                                                            */
/*********************************************************************************/

	ul.contact
	{
		padding: 2em 0em 0em 0em;
		list-style: none;
        text-align: center;
	}
	
	ul.contact li
	{
		display: inline-block;
		padding: 0em 0.30em;
		font-size: 1em;
	}
	
	ul.contact li span
	{
		display: none;
		margin: 0;
		padding: 0;
	}
	
	ul.contact li a
	{
		color: #FFF;
	}
	
	ul.contact li a:before
	{
		display: inline-block;
		background: #3f3f3f;
		width: 40px;
		height: 40px;
		line-height: 40px;
		border-radius: 20px;
		text-align: center;
		color: var(--text-white);
	}
	
	ul.contact li a.icon-twitter:before { background: var(--twitter-color); }
	ul.contact li a.icon-facebook:before { background: var(--facebook-color); }
	ul.contact li a.icon-dribbble:before { background: var(--dribbble-color);	}
	ul.contact li a.icon-tumblr:before { background: var(--tumblr-color); }
	ul.contact li a.icon-rss:before { background: var(--rss-color); }

/*********************************************************************************/
/* Button Style                                                                  */
/*********************************************************************************/

	.button
	{
		display: inline-block;
		padding: var(--spacing-md) var(--spacing-lg);
		letter-spacing: 0.10em;
		margin-top: var(--spacing-md);
		background: var(--primary-color);
		border-radius: var(--border-radius);
		text-decoration: none;
		font-weight: 700;
		font-size: 1em;
		color: var(--text-white);
	}
	
	.button-alt
	{
		padding: 1em 2em;
		border-color: rgba(0,0,0,.8);
		color: #FFF;
	}
		

/*********************************************************************************/
/* 4-column                                                                      */
/*********************************************************************************/

	.box1,
	.box2,
	.box3,
	.box4
	{
		width: 235px;
	}
	
	.box1,
	.box2,
	.box3
	{
		float: left;
		margin-right: 20px;
	}
	
	.box4
	{
		float: right;
	}
	
/*********************************************************************************/
/* 3-column                                                                      */
/*********************************************************************************/

	.boxA,
	.boxB,
	.boxC
	{
		width: 20%;
	}

	.boxA,
	.boxB
	{
		float: left;
		margin-right: 5%;
	}
	
    .boxA
    {
        margin-left: var(--container-margin);
    }

	.boxC
	{
		float: right;
        margin-right: var(--container-margin);
	}

/*********************************************************************************/
/* 2-column                                                                      */
/*********************************************************************************/

	.tbox1,
	.tbox2
	{
        margin: 2.5%;
        width: 15%;
	}
	
	.tbox1
	{
		float: left;
	}

	.tbox2
	{
        
        min-width: 400px;
        width: 75%;
		float: right;
	}

	
/*********************************************************************************/
/* Heading Titles                                                                */
/*********************************************************************************/

	.title
	{
		margin-bottom: 3em;
	}
	
	.title h2
	{
		font-size: 2.7em;
	}
	
	.title .byline
	{
		font-size: 1.3em;
		color: rgba(255,255,255,0.60);
	}

/*********************************************************************************/
/* Header                                                                        */
/*********************************************************************************/

	#wrapper
	{
		position: relative;
		padding: 5em 0em 2em 0em;
		background: #FFF;
	}

/*********************************************************************************/
/* Header                                                                        */
/*********************************************************************************/

	#header-wrapper
	{
		position: relative;
		padding: 5em 0em 7em 0em;
		background: #111111 url(images/engineering-bg1.jpg) no-repeat center;
		background-size: cover;
	}

	#header
	{
		position: relative;
		padding: 5em 0em;
	}

/*********************************************************************************/
/* Logo                                                                          */
/*********************************************************************************/

	#logo
	{
		position: absolute;
		top: 3.6em;
		left: 0;
	}
	
	#logo h1
	{
		font-size: 2.6em;
		color: #79C255;
	}
	
	#logo a
	{
		text-decoration: none;
		color: rgba(255,255,255,1);
	}

/*********************************************************************************/
/* Menu                                                                          */
/*********************************************************************************/

	#menu
	{
		position: absolute;
		top: 4.5em;
		right: 0;
	}
	
	#menu ul
	{
		display: inline-block;
	}
	
	#menu li
	{
		display: block;
		float: left;
		text-align: center;
	}
	
	#menu li a, #menu li span
	{
		padding: 1em 1.5em;
		letter-spacing: 1px;
		text-decoration: none;
		text-transform: uppercase;
		font-size: 0.8em;
		color: rgba(255,255,255,0.80);
	}
	
	#menu li:hover a, #menu li.active a, #menu li.active span
	{
	}
	
	#menu .active a
	{
		background: #2651a8;
		border-radius: 6px;
		color: rgba(255,255,255,1);
	}
	
	#menu .icon
	{
	}

/*********************************************************************************/
/* Banner                                                                        */
/*********************************************************************************/

	#banner
	{
		padding-top: 10em;
		text-align: center;
	}
	
	#banner .title h2
	{
		font-size: 4em;
	}
	
	#banner .title .byline
	{
		font-size: 2em;
	}
	
	#banner .button
	{
		margin-top: 2em;
		padding: 1.40em 3em;
		border-radius: 6px;
		font-weight: 700;
		font-size: 1em;
		
	}
	
	.banner
	{
		margin-bottom: 5em;
	}

/*********************************************************************************/
/* Page                                                                          */
/*********************************************************************************/

	#page
	{
	}

	#page .title
	{
		margin-top: 5em;
		text-align: center;
	}

	#page .body
	{
		color: white;
		text-align: left;
		margin: 1em 15em;

	}

	#page .body h2
	{
		color: white;
		margin-bottom: 1em;
		text-align: center; 
		
	}

	#page .body ul
	{
		color: white;
		text-align: left;
	}


/*********************************************************************************/
/* Experience
*/
/*********************************************************************************/

    #experience
	{
        
	}

    /* Three columns side by side */
    .columnExperience {
      float: left;
      width: 33.3%;
      margin-bottom: 16px;
      padding: 0 8px;
    }

    /* Display the columns below each other instead of side by side on small screens */
    @media screen and (max-width: 650px) {
      .columnExperience {
        width: 100%;
        display: block;
      }
    }

    /* Add some shadows to create a card effect */
    .cardExperience {
      box-shadow: var(--card-shadow);
    }

    /* Some left and right padding inside the container */
    .containerExperience {
      padding: 0 16px;
    }

    /* Clear floats */
    .containerExperience::after, .rowExperience::after {
      content: "";
      clear: both;
      display: table;
    }

    .titleExperience {
      color: grey;
    }

    .buttonExperience {
      border: none;
      outline: 0;
      display: inline-block;
      padding: 8px;
      color: white;
      background-color: #000;
      text-align: center;
      cursor: pointer;
      width: 100%;
    }

    .buttonExperience:hover {
      background-color: #555;
    }

    #rocscience 
    {
    }

    #haver 
    {
    
    }

    #hatch 
    {
    
    }

.experience-entry {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1.5rem;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.experience-header {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.company-logo {
    width: 120px;
    height: 120px;
    flex-shrink: 0;
}

.company-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.role-info {
    flex-grow: 1;
}

.role-info h1 {
    margin: 0;
    font-size: 1.5rem;
    color: #333;
}

.experience-content ul {
    margin: 0;
    padding-left: 1.5rem;
}

.experience-content li {
    margin-bottom: 0.75rem;
    line-height: 1.5;
}

.experience-footer {
    margin-top: auto;
    text-align: right;
}

.company-link {
    display: inline-block;
    padding: 0.5rem 1rem;
    background: #007bff;
    color: white;
    text-decoration: none;
    border-radius: 4px;
    transition: background-color 0.2s;
}

.company-link:hover {
    background: #0056b3;
}

@media (max-width: 768px) {
    .experience-header {
        flex-direction: column;
        text-align: center;
    }
    
    .company-logo {
        width: 100px;
        height: 100px;
        margin: 0 auto;
    }
}

/*********************************************************************************/
/* Projects
*/
/*********************************************************************************/

    #walker
    {
        margin: 2em;
    }

    #walker h2
    {
        margin: 1em;
        border: 1em;
        text-align: center;
    }

    #biomed
    {
        margin: 2em;
    }

    #biomed h2
    {
        margin: 1em;
        border: 1em;
        text-align: center;
    }

    #consultingtech
    {
        margin: 2em;
    }

    #consultingtech h2
    {
        margin: 1em;
        border: 1em;
        text-align: center;
    }

/*********************************************************************************/
/* Skills                                                                   */
/*********************************************************************************/
    #skills 
    {
      display: inline-block;
      margin: 0 20%;
      padding: 0 4px;
    }
	
    #skills p
    {
        margin: 2.5% 5%;
    }    

/*********************************************************************************/
/* Sidebar                                                                       */
/*********************************************************************************/

	#sidebar
	{
	}

/*********************************************************************************/
/* Footer                                                                        */
/*********************************************************************************/

	#footer
	{
        
	}

/*********************************************************************************/
/* Copyright                                                                     */
/*********************************************************************************/

	#copyright
	{
		overflow: hidden;
		padding: 5em 0em;
		border-top: 1px solid rgba(0,0,0,0.08);
	}
	
	#copyright p
	{
		text-align: center;
		font-size: 1em;
		color: rgba(255,255,255,0.3);
	}
	
	#copyright a
	{
		text-decoration: none;
		color: rgba(255,255,255,0.6);
	}



/*********************************************************************************/
/* 
*/
/*********************************************************************************/

    

/*********************************************************************************/
/* Welcome                                                                       */
/*********************************************************************************/

	#welcome
	{
		position: relative;
		padding: 7em 0em 7em 0em;
		background: #2651a8;
		background-size: cover;
		text-align: center;
	}
	
	#welcome .container
	{
		width: 1000px;
		padding: 0px 100px;
		color: rgba(255,255,255,0.8);
	}
	
	#welcome a
	{
		color: rgba(255,255,255,1);
	}
	
	#welcome .button
	{
		background: #FFF;
		color: #2651a8;
	}


/*********************************************************************************/
/* Extra                                                                         */
/*********************************************************************************/

	#three-column
	{
		text-align: center;
		color: rgba(0,0,0,0.6);
	}

	#three-column .fa
	{
		display: block;
		padding: 1em 0em;
		color: rgba(0,0,0,1);
		font-size: 2em;
	}
	
	#three-column .title h2
	{
		font-weight: bold;
		color: rgba(0,0,0,0.8);
	}

	#three-column .title .byline
	{
		text-align: center;
		color: rgba(0,0,0,.5);
	}

    #three-column ul li
    {
        font-size: 100%;
        line-height: 150%;
        vertical-align: middle;
    }
/*********************************************************************************/
/* Card                                                                         */
/*******************************************************************************/

    .card {
      background-color: white;
      box-shadow: var(--card-shadow);
      max-width: 35%;
      min-width: 600px;
      margin: 0 auto;
      text-align: left;
    }

    .cardtitle {
      color: grey;
      font-size: 18px;
    }

    cardbutton {
      border: none;
      outline: 0;
      display: inline-block;
      padding: .5em;
      color: white;
      background-color: #000;
      text-align: center;
      cursor: pointer;
      width: 100%;
      font-size: 18px;
    }

    .card img {
        width: 100%;
    }

    .card h1, .card p {
        color:black;
        
        margin: 1% 5%;
    }

    .card ul {
        color:black;
        
        margin: 2.5% 5% 2%;
    }

    .card ul li {
        border: .5em;
        margin: 1.25em 0em;
        text-align: left;
        list-style: disc;

    }

    .card a {
        text-decoration: none;
        font-size: 22px;
        color: white;
        padding: .5em 10em;
        text-align: center;
        width: 100%;

    }

    cardbutton:hover, .card a:hover {
        opacity: 0.7;
    }

/*********************************************************************************/
/* SlideShow                                                                     */
/*********************************************************************************/

    * {box-sizing:border-box}
    .mySlides1, .mySlides2, .mySlides3 {display: none}
    img {vertical-align: middle;}

    /* Slideshow container */
    .slideshow-container {
      max-width: 40em;
      position: relative;
      margin: auto;
        
    }

    
    /* Next & previous buttons */
    .prev, .next {
      cursor: pointer;
      position: absolute;
      top: 60%;
      width: auto;
      margin-top: -22px;
      padding: 5%;
      color: white;
      font-weight: bold;
      font-size: 18px;
      transition: 0.6s ease;
      border-radius: 0 3px 3px 0;
      user-select: none;
    }

    /* Position the "next button" to the right */
    .next {
      right: 0;
      border-radius: 3px 0 0 3px;
    }

    /* On hover, add a black background color with a little bit see-through */
    .prev:hover, .next:hover {
      background-color: rgba(0,0,0,0.8);
    }

    /* Caption text */
    .text {
      background-color: rgba(0,0,0,.8);
      color: #f2f2f2;
      font-size: 15px;
      padding: 2em 6em;
      position: absolute;
      bottom: 8px;
      width: 100%;
      text-align: center;
    }

    .text a
    {
        margin: 1em;
    }

    /* Number text (1/3 etc) */
    .numbertext {
      color: #f2f2f2;
      font-size: 12px;
      padding: 8px 12px;
      position: absolute;
      top: 0;
    }

    /* The dots/bullets/indicators */
    .dot {
      cursor: pointer;
      height: 1.5em;
      width: 1.5em;
      margin: 0 2px;
      background-color: #bbb;
      border-radius: 50%;
      display: inline-block;
      transition: background-color 0.6s ease;
    }

    .active, .dot:hover {
      background-color: #717171;
    }

    /* Fading animation */
    .fade {
      -webkit-animation-name: fade;
      -webkit-animation-duration: 3.0s;
      animation-name: fade;
      animation-duration: 3.0s;
    }

    @-webkit-keyframes fade {
      from {opacity: .2}
      to {opacity: 1}
    }

    @keyframes fade {
      from {opacity: .4}
      to {opacity: 1}
    }

/*********************************************************************************/
/* The Deconstructed Pancake AKA Flexbox                                                  */
/*********************************************************************************/     
    .pancake .parent 
    {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .pancake .box 
    {
/*        flex: 1 1 500px;   Stretching: */
        flex: 0 1 500px; /*  No stretching: */
        margin: 5px;
    }

/*********************************************************************************/
/* Extras:                                                                       */
/*******************************************************************************/ 
    .contact_form
    {
        width: 40%;
        margin: auto;    
        align-content: center;
        text-align: center;
        /* display: inline-table; */
        /* position: sticky;    */

    }

    /* Style inputs */
    input[type=email], select 
    {
        width: 100%;
        height: 10%;
        padding: 1em 1em;
        margin: 1em 0;
        display: inline-block;
        border: .2em solid #ccc;
        border-radius: 4em;
        box-sizing: border-box;
    }

    /* Style inputs */
    textarea[type=message], select 
    {
        width: 100%;
        height: 10%;
        padding: 1em 1em;
        margin: 1em 0;
        display: inline-block;
        border: .2em solid #ccc;
        border-radius: .4em;
        box-sizing: border-box;
    }

   /* Style the submit button */
    button[type=submit] 
    {
        width: 30%;
        background-color: #04AA6D;
        color: white;
        padding: 1em 1em;
        margin: 1em 0;
        border: none;
        border-radius: 4em;
        cursor: pointer;
    }

    .spacer 
    {
        margin: 0em auto 15em;    
        align-content: center;
        text-align: center;
        position: sticky;       
    }

    .spacerthin 
    {
        margin: 2em auto 0em;    
        align-content: center;
        text-align: center;
        position: sticky;       
    }

    .spacerwide 
    {
        margin: 12em auto 0em;    
        align-content: center;
        text-align: center;
        position: sticky;       
    }

    #myBtn {
      display: block;
      position: fixed;
      bottom: 20px;
      right: 30px;
      z-index: 99;
      font-size: 18px;
      border: none;
      outline: none;
      background-color: #2651a8;
      color: white;
      cursor: pointer;
      padding: 15px;
      border-radius: 4px;
    }

    #myBtn:hover {
      background-color: #555;
    }












