html, body 
{
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
	background-image: url('Binary.png');
	background-size: 100%;
	background-attachment: fixed;
	background-repeat: no-repeat;
	background-size: cover;
	color: white;	
}

/* Adjustments for the separate sections. Each section divided by the bouncing arrow */
.section 
{
    display: block;
    position: relative;
    width: calc(100% - 150px);
    height: 100%;
    color: white;	
}

/* Text adjustments */
.text 
{
    position: relative;
    width: 60%;
    top: 40%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    text-align: center;
    font-size: 20px;
    font-family: Arial;
    line-height: 1.5;
}

	.text h2 
	{
		text-transform: uppercase;
        font-weight: 400;
        font-size: 40px;
        font-family: Arial;
	}

	
/* Bouncing Arrows */
.arrow-down 
{
    display: inline-block;
    position: absolute;
    margin: 0;
    padding: 0;
    left: 50%;
    margin-left: -25px;
    bottom: 100px;
    border-radius: 50%;
    border: 2px solid white;
    width: 50px;
    height: 50px;
    background-image: url('Down.png'); /* This changes the image */
    background-size: cover;
    transition: all 0.3s ease;
    background-color: transparent;
    z-index: 99;

	/* Animation for browsers */
    -webkit-animation: bounce 2.5s infinite;
    -moz-animation: bounce 2.5s infinite;
    -o-animation: bounce 2.5s infinite;
    animation: bounce 2.5s infinite;
}

	.arrow-down:hover 
	{
        cursor: pointer;
        border-color: black;
        background-color: black;
        filter: invert(100%); /* This makes the image opposite colors when hovered */
	}

.arrow-up {
    display: inline-block;
    position: absolute;
    margin: 0;
    padding: 0;
    left: 50%;
    margin-left: -25px;
    
    border-radius: 50%;
    border: 2px solid white;
    bottom: 100px;
    width: 50px;
    height: 50px;
    background-image: url('Up.png'); /* This changes the image */
    background-size: cover;
    transition: all 0.3s ease;
    background-color: transparent;
    z-index: 99;

	/* Animation for browers */
    -webkit-animation: bounce 2.5s infinite;
    -moz-animation: bounce 2.5s infinite;
    -o-animation: bounce 2.5s infinite;
    animation: bounce 2.5s infinite;
}

    .arrow-up:hover 
	{
        cursor: pointer;
        border-color: black;
        background-color: black;
        filter: invert(100%); /* This makes the image opposite colors when hovered */
    }

/* Adjustments to lists */	
ul {
    list-style-type: none;
    padding-left: 10%;
	padding-top: 10%;
    width: 150px;
    background-color: white;
	color: grey;
	text-align: left;
}

/* Home section */
#banner {
    max-width: 100%;
    height: 100%;
    background-size: 100%;
    background-position: right 65%;
    background-attachment: fixed;
    box-sizing: border-box;
}

    #banner-large-text {
        display: block;
        position: absolute;
        top: 50%;
        left: 30%;
        transform: translateX(-20%) translateY(-50%);
        font-family: Arial, sans-serif;
        font-size: 120px;
        line-height: 120px;
        color: white;
        z-index: 99;
    }		
}

/* Sidebar */
#cover {
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 9998;
}

/* More sidebar */
#navbar {
    display: block;
    box-sizing: border-box;
    position: fixed;
    top: 0;
	left: 0;
	height: 100%;
    width: 140 px;
    padding: 0px;
    background-color: white;
    font-family: Arial;
    font-size: 18px;
    color: white;
	z-index: 1;	
}
    #navbar #right a 
	{
        font-size: 25px;
        height: 100%;
        position: relative;
        transition: all 0.2s ease;
		color: grey;
    }

        #navbar #right a:hover
		{
            background: white;
			color: grey;
        }

        #navbar #right a:before
		{
            content: "";
            position: absolute;
            width: 150 px;
            height: 100%;
            bottom: 0;
            left: 0;
            background-color: grey;
            visibility: hidden;
            -webkit-transform: scaleX(0);
            -moz-transform: scaleX(0);
            transform: scaleX(0);
            transition: all 0.2s ease-in-out 0s;
        }

        #navbar #right a:hover:before
		{
            visibility: visible;
            -webkit-transform: scaleX(1);
            transform: scaleX(1);
        }

    #navbar #right 
	{
        height: 100%;
        float: right;
        display: block;
		font-weight: 200;
		width: 150 px;
    }
    

/* Mobile Sidebar -- turns to top bar with hamburger */
#mobile-navbar 
{
    display: none;
    box-sizing: border-box;
    position: fixed;
    top: 0;
    width: 100%;
    background-color: white;
    font-family:Arial, sans-serif;
    font-weight: 300;
    font-size: 80px;
    color: grey;
    z-index: 999;
}

#sidebar-button
{
    display: inline-block;
    padding: 0 25px;
}

    #sidebar-button:hover
	{
        cursor: pointer;
        background-color: white;
    }
		
