/*---------------------------------------
  1. TYPOGRAPHY
-----------------------------------------*/
@import url('https://fonts.googleapis.com/css?family=Rajdhani:300,500,700&display=swap');

/*---------------------------------------
  2. VARIABLES
-----------------------------------------*/
:root {
	--circle-size: 6.5em;
	--color: #ec4e00;
	--color2: #FFF;
	--color-glow: #ec4e0059;
}

/* --------------------------------------
  3. GLOBAL STYLES
-----------------------------------------*/
body {
	background: #f5f5f5;
	font-family: 'Open Sans', sans-serif;
	font-weight: 300;
	font-size: 15px;
	overflow-x: hidden;
	overflow-y: scroll;
	scrollbar-color: #d0d0d0 #4d4d4d;
	scrollbar-width: 10px;
	color: #f5f5f5;
	margin: 0px;
}
ul {
	padding: 0;
	margin: 0;
}
li {
	list-style: none;
}
a {
	color:#212121;
}
a:hover{
	text-decoration: none;
}
a:focus {
	text-decoration: none;
	outline: 0;
	-webkit-box-shadow: 0 0 0 0.2rem var(--color-glow);
			box-shadow: 0 0 0 0.2rem var(--color-glow);
}
button, button:focus{
	outline: 0;
}
h3{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
		-ms-flex-direction: row;
			flex-direction: row;
	-webkit-box-align: center;
		-ms-flex-align: center;
			align-items: center;
}
h3{
	background: #000;
	color: #FFF;
	padding: 5px 10px;
	width: -webkit-fit-content;
	width: fit-content;
	width: -moz-fit-content;
	margin-left: 0.25em;
	margin-bottom: 0em;
	z-index: 10;
}
h3 i{
	font-size: 0.75em;
	padding-right: 0.3em;
}
hr{
	border-top: 2px solid #000;
}
hr.special-hr{
	border: none;
	border-bottom: 2px solid #FFF;
	height: 0.75em;
	margin: -0.55em 0em 0em 0em;
	width: 100%;
	background-image: -o-linear-gradient(135deg, transparent 25%, #000 25%, #000 50%, transparent 50%, transparent 75%, #000 75%, #000 100%);
	background-image: linear-gradient(-45deg, transparent 25%, #000 25%, #000 50%, transparent 50%, transparent 75%, #000 75%, #000 100%);
	background-size: 5px 5px;
	-webkit-box-shadow: 0px 2px;
			box-shadow: 0px 2px;
}
hr.hr-centered{
	width: 50%;
	margin-bottom: 2em;
}
.flex00100{
	-webkit-box-flex: 0;
		-ms-flex: 0 0 100%;
			flex: 0 0 100%;
}.flex11100{
	-webkit-box-flex: 1;
		-ms-flex: 1 1 100%;
			flex: 1 1 100%;
}
.border-2{
	border: 2px solid;
}

.btn{
	border-radius: 0;
	font-family: 'Rajdhani';
	position: relative;
	overflow: hidden;
}
.btn:focus{
	-webkit-box-shadow: 0 0 0 0.2rem #ec4e0059;
			box-shadow: 0 0 0 0.2rem #ec4e0059;
}
.btn-normal{
	background-color: var(--light);
	border: 2px solid #000;
	margin: 0.5em 0.2em 0em 0.2em;
}
.btn-normal:hover{
	background-color: #FFF;
}
.btn-active{
	background-color: #FFF;
	font-weight: bold;
	margin: 0.5em 0.2em 0em 0.2em;
	border: 0px;
}
.btn-normal:after{
	content: "";
	background-color: var(--color-glow);
	position: absolute;
	display: block;
	height: 100%;
	top: 0;
	-webkit-transform: translateX(-100%) skew(-30deg);
	-ms-transform: translateX(-100%) skew(-30deg);
		transform: translateX(-100%) skew(-30deg);
	-webkit-transition: .5s cubic-bezier(.76,.49,.25,1);
	-o-transition: .5s cubic-bezier(.76,.49,.25,1);
	transition: .5s cubic-bezier(.76,.49,.25,1);
	left: -22px;
	width: 150%;
}
.btn-normal:hover:after, .btn-normal:focus:after{
	-webkit-transform: translateX(0) skew(-30deg);
	-ms-transform: translateX(0) skew(-30deg);
		transform: translateX(0) skew(-30deg);
}

#cv-actions{
	position: fixed;
	left: 0;
	bottom: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 1px;
	z-index: 9999;
}
#cv-actions #set-plain,
#cv-actions #download-pdf{
	position: static;
	background: #000;
	color: #FFF;
	padding: 0.5em;
	cursor: pointer;
	font-family: Rajdhani, sans-serif;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	border: 0;
}
#cv-actions #set-plain:hover,
#cv-actions #set-plain:focus,
#cv-actions #download-pdf:hover,
#cv-actions #download-pdf:focus{
	background: var(--color);
	color: #FFF;
	text-decoration: none;
	outline: none;
}

::-webkit-scrollbar {
	width: 10px;
}

::-webkit-scrollbar-thumb {
	-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
	background-color: #F5F5F5;
}

::-webkit-scrollbar-track {
	-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
	background-color: #555;
}

