/*#--------------------------
			Main
--------------------------#*/

@font-face
{
  font-family: septacharge;
  src: url(../fonts/septacharge.ttf);
}

@font-face
{
	font-family: sansLight;
	src: url(../fonts/SourceSansPro-ExtraLight.otf);
}

@font-face
{
	font-family: cv;
	src: url(../fonts/cv.ttf);
	font-weight: 400;
    font-style: normal
}

.icon-file-solid, .icon-envelop, .icon-linkedin2, .icon-github
{
	font-family: 'cv' !important;
	font-style: normal !important;
}

.icon-file-solid:before {
	content: "\e900";
}
.icon-envelop:before {
	content: "\e945";
}
.icon-github:before {
	content: "\eab0";
}
.icon-linkedin2:before {
	content: "\eaca";
}

body
{
	background-repeat: no-repeat !important;
	background-size: cover !important;
	background-position: center center !important;
	background-attachment: fixed !important;
	font-family: sansLight;
}

body.light-mode
{
	background-image: url("/home/src/img/background_light_compressed.jpg") !important;
	color: #515151;
}

body.dark-mode
{
	background-image: url("/home/src/img/background_dark_compressed.jpg") !important;
	color: var(--dark-mode-color);
}

.split
{
	height: 100%;
	z-index: 1;
	top: 0;
	bottom:0;
	position: fixed;
	overflow-x: hidden;
}

.split.left
{
	width: 30%;
	left: 0;
	float: left;
	text-align: center;
	font-size: 20px;
	padding: 75px 0;
}
  
.split.right
{
	width: 70%;
	right: 0;
	float: right;
}

@media screen and (max-width: 1025px)
{
	.split.right
	{
		position: static;
		margin: 0;
		width: 100%;
		display: none;
	}
	.split.left
	{
		position: static;
		width: 100%;
		float: initial;
		overflow: auto;
	}
}

.social-media-block
{
	margin-top: 10px;
}

/*#--------------------------
			Text
--------------------------#*/

.title
{
	line-height: 90%;
	font-size: 4vw;
}

.title.caps
{
	font-family: septacharge;
}

.title.small
{
	font-size: 2vw;
}

.small-title
{
	font-family: septacharge;
	font-size: 40px;
}

.title.light-mode, .title-small.light-mode, .small-title.light-mode
{
	color: #515151;
}

.title.dark-mode, .title-small.dark-mode, .small-title.dark-mode
{
	color: var(--dark-mode-color);
}

.title-line
{
	width: 75%;
	display: block;
	margin: auto;
}

.orange-separator
{
	position: relative;
	height: 10px;
	border-radius: 5px;
	width: 100%;
	z-index: -1;
	background-image: url(/home/src/img/background_main_compressed.jpg) !important;
	margin: 20px auto;
}