#mobile-sidebar
{
    position: fixed;
    padding-top: 1.5em;
    top: 0;
    left: -80%;
    display: block;
    background-color: white;
    height: 100%;
    width: 40%;
    z-index: 9999;
    font-family:Arial, sans-serif;
    font-size: 20px;
    color: grey;
}

    #mobile-sidebar #x
	{
        position: absolute;
        top: 0.5em;
        right: 0.5em;
        padding: 10px 25px;
        color: grey;
    }

        #mobile-sidebar #x:hover
		{
            background-color: white;
            color: grey;
            cursor: pointer;
        }

    #mobile-sidebar a
	{
    	color: grey;
    }

    /* Sidebar lists */
	#mobile-sidebar ul
	{
    	list-style: none;
    	margin: 0;
    	padding: 0;
		width: 100%;
    }

	/* Sidebar lists */
    #mobile-sidebar ul li
	{
    	margin: 0;
    	width: 100%;
    	padding: 1em 1.5em;
    	box-sizing: border-box;
    }

	/* Sidebar lists */
    #mobile-sidebar ul li:hover, #mobile-sidebar ul li:active 
	{
		width: 100%;
		background-color: grey;
		color: white;
    }

	
/* Adjustments for tablets and phones */
/*-------------------------------------*/	
@media only screen and (max-width: 1076px) {
    #navbar {
        font-size: 16px;
    }
	
}

@media only screen and (max-width: 1023px) {

    @-webkit-keyframes bounce 
	{
        0%, 100% 
		{
            transform: translateY(0);
        }

        50% 
		{
            transform: translateY(30px);
        }
    }

    @-moz-keyframes bounce 
	{
        0%, 100% 
		{
            transform: translateY(0);
        }

        50% 
		{
            transform: translateY(30px);
        }
    }

    @-o-keyframes bounce 
	{
        0%, 100% 
		{
            transform: translateY(0);
        }

        50% 
		{
            transform: translateY(30px);
        }
    }

    @keyframes bounce 
	{
        0%, 100% 
		{
            transform: translateY(0);
        }

        50% 
		{
            transform: translateY(30px);
        }
    }

    #navbar 
	{
        display: none;
    }

    #mobile-navbar 
	{
        display: block;
    }

	/* Home section */
    #banner 
	{
        background-size: cover;
    }

    #banner-large-text 
	{
        left: 50%;
        transform: translateX(-50%) translateY(-50%);
        font-size: 55px;
        line-height: 1em;
    }

    #banner-large-text #bottom-text 
	{
        font-size: 55px;
    }

    .text 
	{
        font-size: 2.5em;
        width: 60%;
    }

        .text h2 
		{
            font-size: 2em;
        }

	/* Remove bouncing arrows */
    .arrow-down, .arrow-up 
	{
        display: none;
    }

    .section #icons img 
	{
        height: 100px;
        margin: 30px;
    }
	
	.section 
	{
		width: 100%;
		padding-top: 115px;
	}
	
	/* Make room for top bar */
	body 
	{
		padding-top: 115px;
	}
	
}

@media only screen and (max-width: 780px) 
{
    #banner #banner-large-text 
	{
        font-size: 35px;
    }

    #banner #bottom-text 
	{
        font-size: 35px;
    }

	/* Get rid of bouncing arrows */
    .arrow-down, .arrow-up 
	{
        display: none;
    }

    .text 
	{
        font-size: 20px;
    }

    .text h2 
	{
        font-size: 35px;
    }
	
	.section 
	{
		width: 100%;
		padding-top: 115px;
	}

	/* Make room for top bar */
	body 
	{
		padding-top: 115px;
	}
}

/* Stuff for browers */	
@-webkit-keyframes bounce 
{
    0%, 100% 
	{
        transform: translateY(0);
    }

    50% 
	{
        transform: translateY(16px);
    }
}

/* Stuff for browers */	
@-moz-keyframes bounce 
{
    0%, 100% 
	{
        transform: translateY(0);
    }

    50% 
	{
        transform: translateY(16px);
    }
}

/* Stuff for browers */	
@-o-keyframes bounce 
{
    0%, 100% 
	{
        transform: translateY(0);
    }

    50% 
	{
        transform: translateY(16px);
    }
}

/* Stuff for browers */	
@keyframes bounce 
{
    0%, 100% {
        transform: translateY(0);
    }

    50% 
	{
        transform: translateY(16px);
    }
}

*{
  margin:0;
  padding:0;
}


/* HEX CONTENT */
#categories 
{
  overflow:hidden;
  width: 90%;
  padding-top: 20%;
  margin:0 auto;
  background: transparent;
}

/* Adjustments to lists */
#categories li 
{
  position:relative;
  list-style-type:none;
  width: 20%;
  padding-bottom: 23.094688221%;
  float:left;
  overflow:hidden;
  visibility:hidden;
  -webkit-transform: rotate(-60deg) skewY(30deg);
  -ms-transform: rotate(-60deg) skewY(30deg);
  transform: rotate(-60deg) skewY(30deg);
  margin: 0 1%;
}

/* Adjustments to lists */
#categories li * 
{
  position:absolute;
  visibility:visible;
}

/* Adjustments to lists */
#categories li > div 
{
  width:100%;
  height:100%;
  text-align:center;
  color:#fff;
  overflow:hidden;
  
  -webkit-transform: skewY(-30deg) rotate(60deg);
  -ms-transform: skewY(-30deg) rotate(60deg);
  transform: skewY(-30deg) rotate(60deg);
  
	-webkit-backface-visibility:hidden;  
}

/* Adjustments to lists images*/
#categories li img 
{
  left:-100%; right:-100%;
  width: auto; height:100%;
  margin:0 auto;   
}

/* grid stuff found at https://codepen.io/Xaxav/pen/QVEzNE */