.sub{
	font-size: 0.75em !important;
	font-weight: normal;
}
.triangle-corner{
	position: relative !important;
}
.triangle-corner:before{
	content: '';
	border: 1em solid transparent;
	border-right-color: #000;
	border-top-color: #000;
	position: absolute;
	top: 0;
	right: 0;
}
hr.triangle-corner{
	height: 1em;
	background: #000;
	margin: -2px 0em 2em 0em;
	border: 0;
}
.bg-dotted{
	background-image: -webkit-gradient(linear, left top, left bottom, color-stop(19%, transparent), color-stop(20%, #fbfbfb)), -webkit-gradient(linear, left top, right top, color-stop(20%, #ececec), color-stop(20%, #fbfbfb));
	background-image: -o-linear-gradient(top, transparent 19%, #fbfbfb 20%), -o-linear-gradient(left, #ececec 20%, #fbfbfb 20%);
	background-image: linear-gradient(to bottom, transparent 19%, #fbfbfb 20%), linear-gradient(to right, #ececec 20%, #fbfbfb 20%);
	background-size: 10px 10px, 10px 10px;
}

/* 3.1 = BARS*/
.progress{
	background: #33393e;
	border-radius: 0;
	-webkit-box-shadow: inset 0px 0px 2px 1px #000000a1, 0px 0px 1px 1px;
			box-shadow: inset 0px 0px 2px 1px #000000a1, 0px 0px 1px 1px;
	position: relative;
}
.progress-bar{
	-webkit-transition: width 0.6s ease, color 2s ease !important;
	-o-transition: width 0.6s ease, color 2s ease !important;
	transition: width 0.6s ease, color 2s ease !important;
	background: #FFF !important;
	color: rgb(0, 0, 0, 255);
	-webkit-box-orient: inherit;
	-webkit-box-direction: inherit;
		-ms-flex-direction: inherit;
			flex-direction: inherit;
	font-weight: 600;
	height: 15px;
}
.progress-bar:after{
	content: attr(data-percent)"%";
	width: 100%;
	height: 100%;
	position: absolute;
	opacity: 0;
	-webkit-transition:0.25s;
	-o-transition:0.25s;
	transition:0.25s;
	left: 0;
	color: rgb(0, 0, 0, 255);
}
.progress-bar:before{
	content: attr(data-name);
	width: 100%;
	height: 100%;
	-webkit-transition:0.25s;
	-o-transition:0.25s;
	transition:0.25s;
	left: 0;
	position: absolute;
	color: rgb(0, 0, 0, 255);
}
body:not(.plain) .progress-bar.progress-empty:before, body:not(.plain) .progress-bar.progress-empty:after{
	color: rgb(0, 0, 0, 0);
}
.progress:hover .progress-bar:after{
	opacity: 1;
}
.progress:hover .progress-bar:before{
	opacity: 0;
}
body:not(.plain) .progress-bar.progress-empty{
	width: 0% !important;
}

/* 3.2 = CIRCLE BARS*/
.circle-wrap {
	width: var(--circle-size);
	height: var(--circle-size);
	-webkit-box-flex: 0;
		-ms-flex: 0 0 var(--circle-size);
			flex: 0 0 var(--circle-size);
	background: #343a40;
	border-radius: 50%;
	overflow: hidden;
	margin: 1em;
	-webkit-box-shadow: 0px 0px 1px 1px #00000038;
			box-shadow: 0px 0px 1px 1px #00000038;
}
.circle-wrap .circle{
	height: 100%;
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	position: relative;
	cursor: default;
}
.circle-wrap:last-child:after{
	content: '';
	background: #000;
}
.circle-wrap .inside-circle:after{
	content: attr(data-percent);
	position: absolute;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	-ms-flex-item-align: center;
		align-self: center;
	margin: auto;
	background: #FFF;
	opacity: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
		-ms-flex-direction: column;
			flex-direction: column;
	-webkit-box-pack: center;
		-ms-flex-pack: center;
			justify-content: center;
	-webkit-transition: 0.25s;
	-o-transition: 0.25s;
	transition: 0.25s;
	font-size: 1.5em;
}
.circle-wrap .inside-circle:hover:after{
	opacity: 1;
}
.circle-wrap .circle .mask, .circle-wrap .circle .fill {
	width: 100%;
	height: 100%;
	position: absolute;
}
.circle-wrap .circle .mask {
	clip: rect(0px, var(--circle-size), var(--circle-size), calc( var(--circle-size) / 2 ));
}
.circle-wrap .circle .mask .fill {
	clip: rect(0px, calc( var(--circle-size) / 1.96 ), var(--circle-size), 0px);
	background-color: #f0f0f0;
	border-radius: 50%;
	-webkit-box-shadow: inset 0px 0px 3px 0px #000;
			box-shadow: inset 0px 0px 3px 0px #000;
}
body:not(.plain) .circle-wrap .circle.progress-empty .mask .fill { /* <- Hack to make it look better */
	clip: rect(0px, calc( var(--circle-size) / 2 ), var(--circle-size), 0px);
}
.circle-wrap .circle .mask.full,.circle-wrap .circle .fill {
	-webkit-transform: rotate(var(--percent));
		-ms-transform: rotate(var(--percent));
			transform: rotate(var(--percent));
	-webkit-transition: transform 1s, clip 0.1s;
	-webkit-transition: clip 0.1s, -webkit-transform 1s;
	transition: clip 0.1s, -webkit-transform 1s;
	-o-transition: transform 1s, clip 0.1s;
	transition: transform 1s, clip 0.1s;
	transition: transform 1s, clip 0.1s, -webkit-transform 1s;
}
body:not(.plain) .circle-wrap .circle.progress-empty .mask.full,body:not(.plain) .circle-wrap .circle.progress-empty .fill {
	-webkit-transform: rotate(0deg) !important;
		-ms-transform: rotate(0deg) !important;
			transform: rotate(0deg) !important;
}
.circle-wrap .inside-circle {
	width: 80%;
	height: 80%;
	border-radius: 50%;
	background: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	text-align: center;
	-webkit-box-align: center;
		-ms-flex-align: center;
			align-items: center;
	-webkit-box-pack: center;
		-ms-flex-pack: center;
			justify-content: center;
	margin: auto;
	-webkit-box-shadow: 0px 0px 3px 1px #00000042;
			box-shadow: 0px 0px 3px 1px #00000042;
	font-weight: bold;
	font-size: 0.9em;
	padding: 1em;
	-webkit-transition: 1s -webkit-transform;
	transition: 1s -webkit-transform;
	-o-transition: 1s transform;
	transition: 1s transform;
	transition: 1s transform, 1s -webkit-transform;
	-webkit-transform: scale(1);
		-ms-transform: scale(1);
			transform: scale(1);
}
.circle-wrap .circle.progress-empty .inside-circle {
	-webkit-transform: scale(0.9);
		-ms-transform: scale(0.9);
			transform: scale(0.9);
}
.circle-wrap .inside-circle:hover {
	-webkit-transform: scale(1.1);
		-ms-transform: scale(1.1);
			transform: scale(1.1);
}

/* --------------------------------------
  4. CONTENT
-----------------------------------------*/
.container-inside {
	-webkit-box-flex: 0;
		-ms-flex: 0 0 100%;
			flex: 0 0 100%;
	background: #FFF;
	-webkit-box-shadow: 0 10px 30px 0 rgba(0,0,0,.25);
	-o-box-shadow: 0 10px 30px 0 rgba(0,0,0,.25);
	-ms-box-shadow: 0 10px 30px 0 rgba(0,0,0,.25);
	box-shadow: 0 10px 30px 0 rgba(0,0,0,.25);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
		-ms-flex-direction: row;
			flex-direction: row;
}
.content-right {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
		-ms-flex-direction: column;
			flex-direction: column;
	-webkit-box-pack: right;
		-ms-flex-pack: right;
			justify-content: right;
	margin: auto;
	height: 100%;
	width: 100%;
	position: relative;
}
.section{
	display: none;
	color: #000;
	padding: 5em;
	-webkit-box-flex: 0;
		-ms-flex: 0 0 100%;
			flex: 0 0 100%;
	min-height: 450px;
}

/* --------------------------------------
  5. SIDEBAR
-----------------------------------------*/
i.fa{
	font-size: 1.5em;
}
.menu-dropdown{
	display: none;
	position: fixed;
	z-index: 100;
	padding: 1em;
}
.sidebar {
	text-align: center;
	width: 150px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
		-ms-flex-direction: column;
			flex-direction: column;
	position: -webkit-sticky;
	position: sticky;
	top: 0px;
	height: 100%;
	z-index: 1;
}
.sidebar ul{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-flex: 1;
		-ms-flex-positive: 1;
			flex-grow: 1;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
		-ms-flex-direction: column;
			flex-direction: column;
	max-height: 500px;
	-webkit-transition: 0.25s;
	-o-transition: 0.25s;
	transition: 0.25s;
}
.sidebar ul li {
	-webkit-box-flex: 1;
		-ms-flex: 1 1 100px;
			flex: 1 1 100px;
	min-height: 70px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
		-ms-flex-direction: column;
			flex-direction: column;
	position: relative;
	transition: 0.5s;
}


/* Slash menu effect (ONLY WORKS ON CHROME AND FIREFOX) */
@media screen and (-webkit-min-device-pixel-ratio:0) and (min-resolution:.001dpcm), @-moz-document url-prefix() {
	.sidebar ul li .slash-text {
		position: relative;
	}
	.sidebar ul li:hover .slash-text, .sidebar ul li a:focus .slash-text {
		color: transparent;
		-webkit-transition: 0.25s;
		-o-transition: 0.25s;
		transition: 0.25s;
	}
	.sidebar ul li .slash-text:before, .sidebar ul li .slash-text:after {
		color: transparent;
		content: attr(data-text);
		position: absolute;
		-o-transition: 0.25s;
		transition: 0.25s;
		-webkit-transition: 0.25s;
	}
	.sidebar ul li .slash-text:before {
		clip-path: polygon(0 0, 100% 0, 0 100%);
		-webkit-clip-path: polygon(0 0, 100% 0, 0 100%);
		transform: translateX(0px);
		-ms-transform: translateX(0px);
		-webkit-transform: translateX(0px);
		-moz-transform: translateX(0px);
		-o-transform: translateX(0px);
	}
	.sidebar ul li .slash-text:after {
		clip-path: polygon(0 100%, 100% 100%, 100% 0);
		-webkit-clip-path: polygon(0 100%, 100% 100%, 100% 0);
		transform: translateX(0px);
		-ms-transform: translateX(0px);
		-webkit-transform: translateX(0px);
		-moz-transform: translateX(0px);
		-o-transform: translateX(0px);
	}
	.sidebar ul li:hover .slash-text:before, .sidebar ul li a:focus .slash-text:before {
		-webkit-transform: translate(1px, -1px);
			-ms-transform: translate(1px, -1px);
				transform: translate(1px, -1px);
		color: var(--color);
	}
	.sidebar ul li:hover .slash-text:after, .sidebar ul li a:focus .slash-text:after {
		-webkit-transform: translate(-1px, 1px);
			-ms-transform: translate(-1px, 1px);
				transform: translate(-1px, 1px);
		color: var(--color);
	}
}
/* ----------------------- */

.sidebar ul li a:focus{
	-webkit-box-shadow: none;
			box-shadow: none;
}
.sidebar ul li a {
	font-family: 'Rajdhani', sans-serif;
	text-transform: uppercase;
	background: var(--color2);
	-webkit-transition: linear .1s;
	-o-transition: linear .1s;
	transition: linear .1s;
	font-size: 1em;
	font-weight: bold;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-flex: 1;
		-ms-flex: 1 0 100%;
			flex: 1 0 100%;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
		-ms-flex-direction: column;
			flex-direction: column;
	place-content: center;
	border-bottom: 2px solid var(--color2);
}
.sidebar ul li a:hover, .sidebar ul li a:focus {
	color: var(--color);
	border-bottom: 2px solid var(--color);
}
.sidebar ul li a i, .sidebar ul li a span{
	font-style: normal;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
		-ms-flex-pack: center;
			justify-content: center;
}
.sidebar ul li a:hover:not(.active){
	color: var(--color);
	font-weight: bold;
}


/* Triangle */
	.sidebar ul li:before {/* Triangle */
		content: "";
		width: 0px;
		height: 0px;
		position: absolute;
		border: 10px solid transparent;
		border-left: 10px solid var(--color);
		right: -20px;
		top: 40px;
		-webkit-transition: linear .1s;
		-o-transition: linear .1s;
		transition: linear .1s;
		opacity: 0;
		-webkit-box-flex: 0;
			-ms-flex: 0 1 auto;
				flex: 0 1 auto;
	}
	.sidebar ul li:hover:before{
		opacity: 1;
		right: -20px;
	}
	.sidebar ul li.active:before, .sidebar ul li.active:after{
		content: "";
		width: 0px;
		height: 0px;
		position: absolute;
		border: 10px solid transparent;
		border-left: 10px solid var(--color2);
		right: -19px;
		top: 40px;
		-webkit-transition: linear .1s;
		-o-transition: linear .1s;
		transition: linear .1s;
		opacity: 1;
	}
	.sidebar ul li.active a {
	color: var(--color);
	}
	.sidebar ul li.active:before{
		border: 12px solid transparent;
		border-left: 12px solid var(--color);
		right: -24px;
		top: 38px;
	}
/* ----------------------- */

.navbar-dark{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
		-ms-flex-direction: column;
			flex-direction: column;
	height: 100%;
	background: #222222;
	border-right: 2px solid var(--color);
}
.navbar-btn{
	margin: auto;
	background: #1f1f1f;
	border: 0;
	display: none;
	z-index: 99;
	width: 100%;
	height: 5.5em;
	color: #FFF;
	text-align: left;
	padding: 0 2em;
	transition: 0.5s;
    clip-path: polygon(0 0, 100% 0, 100% 100%, calc(100% - 15px) calc(100% - 20px), 15px calc(100% - 20px), 0% 100%);
}
.navbar-hidden .navbar-btn{
	clip-path: polygon(0 0, 100% 0, 100% 100%, calc(100% - 15px) calc(100% - 30px), 15px calc(100% - 30px), 0% 100%);
	height: 5em;
}
.navbar-btn:after{
	content: '';
	width: 150%;
	height: 100%;
	background: #FFF;
	position: absolute;
	top: 0;
	left: -20%;
	transition: 0.5s;
	transform: skew(20deg, 0deg);
	opacity: 0.1;
}
.navbar-hidden .navbar-btn:after{
	width: 0%;
}
.navbar-hidden .navbar-btn i{
	transform: rotate(0deg);
}
.navbar-btn i{
	transform: rotate(45deg);
	opacity: 0.5;
	position: relative;
	top: -0.6em;
	transition: 0.5s;
	font-size: 1.4em;
}
.navbar-btn:hover i{
	opacity: 1;
}


/* 5.1 = PORTRAIT*/
#portrait-container{
	max-width: 300px;
	width: 100%;
	margin: auto;
	display: flex;
	flex-direction: column;
	justify-content: space-around;
	align-items: center;
}
#portrait{
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: center;
	min-height: 200px;
	width: 150px;
	/*filter: grayscale(1);*/
	-webkit-transition: background-size ease-in-out .5s, filter ease-in-out .5s;
	-webkit-transition: background-size ease-in-out .5s, -webkit-filter ease-in-out .5s;
	transition: background-size ease-in-out .5s, -webkit-filter ease-in-out .5s;
	-o-transition: background-size ease-in-out .5s, filter ease-in-out .5s;
	transition: background-size ease-in-out .5s, filter ease-in-out .5s;
	transition: background-size ease-in-out .5s, filter ease-in-out .5s, -webkit-filter ease-in-out .5s;
	/*-webkit-mask-image: linear-gradient(to left, transparent 0%, black 20%);
	mask-image: linear-gradient(to left, transparent 0%, black 20%);*/
	-webkit-box-shadow: inset 0px 0px 50px 0px rgba(0, 0, 0, 0.3);
			box-shadow: inset 0px 0px 50px 0px rgba(0, 0, 0, 0.3);
	border-right: 2px solid var(--color);
}
#portrait:hover{
	background-size: 110%;
	/*filter: grayscale(0);*/
}

/* 5.2 = SOCIAL ICONS */
.sidebar .social {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
		-ms-flex-direction: column;
			flex-direction: column;
	-webkit-box-pack: start;
		-ms-flex-pack: start;
			justify-content: flex-start;
	-webkit-box-align: center;
		-ms-flex-align: center;
			align-items: center;
	-webkit-box-flex: 1;
		-ms-flex-positive: 1;
			flex-grow: 1;
	margin: 20px 0px;
 }
.sidebar .social a {
	display: block;
	margin-bottom: 10px;
}
.sidebar .social a i {
	color: #FFF;
	padding: 0.25em;
}
.sidebar .social a:hover i {
	color: var(--color);
}

/* --------------------------------------
  6. SECTIONS
-----------------------------------------*/

/* 6.1 = HOME */
.typed-cursor {
	opacity: 0;
	-webkit-animation: blink-caret 1s step-end infinite;
			animation: blink-caret 1s step-end infinite;
	-webkit-animation-delay: 4s;
			animation-delay: 4s;
}

/* The typewriter cursor effect */
@-webkit-keyframes blink-caret {
	from, to { opacity: 0 }
	50% { opacity: 1 }
}
@keyframes blink-caret {
	from, to { opacity: 0 }
	50% { opacity: 1 }
}

.space{
	width: 15px;
	display: inline-block;
}
#home h1 span{
	-webkit-transition: -webkit-transform 0.3s linear;
	transition: -webkit-transform 0.3s linear;
	-o-transition: transform 0.3s linear;
	transition: transform 0.3s linear;
	transition: transform 0.3s linear, -webkit-transform 0.3s linear;
	position: relative;
	display: inline-block;
}
#home h1{
	overflow: hidden;
	width: 110%;
	position: relative;
	font-size: 3rem;
	height: 1.3em;
	margin-bottom: 0px;
	padding-bottom: .5rem;
}
.effect{
	-webkit-transform: translateY(70, 0);
	-ms-transform: translateY(70px);
		transform: translateY(70px);
}
#home h4.appear{
	height: 1.3em;
	color: #FFF;
}
#home h4{
	width: 100%;
	background: #000;
	color: transparent;
	height: 0.1em;
	-webkit-transition: height 1s linear;
	-o-transition: height 1s linear;
	transition: height 1s linear;
}

