* {
	box-sizing: border-box;
	margin: 0;
}

html, body {
	height: 100%;
}

body {
	line-height: 1.5;
	background: #000000;
}

a {
	text-decoration: none;
	cursor: pointer;
}

button {
	cursor: pointer;
	border: none;
}

::-webkit-scrollbar {
	display: none;
}

/* -------------------- HEADER -------------------- */

logo {
	display: block;
	position: fixed;
	height: 14vw;
	width: 14vw;
	left: 3vw;
	top: 4vw;
/* */
	background: url(../img/logo.svg) no-repeat center center;
	background-size: contain;
}

header {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: 1fr 1fr 1fr;
	justify-items: center;
	position: fixed;
	width: 8vw;
	left: 6vw;
	top: 22vw;
}

header a {
	display: inline-block;
	margin: 0 0 1vw 0;
	height: 2vw;
	width: 2vw;
/* */
	border-radius: 50%;
}

#milspec {
	background: linear-gradient(135deg, #677151 0%, #677151 50%, #333929 50%) no-repeat;
}

#laser {
	background: linear-gradient(135deg, #2CC57E 0%, #2CC57E 50%, #155D3B 50%) no-repeat;
}

#flare {
	background: linear-gradient(135deg, #FF0000 0%, #FF0000 50%, #600000 50%) no-repeat;
}

#synth {
	background: linear-gradient(135deg, #FF2975 0%, #FF2975 50%, #4D148A 50%) no-repeat;
}

#gamma {
	background: linear-gradient(135deg, #7FFF00 0%, #7FFF00 50%, #122924 50%) no-repeat;
}

#azure {
	background: linear-gradient(135deg, #66848A 0%, #66848A 50%, #142428 50%) no-repeat;
}

#brass {
	background: linear-gradient(135deg, #BABAAD 0%, #BABAAD 50%, #717167 50%) no-repeat;
}

#paper {
	background: linear-gradient(135deg, #DDDDDD 0%, #DDDDDD 50%, #AAAAAA 50%) no-repeat;
}

/* -------------------- BUTTON -------------------- */

#desktop {
	display: block;
	position: absolute;
	height: 3vw;
	width: 3vw;
	right: 9vw;
	top: 9vw;
}

#mobile {
	display: none;
}

/* -------------------- MAIN -------------------- */

main {
	display: block;
	position: absolute;
	padding: 0 3vw 7vw 5vw;
	width: 100%;
	right: 0;
/* */
	transition: width 1s;
}

main p {
	margin: 7vw 0 4vw 1vw;
	display: inline-block;
/* */
	font-family: 'Outfit', sans-serif;
	font-weight: 300;
	font-size: 4.5vw;
}

main a {
	display: block;
	padding: 0 1vw;
	width: 100%;
/* */
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 1.8vw;
	line-height: 2.5;
/* */
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	text-decoration: none;
	cursor: pointer;
}

@supports (text-overflow: " ...") {
    main a {
        text-overflow: " ..." !important;
    }
}

main a:hover {
	font-weight: 500;
}

main aside a {
	display: inline-block;
	width: auto;
}

/* -------------------- MOBILE -------------------- */

@media only screen and (max-width: 744px) and (orientation: portrait) {

	body {
		margin: 0 5vw;
	}
	
	logo {
		display: block;
		position: absolute;
		height: 50vw;
		width: 50vw;
		left: 25vw;
		top: 15vw;
	}
	
	header {
		position: absolute;
		width: 50vw;
		left: 25vw;
		top: 80vw;
	}

	header a {
		margin: 0 0 5vw 0;
		height: 12vw;
		width: 12vw;
	}
	
	#mobile {
		display: block;
		position: absolute;
		height: 6vw;
		width: 6vw;
		right: 9vw;
		top: 9vw;
	}
  
	#desktop {
		display: none;
	}
	
	main {
		margin: 0 0 12vw 0;
	}
	
	main p {
		font-size: 6vw;
	}

	main a {
		font-size: 3vw;
	}

	main aside a {
		display: block;
		width: 100%;
	}

}

/* -------------------- PRINT -------------------- */

@media print {

	* {
		display: none;
	}

}