.orange-separator::after
{
	position: absolute;
	content: ' ';
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: -webkit-gradient(linear, left top, right top, from(#f7765387), to(#fb390569));
	background: linear-gradient(to right, #f7765387, #fb390569);
	z-index: -1;
}

.text-container
{
	width: 85%;
	margin: 30px auto 30px auto;
}

.text
{
	text-align: left;
}

.important-text
{
	color: var(--main-color);
	font-weight: bold;
}

@media screen and (max-width: 1025px)
{
	.title
	{
		font-size: 15vw;
	}
	.text
	{
		font-size: 25px;
	}
	.title.small
	{
		font-size: 7vw;
	}
	.title.dark-mode, .title.light-mode
	{
		color: var(--dark-mode-color);
		text-shadow: 2px 2px 2px #0000007d;
	}
}

/*#--------------------------
			Button
--------------------------#*/

.icon-button, .button
{
	background: -webkit-gradient(linear, left top, left bottom, from(var(--main-color-darker)), to(var(--main-color)));
	background: linear-gradient(to bottom, var(--main-color-darker) 0%, var(--main-color) 100%);
	-webkit-box-shadow: inset 0 0.1vw var(--main-color-boxshadow), 0 1px 2px rgba(0, 0, 0, 0.2);
	box-shadow: inset 0 0.1vw var(--main-color-boxshadow), 0 1px 2px rgba(0, 0, 0, 0.2);
	margin: 2.5px;
}

.button
{
	font-size: 25px;
	padding: 10px 45px;
}

.icon-inner
{
	font-size: 40px;
}

.icon-button.light-mode, .button.light-mode
{
	color: var(--light-mode-icon-color);
}

.icon-button.dark-mode, .button.dark-mode
{
	color: var(--dark-mode-icon-color);
}

.button .icon-inner
{
	display: inline-block;
	width: auto;
	height: auto;
	font-size: inherit;
}

@media screen and (max-width: 1025px)
{
	.icon-button
	{
		width: 40px;
		height: 40px;
	}
	.icon-inner
	{
		font-size: 30px;
	}
	.button
	{
		font-size: 17px;
		padding: 5px 10px;
	}
}

/*#--------------------------
			Gallery
--------------------------#*/

.app-container
{
	display: block;
	width: 90%;
	margin: auto;
	background-color: #f6f6f6;
	border-radius: 10px;
	border: aliceblue;
	margin-top: 30px;
	-webkit-box-shadow: 0px 0px 14px 0px rgb(0 0 0 / 10%);
	box-shadow: 0px 0px 14px 0px rgb(0 0 0 / 10%);
}

.app-container.light-mode
{
	background-color: #f6f6f6;
}

.app-container.dark-mode
{
	background-color: rgb(69, 69, 69);
}

.app-image
{
	display: inline-block;
	vertical-align: middle;
	width: calc(50% - 2.5px);
	-webkit-box-shadow: 0 1px 1px rgb(0 0 0 / 30%);
	box-shadow: 0 1px 1px rgb(0 0 0 / 30%);
	-webkit-transition: all .3s;
	transition: all .3s;
	cursor: pointer;
	-webkit-filter: grayscale(1);
	filter: grayscale(1);
	position: relative;
	border-radius: 0.5vw;
	-webkit-transform: scale(0.95);
	transform: scale(0.95);
}
  
.app-image:before
{
	position: absolute;
	content: '';
	top: 0;
	left: 0;
	width: 0%;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.2);
	-webkit-transition: width 0.25s;
	transition: width 0.25s;
	z-index: 0;
}
  
.app-image:hover
{
	-webkit-box-shadow: 0 0.8vw 1.2vw rgba(0, 0, 0, 0.5);
	box-shadow: 0 0.8vw 1.2vw rgba(0, 0, 0, 0.5);
	outline: none;
	z-index: 2;
	
	-webkit-transform: scale(1);
	transform: scale(1);
}
  
.app-image:hover:before
{
	width: 100%;
}
  
.app-image.disabled
{
	opacity: 0.2;
	border: 0.3vw solid #fff;
	cursor: not-allowed;
}
  
.app-image.active
{
	-webkit-filter: none;
	filter: none;
}

.app-video-container
{
	top: 50%;
	left: calc(50% - 2.5%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	position: absolute;
	width: 100%;
	height: 90%;
	border-radius: 0 15px 15px 0;
	-webkit-box-shadow: 0px 0px 14px 0px rgb(0 0 0 / 10%);
	box-shadow: 0px 0px 10px 5px rgb(0 0 0 / 30%);
}

.app-video
{
	position: absolute;
	right: 0;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	top: 0;
	z-index: -100;
	background-size: cover;
	overflow: hidden;
	height: 100%;
}

.app-info-box.light-mode
{
	background-image: url("/home/src/img/background_light.jpg") !important;
}

.app-info-box.dark-mode
{
	background-image: url("/home/src/img/background_dark.jpg") !important;
}

.app-info-box
{
	background: white;
	width: 50%;
	position: absolute;
	top: 20%;
	border-bottom-right-radius: 5vw;
	-webkit-box-shadow: 0 0.5vw 0.7vw rgb(0 0 0 / 30%);
	box-shadow: 0 0.5vw 0.7vw rgb(0 0 0 / 30%);
	-webkit-transition: margin 0.5s;
	transition: margin 0.5s;
	height: 60%;
	margin: 0 0 0 -50%;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	background-position: center center !important;
	background-attachment: fixed !important;
}

.app-info-box.foldedout
{
	margin: 0 0 0 0;
}

.app-info-box .foldout-button
{
	font-size: 35px;
	border-radius: 0 20px 20px 0;
	position: absolute;
	right: -50px;
	width: 50px;
	top: calc(50% - 75px);
	height: 150px;
}

.app-info-box .foldout-button
{
	font-size: 35px;
	border-radius: 0 20px 20px 0;
	position: absolute;
	right: -50px;
	width: 50px;
	top: calc(50% - 75px);
	height: 150px;

	background-repeat: no-repeat !important;
	background-size: cover !important;
	background-position: center center !important;
	background-attachment: fixed !important;
}

.app-info-box .foldout-button.dark-mode
{
	background-image: url("/home/src/img/background_dark.jpg") !important;
	color: var(--dark-mode-color);
}

.app-info-box .foldout-button.light-mode
{
	background-image: url("/home/src/img/background_light.jpg") !important;
	color: #515151;
}

.app-info-box-inner
{
	padding: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
}

.app-type
{
	font-size: 1vw;
	font-weight: 700;
	text-transform: uppercase;
	color: #898d90;
	letter-spacing: 2px;
	background: #eaeaea;
	padding: 5px;
	border-radius: 5px;
}

.app-type.light-mode
{
	color: #898d90;
	background: #eaeaea;
}

.app-type.dark-mode
{
	color: #ffffff;
	background: #9e9e9e;
}

.app-title
{
	margin-top: 10px;
	font-size: 1.25vw;
}

.app-description
{
	display: block;
	font-size: 0.9vw;
}

.app-tags-list
{
	padding: 0;
}

.app-tags-column ul li, .skills-column ol li
{
	list-style-type: square;
}

.app-tags-list li
{
	display: inline-block;
	font-size: 0.75vw;
	text-align: center;
	border-radius: 0.5vw;
	padding: 5px 10px 5px 10px !important;
	cursor: default;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	margin: 5px;
}

.app-tags-list li.light-mode
{
	border: 2px solid #CECECE;
	background-color: #F0F0F0;
}

.app-tags-list li.dark-mode
{
	border: 2px solid #757575;
	background-color: #646161;
}

.app-project-link
{
	border: 3px solid var(--main-color);
	font-size: 1vw;
	font-weight: 700;
	letter-spacing: 4px;
	line-height: normal;
	text-align: center;
	display: inline-block;
	text-decoration: none !important;
	position: relative;
	text-decoration: none;
	color: black;
	text-transform: capitalize;
	padding: 1vw 0;
	width: 40%;
	margin-top: 20px;
	border-radius: 15px;
	overflow: hidden;
	-webkit-transition: all 0.2s linear 0s;
	transition: all 0.2s linear 0s;
}

.app-project-link.dark-mode
{
	color: white;
}
  
.app-project-link:before
{
	content: "»";
	font-family: FontAwesome;
	font-size: 1.25vw;
	position: absolute;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	right: 0;
	top: 0;
	opacity: 0;
	height: 100%;
	width: 4vw;
	-webkit-transition: all 0.2s linear 0s;
	transition: all 0.2s linear 0s;
}
  
.app-project-link:hover
{
	text-indent: -2vw;
}
  
.app-project-link:hover:before
{
	opacity: 1;
	text-indent: 0;
}
  
.app-project-link.disabled
{
	cursor: not-allowed;
	border: 0.2vw solid var(--portfolio-main-color);
	opacity: 0.2;
}
  
.app-project-link.disabled:hover
{
	border: 0.2vw solid var(--portfolio-main-color);
	text-indent: 0vw;
}
  
.app-project-link.disabled:before
{
	font-size: 0vw;
	position: absolute;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	right: 0;
	top: 0;
	opacity: 0;
	height: 0%;
	width: 0vw;
	-webkit-transition: all 0.2s linear 0s;
	transition: all 0.2s linear 0s;
}

@media screen and (max-width: 1025px)
{
	.app-video
	{
		position: absolute;
		top: initial;
		left: initial;
		-ms-transform: initial;
		transform: initial;
		width: 100%;
		border-radius: 0;
		-webkit-box-shadow: initial;
		box-shadow: initial;
		z-index: -4;
	}
}

.app-container.responsive
{
	display: none;
}

@media screen and (max-width: 1025px) 
{
	.game-description	
	{
		width: 100%;
		line-height: initial;
	}
	.app-container
	{
		display: none;
	}
	.app-container.responsive
	{
		display: block;
	}
	.app-info-box
	{
		display: none;
	}
}

.logo
{
	margin: 5% 5%;
	width: 25%;
	display: inline-block;
	transform: scale(1);
	-webkit-transition: all .3s;
	transition: all .3s;
}

.logo:hover
{
	opacity: 0.5;
	-webkit-transition: all .3s;
	transition: all .3s;
	transform: scale(0.9);
}

.game-logo
{
	width: 25px;
}

.portrait
{
    width: 100%;
    padding: 10px 0;
}

.portrait.dark-mode
{
	-webkit-filter: grayscale(1);
	filter: grayscale(1);
	-webkit-transition: all .3s;
	transition: all .3s;
}

.portrait.dark-mode:hover
{
	-webkit-filter: none;
	filter: none;
}

.app-info-box-inner.indigo-winner-2018, .app-info-box-inner.indigo-selection-2023
{
	border-left: solid 11px #ffa5c2;
}

.side-block.indigo-winner-2018, .side-block.indigo-selection-2023
{
    width: 100%;
    background: #ffa5c2;
    border-bottom-right-radius: 5vw;
    padding: 20px;
}

.app-special-image.indigo-winner-2018, .app-special-image.indigo-selection-2023
{
	width: 30%;
	margin: auto;
	display: inline-block;
}

.app-info-box-inner.rookies-2023
{
	border-left: solid 11px #111111;
}

.side-block.rookies-2023
{
    width: 100%;
    background: #111111;
	border-bottom-right-radius: 5vw;
	padding: 20px;
}

.app-special-image.rookies-2023
{
	width: 15%;
	margin: auto;
	display: inline-block;
	margin-left: 10px;
}