/*6.2 = ABOUT */
.terminal p{
	margin-bottom: 0;
}
.terminal{
	max-height: 60em;
	background: #1f1f1f;
	color: #FFF;
	font-family: "Courier New",Courier,monospace,arial,sans-serif;
	font-size: 14px;
	word-wrap: break-word;
	padding: 2em;
	position: relative;
	border-top: 2px solid #000;
	-webkit-clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 0 100%);
			clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 0 100%);
	-webkit-transition: 1s ease-in;
	-o-transition: 1s ease-in;
	transition: 1s ease-in;
}
.terminal-closed{
	max-height: 8.5em;
}
.terminal:before{
	content: '';
	background-image: -o-linear-gradient(135deg, transparent 25%, var(--color) 25%, var(--color) 50%, transparent 50%, transparent 75%, var(--color) 75%, var(--color) 100%);
	background-image: linear-gradient(-45deg, transparent 25%, var(--color) 25%, var(--color) 50%, transparent 50%, transparent 75%, var(--color) 75%, var(--color) 100%);
	background-size: 5px 5px;
	position: absolute;
	height: 1em;
	top: 0;
	left: 2px;
	right: 0;
	-webkit-clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 0 100%);
			clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 0 100%);
}
.terminal-line-deco{
	overflow: hidden;
	height: 1.6em;
	word-break: break-word;
}
.terminal-arrows{
	position: relative;
}
.terminal-arrows:after{
	content: attr(data-icon);
	background: #1f1f1f;
	padding: 0 1px;
	position: absolute;
	right: 0;
	top: 0;
}
.terminal .text-center:before, .terminal .text-center:after{
	content: '|';
	position: absolute;
}
.terminal .text-center:before{
	left: 2em;
}
.terminal .text-center:after{
	right: 2em;
}
.terminal:after{
	content: '';
	position: absolute;
	width: 100%;
	height: 1em;
	bottom: 0;
	left: 0;
	background-image: -o-linear-gradient(135deg, transparent 25%, #fff 25%, #fff 50%, transparent 50%, transparent 75%, #fff 75%, #fff 100%);
	background-image: linear-gradient(-45deg, transparent 25%, #fff 25%, #fff 50%, transparent 50%, transparent 75%, #fff 75%, #fff 100%);
	background-size: 2px 2px;
	opacity: 0.2;
}
.extra-info{
	padding: 0.5em 0.8em;
	border: 1px dashed #ffffff4d;
	margin: 0.2em;
	display: block;
}
.hobbies{
	margin: 1em;
	width: 9em;
	height: 9em;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
		-ms-flex-direction: column;
			flex-direction: column;
	-webkit-box-pack: center;
		-ms-flex-pack: center;
			justify-content: center;
	-webkit-box-align: center;
		-ms-flex-align: center;
			align-items: center;
	text-align: center;
	font-size: 0.65rem;
	position: relative;
}
.hobbies:before{
	content: '';
	position: absolute;
	width: 70%;
	height: 70%;
	background: #000;
	border: 2px solid;
	-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
			transform: rotate(45deg);
}
.hobbies i{
	font-size: 2em;
	width: 100%;
	color: #FFF;
	z-index: 1;
}
.hobbies span{
	color: #FFF;
	z-index: 1;
	font-weight: bold;
}

/* 6.3 = RESUME */
#resume .row-resume{
	padding-bottom: 2em;
	-webkit-transition: 0.2s;
	-o-transition: 0.2s;
	transition: 0.2s;
}
#resume .row-right{
	padding: 2em 2em 3em 2em;
	background: #00000008;
	border-color: var(--color);
	border-style: solid;
	border-width: 0;
	border-top-width: 2px;
	-webkit-mask-image: -webkit-gradient(linear, left bottom, left top, from(rgba(255,255,255,0)), color-stop(10%, rgb(255, 255, 255)));
	-webkit-mask-image: linear-gradient(0deg, rgba(255,255,255,0) 0%, rgb(255, 255, 255) 10%);
	-webkit-transition: 0.25s;
	-o-transition: 0.25s;
	transition: 0.25s;
}
#resume .row-right:after {
	content: '';
	pointer-events: none;
	width: 5em;
	height: 100%;
	left: 0;
	top: 0;
	position: absolute;
	background-image: -o-linear-gradient(135deg, transparent 25%, #000 25%, #000 50%, transparent 50%, transparent 75%, #000 75%, #000 100%);
	background-image: linear-gradient(-45deg, transparent 25%, #000 25%, #000 50%, transparent 50%, transparent 75%, #000 75%, #000 100%);
	background-size: 5px 5px;
	-webkit-mask-image: -webkit-gradient(linear, right top, left top, color-stop(50%, rgba(255,255,255,0)), to(rgba(255, 255, 255, 0.16)));
	-webkit-mask-image: linear-gradient(-90deg, rgba(255,255,255,0) 50%, rgba(255, 255, 255, 0.16) 100%);
	opacity: 0.5;
	-webkit-transition: 0.25s;
	-o-transition: 0.25s;
	transition: 0.25s;
}
#resume .row-left{
	padding-top: 0.4em;
	padding-bottom: 2em;
	border-color: var(--color);
	border-style: solid;
	border-width: 0;
	border-top-width: 2px;
	-webkit-transition: 0.25s;
	-o-transition: 0.25s;
	transition: 0.25s;
}
#resume .title-number{
	left: -2.1em;
	top: -0.6em;
	font-weight: bold;
	background: var(--color);
	padding: 0.6em 0.2em;
	color: #FFF;
	position: absolute;
	-webkit-transition: 0.25s;
	-o-transition: 0.25s;
	transition: 0.25s;
}
#resume .title-number:after{
	content: '';
	width: 100%;
	height: 3px;
	background: var(--color);
	position: absolute;
	bottom: -5px;
	left: 0;
}
#resume .row-left .row-title h4{
	position: relative;
}
#resume .row-left .row-title p{
	margin-bottom: 0.1rem;
}
#resume .row-left .row-title{
}
#resume .row-right .row-title{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
		-ms-flex-direction: row;
			flex-direction: row;
}
#resume #w_experience .row-description ul{
	margin: 1em 0.5em 0em;
	columns: 2;
	-webkit-columns: 2;
	-moz-columns: 2;
}
#resume #w_experience .row-description li{
	list-style: none;
}
#resume #w_experience .responsability{
	background: #464646;
	color: #FFF;
	padding: 0.1em 0.5em;
	font-family: 'Rajdhani', sans-serif;
	text-transform: uppercase;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-transition: 0.25s;
	-o-transition: 0.25s;
	transition: 0.25s;
}
#resume #w_experience:hover .row-resume, #resume #w_education:hover .row-resume{
	opacity: 0.8;
}
#resume #w_experience:hover .row-resume:hover, #resume #w_education:hover .row-resume:hover{
	opacity: 1;
}
#resume .row-resume:hover .responsability{
	background: #222 !important;
}
#resume .row-description{
	text-align: justify;
	-webkit-box-flex: 0;
		-ms-flex: 0 1 100%;
			flex: 0 1 100%;
	overflow-wrap: break-word;
	word-break: break-word;
}
#resume .row-description p{
	margin-bottom: 0.5rem;
}
#resume .row-description a{
	color: var(--color);
	text-decoration: underline;
	font-weight: 400;
	transition: 0.1s;
}
#resume .row-description a:hover{
	color: var(--color-glow);
}
#resume .experience-images-container{
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
		-ms-flex-direction: column;
			flex-direction: column;
	-webkit-box-pack: end;
		-ms-flex-pack: end;
			justify-content: flex-end;
	padding: 0.5em 0;
	opacity: 0.6;
	-webkit-transition: opacity 0.5s;
	-o-transition: opacity 0.5s;
	transition: opacity 0.5s;
}
#resume .row-resume:hover .experience-images-container{
	opacity: 1;
}
#resume .row-resume:hover .title-number{
	left: -2em;
}
#resume .experience-image{
	position: relative;
	overflow: hidden;
	width: 100%;
	margin-bottom: 0.5em;
	border: 2px solid #000;
	max-height: 5em;
	flex-grow: 1;
	flex-basis: 2em;
}
#resume .experience-img-inside{
	height: 5em;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	background-color: #000;
	-webkit-transition: 0.5s;
	-o-transition: 0.5s;
	transition: 0.5s;
	position: relative;
	-webkit-transform: scale(1);
		-ms-transform: scale(1);
			transform: scale(1);
	opacity: 1;
}
#resume a:hover .experience-img-inside{
	-webkit-transform: scale(1.2);
		-ms-transform: scale(1.2);
			transform: scale(1.2);
	opacity: 0.5;
}
#resume .resume-location{
	color: var(--color);
	font-size: 80%;
	text-align: right;
	-webkit-box-flex: 1;
		-ms-flex: 1 1;
			flex: 1 1;
	opacity: 0.7;
}
#resume .resume-location:before{
	content: "\f3c5";
	font-family: "Font Awesome 5 Pro";
	font-weight: bold;
	margin: 5px;
}
#resume .progress-container{
	padding: 0em 1em;
	margin: 0.25em 0em;
}

