
div.section {
	display: flex;
	flex-wrap: wrap;
}

div.section > .item {
	display: flex;
	flex-direction: column;
	margin: 10px;
	width: 60px;
}

div.section > .item > div {
	text-align: center;
	margin-top: 5px;
	font-size: 10px;
}


object.file {
	width: 50px;
	height: 57px;
	margin: 0px auto;
}

object:not(.file) {
	height: 57px;
}

img {
	max-width: 100%;
}

p {
	font-size: 14px;
}

.portfolio button {
	outline: none;
	border: 1px solid white;
	background: none;
	padding: 10px 30px;
	border-radius: 1000px;
	color: white;
	cursor: pointer;
	transition: all ease .2s;
	filter: brightness(100%);
}

.portfolio button:hover {
	background-color: white;
	color: var(--bgcolor);
}

.portfolio button:hover * {
	filter: brightness(75%);
}

/*
object.file:not(:last-child) {
	margin-right: 20px;
}*/

#cv-document {
	position: relative;
	border-radius: 4px;
	transform-origin: top left;
	margin: 0px auto;

	/*
	background-color: white;
	border-radius: 4px;
	padding: 50px 50px;
	color: black;
	font-family: 'Open Sans', sans-serif;

	width: calc(860px - 100px);
	*/
}


body.snap {
	/*
	-webkit-scroll-snap-type: mandatory;
	-ms-scroll-snap-type: mandatory;
	scroll-snap-type: mandatory;
	
	-webkit-scroll-snap-points-y: repeat(100vh);
	-ms-scroll-snap-points-y: repeat(100vh);
    scroll-snap-points-y: repeat(100vh);

    -webkit-scroll-snap-type: y mandatory;
	-ms-scroll-snap-type: y mandatory;
	scroll-snap-type: y mandatory;

	polyfill-
	*/
	
	/*scroll-snap-points-y: repeat(100vh);*/

	-webkit-scroll-snap-type: proximity;
	-ms-scroll-snap-type: proximity;
	scroll-snap-type: proximity;

	-webkit-scroll-snap-type: y proximity;
	-ms-scroll-snap-type: y proximity;
	scroll-snap-type: y proximity;

	-webkit-scroll-behavior: smooth;
    scroll-behavior: smooth;

	overflow-y: auto;
}

section {
	scroll-snap-align: start;
}

.portfolio {
	--bgcolor: #7971F0;
	background-image: linear-gradient(-45deg, rgba(0,0,0,0), rgba(0,0,0,.5));
	background-color: var(--bgcolor) !important;
	height: 100vh;
	padding-top: 0px;
	padding-bottom: 0px;
	color: white !important;
	perspective: none;
	overflow: hidden;

	margin-bottom: 0px;
}

.portfolio .content {
	position: relative;
	z-index: 10;
}

.portfolio h3 {
	font-family: 'Source Sans Pro', sans-serif;
    font-weight: 900;
    font-size: 30px;
    margin-top: 0px;
    margin-bottom: 10px;
}

.portfolio h4 {
	font-family: 'Lato', sans-serif;
    font-weight: 100;
    font-size: 30px;
    margin: 0px;

    -webkit-user-select: none; /* Safari 3.1+ */
    -moz-user-select: none; /* Firefox 2+ */
    -ms-user-select: none; /* IE 10+ */
    user-select: none; /* Standard syntax */
}

.portfolio h4 a {
	color: white;
	cursor: pointer;
	opacity: 0.5;

	-webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */
  	filter: grayscale(100%);

  	transition: opacity 0.3s;
}

.portfolio h4 a:hover {
	opacity: 1.0;

	-webkit-filter: grayscale(0%); /* Safari 6.0 - 9.0 */
  	filter: grayscale(0%);
}

.portfolio h4 img, .portfolio h4 svg.svg-inline--fa {
	
}

.portfolio h4 img {
	position: relative;
	top: 3px;
	height: 1em;
}

.portfolio p {
	margin-top: 15px;
	width: 300px;
}

.isometric {
	--scl: 1.0;
	position: relative;
	transform: scale(1, 0.5774) rotate(45deg) scale(var(--scl));
}

.isometric > .row0 {
	left: 600px;
	-webkit-animation: isoScroll 120s infinite linear;
	animation: isoScroll 120s infinite linear;
}

.isometric > .row1 {
	left: 1100px;
	-webkit-animation: isoScroll 60s infinite linear;
	animation: isoScroll 60s infinite linear;
}

.isometric > .row2 {
	left: 1400px;
	-webkit-animation: isoScroll 240s infinite linear;
	animation: isoScroll 240s infinite linear;
}

.isometric.reverse {
}

.isometric .plane {
	--top: 0px;

	top: var(--top);

	position: absolute;
	background-color: rgba(0, 0, 0, .5);
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.isometric img {
	--top: 0px;

	top: var(--top);

	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

@keyframes isoScroll {
	0% {
		top: var(--top);
	}

	50% {
		top: calc(var(--top) - 1000px);
	}

	100% {
		top: var(--top);
	}
}

@-webkit-keyframes isoScroll {
	0% {
		top: var(--top);
	}

	50% {
		top: calc(var(--top) - 1000px);
	}

	100% {
		top: var(--top);
	}
}


#contact-me {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	margin: auto;

	background-image: linear-gradient(-45deg, rgba(0,0,0,0), rgba(0,0,0,.3));
	background-color: #7971f0;
	color: white;
	border-radius: 4px;
	padding: 10px 0px;
	width: 250px;
	box-shadow: inset 0 5px 5px 0 rgba(0,0,0,0.2);
}

#contact-me .icon {
	display: inline-flex;
	text-align: left;
    position: relative;
    width: 2em;
    height: 2em;
    border-radius: 100%;
    background-color: transparent;
    border: 2px solid rgba(255, 255, 255, .3);
    margin-right: 10px;
    transition: all .3s;
}

#contact-me .icon:hover {
	background-color: rgba(255, 255, 255, .3);
	border-color: transparent;
}

#contact-me .icon svg.svg-inline--fa {
	position: relative;
    left: 50%;
    top: 50%;
    color: white;
    transform: translate(-50%, -50%);
}

/* @wide */
@media screen and (min-width: 3000px) {
	.isometric {
		--scl: 3.0;
	}
}

@media screen and (min-width: 2000px) and (max-width: 3000px) {
	.isometric {
		--scl: 1.5;
	}
}

/* @tablet */
@media screen and (min-width: 660px) and (max-width: 956px) {
	.isometric {
		--scl: 0.75;
	}

	#cv-document {

	}
}

/* @mobile */
@media screen and (max-width: 660px) {

	.portfolio .content {
		display: inline-block;
		margin-left: calc(50vw - 150px);
		/*
		-webkit-transform: translateX(50%);
		transform: translateX(50vw);*/
	}

	.isometric {
		--scl: 0.75;
	}
}