/* Switching box model for all elements */
* {
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}


/* Responsive Navigation styles begin here */
nav > input,
nav > label {
	display: none; /* hidden on large screens */
}

/* Old Android bugfix */
body {  -webkit-animation: bugfix infinite 1s; }
@-webkit-keyframes bugfix {  from {padding:0;}  to {padding:0;} }

@media (max-width: 767px) {	

	/* Theming opened nav */	
	nav {
  	padding: 0rem 1rem;
    background-color: #007cc9;
    background: #007cc9;
    margin: 2.8rem 0 0;
    }
	nav ul {
		/* translate with hardware acceleration */
		-webkit-transform: translateZ(0); 
		-ms-transform: translateZ(0);
		        transform: translateZ(0);
		-webkit-transition: max-height .4s;
		        transition: max-height .4s;
		will-change: max-height;
		

		/* global styles */
		margin: 0;
		padding: 0;
		list-style: none;
        z-index: 1;
        overflow: hidden;
	}
	nav a {
		display: block;
		padding: 1.2rem;
		color: #333;
		background: none;
		text-decoration: none;
		margin-bottom: .4rem;
	}
	nav a:hover, 
	nav a:focus,
	nav a:active
	{
		background: #eee;
	}
	
	/* handling clic with CSS3 checked */
	/* Theming closed nav */	
	nav > input:not(:checked) ~ ul {
		max-height: 0;
		overflow: hidden;
	}
	/* Theming opened nav */
	nav > input:checked ~ ul {
		max-height: 32em;
	}
	

	/* Global styling nav button */	
	nav > label {
		display: block;
		position: absolute;
			top: 1.7rem; right: 1rem;
			z-index: 1;
			margin: .3rem .5rem;
		height: 45px; width: 45px;
		background: none;
		border: 0;
		text-align: center;
		font-size: 10px;
		line-height: 2.6;
		color: #333;
		-webkit-tap-highlight-color:rgba(0,0,0,0);
		-webkit-transition: .2s webkit-transform cubic-bezier(0, 1.8, 1, 1.2);
		        transition: .2s transform cubic-bezier(0, 1.8, 1, 1.2);
	}
	nav > label:before {
		content: "";
		display: block;	
        
		z-index: 1;
		height: 3.3rem;
    	width: 4rem;
        margin: .01em auto 1.5rem;
		padding: 0;
        
		outline: 0;
		background-color: transparent;
		
		background-image: -webkit-gradient(linear, left top, right top, from(#fff000), to(#fff000)), 
							-webkit-gradient(linear, left top, right top, from(#fff000), to(#fff000)), 
							-webkit-gradient(linear, left top, right top, from(#fff000), to(#fff000));
							
		background-image: -webkit-linear-gradient(left, #fff000, #fff000), 
							-webkit-linear-gradient(left, #fff000, #fff000), 
							-webkit-linear-gradient(left, #fff000, #fff000);
							
		background-image: linear-gradient(to right, #fff000, #fff000),
							linear-gradient(to right, #fff000, #fff000),
							linear-gradient(to right, #fff000, #fff000);
							
		background-position: center top, center, center bottom;
		background-repeat: no-repeat;
		-webkit-background-size: 4rem 0.6rem;
		        background-size: 4rem 0.6rem;
		
		border: 0;
		cursor: pointer;
		-webkit-tap-highlight-color:rgba(0,0,0,0);
		-webkit-transition: .2s cubic-bezier(0, 1.8, 1, 1.2);
		        transition: .2s cubic-bezier(0, 1.8, 1, 1.2);
		transition-property: background;
	}
	
	/* Theming opened nav button */	
	nav > input:checked + label {
		-webkit-transform: scale(.8);
		transform: scale(.8);
	}
	nav > input:checked + label::before {
		background-position: center, center, center;
	}
	

	/* Hide alternate text except from screen readers */
	.visually-hidden {
		position: absolute !important;
		clip: rect(1px, 1px, 1px, 1px);
		overflow: hidden;
		height: 1px;
		width: 1px;
	}
	
}








/* BONUS deco */


/* Global deco */

/* orientation */
@media (orientation: landscape) and (max-device-width: 767px) {
	html,
	body {
		-webkit-text-size-adjust: 100%;
	}
}

pre {
	-moz-tab-size: 4;
    -o-tab-size: 4;
	     tab-size: 4;
    padding: 1em;
    margin: auto 1em;
    border-radius: 6px;
    border: 1px solid rgba(0,0,0,.1);
    background: rgba(255,255,255,.6);
    white-space: pre-wrap;
	word-wrap: break-word;
	font-family: consolas, 'DejaVu Sans Mono', courier, monospace;
	line-height: 1em;
}