/* 6.4 = PORTFOLIO */
#portfolio .portfolio-img{
	-webkit-transition: 1s;
	-o-transition: 1s;
	transition: 1s;
}
#portfolio .portfolio-img a{
	margin-bottom: 2em;
	overflow: hidden;
	position: relative;
	border: 2px solid #000;
}
#portfolio .portfolio-img .portfolio-img-inside{
	height: 10em;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	background-color: #000;
	-webkit-transition: 0.5s;
	-o-transition: 0.5s;
	transition: 0.5s;
	position: relative;
	-webkit-transform: scale(1);
		-ms-transform: scale(1);
			transform: scale(1);
	opacity: 1;
}
#portfolio .portfolio-img .portfolio-img-inside:hover,.portfolio-img a:focus .portfolio-img-inside{
	-webkit-transform: scale(1.1);
		-ms-transform: scale(1.1);
			transform: scale(1.1);
	opacity: 0.8;
}
#portfolio .portfolio-hidden .img-thumbnail{
	padding: 0rem;
	display: none;
}
#portfolio .portfolio-hidden{
	position: absolute;
	margin: -1em;
	opacity: 0;
	z-index: -1;
	width: 0%;
	left: -9999px;
}
#portfolio .portfolio-img .yt-video:after{
	position: absolute;
	content: "\f04b";
	font-family: "Font Awesome 5 Pro";
	font-weight: bold;
	font-size: 3em;
	width: 100%;
	top: 43px;
	left: 0;
	text-align: center;
	pointer-events: none;
	color: #ffffffd6;
	-webkit-transition: 0.25s;
	-o-transition: 0.25s;
	transition: 0.25s;
}
#portfolio .portfolio-img:hover .yt-video:after{
	color: #FFF;
	text-shadow: 0px 0px 5px #000;
}
#portfolio .portfolio-img .yt-video .portfolio-img-inside {
	border-top: 1em solid #000;
	border-bottom: 1em solid #000;
}
#portfolio .portfolio-img .portfolio-img-inside.portfolio-loading, .experience-image .experience-img-inside.portfolio-loading{
	-webkit-transform: scale(2) !important;
		-ms-transform: scale(2) !important;
			transform: scale(2) !important;
	opacity: 0.5 !important;

}

/* 6.5 = CONTACT */
#contact{
	padding: 0;
}
.container-inside{
	overflow: hidden;
}
#contact #contact-card-container{
	-webkit-transition: 1s;
	-o-transition: 1s;
	transition: 1s;
	pointer-events: none;
}
#contact #contact-card-container:hover{
	-webkit-transform: scale(1.1);
		-ms-transform: scale(1.1);
			transform: scale(1.1);
}
#contact #contact-card{
	padding: 2em;
	background: #252525;
	-webkit-box-shadow: inset 0px 0px 100px #000;
			box-shadow: inset 0px 0px 100px #000;
	max-width: 630px;
	min-width: 370px;
	height: 350px;
	border-radius: 0.5em;
	color: #FFF;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
		-ms-flex-direction: column;
			flex-direction: column;
	-webkit-transform-style: preserve-3d;
			transform-style: preserve-3d;
	font-size: 1em;
	margin: auto;
}
#contact #card-logo{
	width: 60px;
	border: 2px solid;
	text-align: center;
	font-size: 2em;
	font-weight: bold;
}
#contact #card-bar{
	margin: 0.3em;
}
#contact #card-bar:before{
	content: 'プログラマ';
	font-weight: bold;
}
#contact #card-bar:after{
	content: '';
	position: absolute;
	width: 10px;
	height: 20px;
	background: #ffffff3b;
	margin-left: 0.5em;
}
#contact h1{
	background: #fff;
	padding: 0.1em 0.5em;
	margin: 0;
	color: #000;
	-webkit-box-flex: 0;
		-ms-flex: 0 1 100%;
			flex: 0 1 100%;
}
#contact .highlight-pt{
	position: absolute;
	border: 2px solid #FFF;
	width: 100%;
	height: 100%;
	-webkit-transform: translateZ(10px);
			transform: translateZ(10px);
	-webkit-transition: 1s;
	-o-transition: 1s;
	transition: 1s;
	right: 0px;
	bottom: 0px;
	-webkit-box-shadow: 0px 0px 0 400px #ffffff0f;
			box-shadow: 0px 0px 0 400px #ffffff0f;
	pointer-events: auto;
}
#contact .highlight-pt:hover{
	-webkit-box-shadow: 0px 0px 0 400px #ffffffb3;
			box-shadow: 0px 0px 0 400px #ffffffb3;
}
#contact #contact-card-glow{
	-webkit-mask-image: linear-gradient(-45deg, #0000002e 25%, #000 25%, #000 50%, #0000002e 50%, #0000002e 75%, #000 75%, #000 100%);
	-webkit-mask-size: 5px 5px;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
#contact #contact-card-glow i{
	border-radius: 0.4em;
	-webkit-box-shadow: inset 0px 0px 30px 0px #14ffe9;
			box-shadow: inset 0px 0px 30px 0px #14ffe9;
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	-webkit-mask-image: radial-gradient(circle at 720px 530px, black 0px, black 1px, transparent 700px);
	background: #14ffe90d;
}
#contact #contact-card-shadow{
	border-radius: 0.4em;
	-webkit-box-shadow: 0px 0px 3px 0px #14ffe9;
			box-shadow: 0px 0px 3px 0px #14ffe9;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #14ffe9;
	-webkit-transform: translateZ(-10px);
			transform: translateZ(-10px);
}

#tx_email:after{
	content: attr(data-m2) "@" attr(data-m1);
	unicode-bidi: bidi-override;
	direction: rtl;
}
#tx_phone:after{
	content: attr(data-p);
	unicode-bidi: bidi-override;
	direction: rtl;
}
.tx i{
	padding: 0em 0.25em;
}
.tx{
	padding: 0.25em 0.5em;
}
.fac-website:before{
	content: 'W';
	font-family: sans-serif;
}


/* --------------------------------------
  7. MEDIA QUERIES
-----------------------------------------*/
@media (max-width: 1199px) {
	#resume #w_experience .row-description ul{
		columns: 1;
		-webkit-columns: 1;
		-moz-columns: 1;
	}
	#contact-card-container{
		-webkit-transform: scale(0.8);
			-ms-transform: scale(0.8);
				transform: scale(0.8);
	}
}
@media (max-width: 991px) {
	h5{
		font-size: 1rem;
	}
	.section{
		padding: 3em;
	}
	#contact-card-container{
		-webkit-transform: scale(0.7);
			-ms-transform: scale(0.7);
				transform: scale(0.7);
	}
	#resume #w_experience .row-description{
		border: 0;
	}
	#resume .row-left{
		padding-bottom: 0;
	}
	#resume #w_experience .row-right:before{
		content: none;
	}
	#resume .row-right{
		background: none;
		border: 0;
		padding: 0 1em 4em 1.5em;
	}
	#resume .row-right:after{
		content: none;
	}
	#resume .experience-image{
		flex-basis: 5em;
	}
}
@media (max-width: 767px) {
	#home h1{
		font-size: 2rem;
	}
	#contact h1{
		font-size: 1.5rem;
		padding: 0.4em;
	}
	#portrait{
		min-height: 150px;
		max-width: 120px;
		background-size: 130%;
	}
}
@media (min-width: 576px) {
	.container-inside{
		min-height: calc(100vh - 80px);
		margin: 40px 0px;
	}
}
@media (max-width: 575px) {
	#home{
		transform: scale(0.7);
	}
	.section{
		padding: 1em;
	}
	#resume{
		padding: 2em;
	}
	.bg-dotted{
		background-image: none;
	}
	#resume .row-right .row-title{
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
			-ms-flex-direction: column;
				flex-direction: column;
	}
	#resume .resume-location{
		text-align: left;
	}

	.section{
		margin-top: -1em;
		border-radius: 20px;
	}
	.plain #portrait-container{
		display: none;
	}
	#portrait-container{
		max-width: none;
		background: #1f1f1f;
	}
	#portrait{
		-webkit-clip-path: circle(30% at 50% 50%);
				clip-path: circle(30% at 50% 50%);
		max-width: 100%;
		width: 50%;
		min-height: 200px;
		background-size: contain;
		border-right: 0;
	}
	#portrait:hover{
		background-size: contain;
	}
	.sidebar{
		width: 100%;
	}
	.navbar-dark{
		background: none;
		border-right: none;
	}
	.navbar-btn{
		display: block;
	}


	.sidebar .navbar-hidden ul{
		margin-top: -1.5em;
	}
	.sidebar ul li{
		flex: 1 1 90px;
	}
	.sidebar ul li:nth-child(1){
		display: none;
	}
	.sidebar ul li a {
		border-bottom: 0 !important;
	}
	.sidebar .navbar-hidden #navbar li:not(.active){
		opacity: 0;
		pointer-events: none;
		min-height: 0;
		flex: 1 1 0px;
	}

	.container-inside{
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
			-ms-flex-direction: column;
				flex-direction: column;
		min-height: 100vh;
	}
	.social{
		display: none !important;
	}
	.sidebar{
		margin-bottom: 2em;
		height: auto;
	}

	.circle-wrap{
		font-size: 0.8em;
	}
}
@media print
{    
    .no-print, .no-print *
    {
        display: none !important;
    }
    #resume{
    	width: 80%;
    }
}

/* --------------------------------------
  7. PLAIN MODE
-----------------------------------------*/
body.plain {
	background: #FFF;
}
.plain .container-inside{
	-webkit-box-shadow: none;
	-o-box-shadow: none;
	-ms-box-shadow: none;
	box-shadow: none;
	margin-top: 20px;
}
.plain .triangle-corner{
	display: none;
}
.plain .special-hr{
	background-color: #000;
}
.plain .section{
	display: block !important;
	flex: unset;
}
.plain .container{
	padding: 0 !important;
	margin: 0 auto !important;
	max-width: 1140px !important;
}
.plain .row{
	margin: 0 !important;
}
.plain .plain-hidden, .plain .experience-images-container, .plain .typed-cursor{
	display: none !important;
}
.plain .terminal-closed{
	max-height: none;
}
.plain .terminal:before{
	display: none;
}
.not-plain{
	display: none;
}
.plain .not-plain{
	display: block;
}
.plain .progress-bar{
	height: auto;
	padding: 1px;
}
.plain .progress{
	border: 1px solid #000;
	height: 20px;
}
.plain #portrait-container{
	float: left;
	max-width: 130px;
	margin: 0em 1em 0.5em 0em;
}
.plain #portrait{
	width: 100%;
	border-right: 0;
	min-height: 160px;
}
.plain .terminal{
	transition: 0s;
	padding: 4em;
}