:root {
	--accent:#0c6b25;
	--accent-2:#f4f4f4;
	--accent-light:#159e39;
	--text:#333;
	--shadowedText:#7a7a7a;
	--background:#fff;
	--secondaryBackground:#333;
	--lineColour:#e9e9e9;
	--footerBackground:#;
	--titleFont:'Roboto Mono', monospace;
	--bodyFont:'Fredoka', sans-serif;
}

@font-face {
	font-family: 'Roboto Mono';
	font-style: normal;
	src: url(../fonts/Roboto_Mono/RobotoMono-VariableFont_wght.ttf);
}

@font-face {
	font-family: 'Fredoka';
	font-style: normal;
	src: url(../fonts/Fredoka/Fredoka-VariableFont_wdth,wght.ttf);
}

.tFont {
	font-family: var(--titleFont);
}

html, body {
	background: var(--background);
	color: var(--text);
	overflow-x: hidden;
}

/* start of header style */

header {
	text-align: center;
	font-size: 25px;
	font-family: var(--titleFont);
}

header .head-cont{
	display:flex;
	width:100%;
	color:#fff;
	background: var(--secondaryBackground);
	border-bottom: 2px var(--accent) solid;
	justify-content: space-between;
}

header h1 {
	margin-bottom: 0;
}

body {
	font-family: var(--bodyFont);
}


header .logo img{
	width:180px;
	margin-top: 5px;
	margin-right:10px;
}

header .title-section{
	text-align: left;
	display: inline-flex;
	width:50%;
	padding:10px 20px;
	margin-left: 0;
}

header .title-section .text{
	display:inline-block;
	border-left: 2px var(--accent-2) solid;
	padding-left:10px;
}


header .title-section h1{
	animation-name: fadeIn;
    animation-duration: 1s; 
    animation-fill-mode: backwards;
	text-wrap: nowrap;
}


header .title-section .slogan{
	margin-top:10px;
	padding-left: 10px;
	border-bottom: 2px var(--accent) solid;
	animation-name: fadeIn;
    animation-duration: 2s; 
    animation-fill-mode: backwards;
}

header .nav-menu{
	padding-top:95px;
	padding-right:20px;
	display: inline;
}

header nav ul {
	list-style: none;
	padding: 0;
	display:inline-flex;
	justify-content: space-between;
}

header .sidebar {
	display: none;
}

header nav ul li {
	font-size: 20px;
	margin: 0 13px 0 13px;
	
}

header nav ul li a {
	border-radius: 2px 2px 0 0;
	transition: 0.2s;
	padding: 0 2px 0 2px;
	text-decoration: none;
	color: #fff;
	font-size: 25px;
}

header nav ul li:hover a {
	background: var(--secondaryBackground);
}

header nav ul li .underline {
	transition: 0.2s;
	height:0;
	width:0;
	border-bottom: 2px var(--accent) solid;
}

header nav ul .index.current .underline {
	animation-duration:0.6s;
	animation-name: loadLine;
}

@keyframes loadLine {
	0% {
		width: 0%;
	  }
	  100% {
		width: 100%;
	  }
}

header nav ul li:hover {
	cursor: pointer;
}

header nav ul li:hover .underline, 
header nav ul .current .underline { 
	width:100%;
	cursor: pointer;
}

header nav ul .current .underline{
	transition: none;
}


header hr {
	margin:auto;
	width: 80%;
	border-radius: 5px;
	border-style: solid;
	color: var(--accent-2);
}

@media (max-width:1030px) {
	header .head-cont{
		flex-wrap: wrap;
	}

	header .nav-menu{
		margin-left:50px;
	}
}

@media (max-width:1016px) {
	header .nav-menu{
		padding-top:0;
		margin-left:220px;
		margin-top:-50px;
	}
}


header .alertText{
	font-size:15px !important;
	background:#e3a814;
	color:#000;
}


/* end of header style */

body {
	min-height: 100vh;
	display:flex;
	flex-direction: column;
	margin:0;
}

body .link{
	color: var(--accent);
}

/* start of footer style */

footer{
	background: var(--secondaryBackground);
	position:relative;
	bottom:0;
	width:100%;
	padding-top: 40px;
	padding-bottom: 40px;
}

footer hr {
	margin:auto;
	width: 80%;
	border-radius: 5px;
	border-style: solid;
	color: var(--lineColour);
}

footer h2 {
	text-align: center;
	font-family: var(--titleFont);
	font-size: 15px;
	color:#fff;
}


footer .info {
	margin: auto;
	width: 75%;
	color: var(--shadowedText);
}

footer .info a {
	color:inherit;
	text-decoration: none;
}

footer .info a:hover {
	text-decoration: underline;
}

footer .info .item {
	width: 100%;
	display: inline-flex;
}

footer .info .item > * {
	width: 50%;
	margin-bottom: 5pxz;
}

footer .info .item .textLeft{
	text-align: left;
}

footer .info .item .textRight{
	text-align: right;
	color:var(--accent-light);
}

/* end of footer style */

.content hr{
	margin:auto;
	width: 80%;
	border-radius: 5px;
	border-style: solid;
	color: var(--secondaryBackground);
}

.center{
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.content {
	width: 80vw;
	block-size: fit-content;
	flex: 1;
}

.about-section{
	display:inline-flex;
	flex-wrap: nowrap;
	justify-content: space-evenly;
}

.about-section hr {
	margin: 0;
    color: var(--accent);
}

.about-section .title{
	margin-left:0;
	text-align: left;
    margin-bottom: 10px;
    font-weight: 600;
    color: var(--text);
}

.align-left {
	text-align: justify;
	width:35%;
}

.align-right{
	width:28%;
}

.align-right hr{
	width:100%;
}

.about-section .elem {
	text-align: left;
	margin: 10px;
	border-bottom: 2px var(--lineColour) solid;
}

@media(max-width:900px){
	.align-left{
		width:100%;
	}

	.align-right{
		width:100%;
	}

	.about-section{
		flex-wrap: wrap;
	}
}

/* 
.description {
	width: 75vw;
	margin-left: auto;
	margin-right: auto;
} */



.title {
	margin-left: 20px;
	max-width: 35%;
}

.title h2 {
	text-align: left;
	margin-bottom: 10px;
	font-weight:600;
	color: var(--text);
}

.title hr {
	margin: 0;
	color: var(--accent);
}

.latest-proj-cont {
	background:#b3b1b1;
	width:100vw;
	overflow:hidden;
	margin:20px auto 0px -20vw;
	padding:10px 0vw 10px 10vw;
	/* padding-left:10vw;
	padding-right:10vw; */
}

.latest-proj-cont .title{
	margin-left:10vw;
}

.latest-proj-cont .title h2{
	margin-top:0px;
	color:#fff;
}

.latestProjects{
	display: inline-flex;
	justify-content: space-evenly;
	margin-bottom: 10px;
	margin-top: 10px;
	width: 80vw;
	flex-wrap:wrap;
}

.latestProjects .item hr {
	margin: auto;
    width: 80%;
    border-radius: 5px;
    border-style: solid;
    color: var(--accent);
	transition: 0.2s;
	bottom: 4px;
	left:50%;
	transform: translateX(-50%);
	position: absolute;
}


.latestProjects .item {
	position: relative;
	padding-left: calc((10%/6));
	padding-right: calc((10%/6));
	padding-bottom: 10px;
	min-width:280px;
	width: 30%;
	height: 350px;
	margin:10px 0;
	/* margin-left: 0;
	margin-right: 0; */
	transition: 0.2s;
	border-radius: 5px;
	animation-name: fadeIn;
	animation-duration:1s;
	animation-fill-mode: backwards;
	overflow:hidden;
}

/* @media(max-width:1010px){
	.latestProjects .item{
		width: 40%;
	}
} */

@keyframes fadeIn {
	0% {
		opacity: 0%;
	  }
	  100% {
		opacity: 100%;
	  }
}

.latestProjects .break {
	flex-basis:100%;
	height:0;
}

.latestProjects .item:hover {
	background: #969696;
	cursor: pointer;
	color:#222;
}

.latestProjects .item:hover hr {
	width: 95%;
}

.latestProjects .item h3 {
	font-size: 22px;
}

.latestProjects .item .lastUpdated{
	text-align: left;
	font-size: 15px;
	color: #fff;
	text-decoration: underline;
}

.latestProjects .item .lastChange{
	text-align: justify;
	margin-top: 0;
	max-height:160px;
	overflow: hidden;
}

.latestProjects .blur{
	position: absolute;
    height: 40px;
	width:100%;
    bottom: 7px;
	left:-2px;
    z-index: 1;
    backdrop-filter: blur(2px);
    mask: linear-gradient(to bottom, #00000000, #000000ff);
}


/* @media(max-width:655px){
	.latestProjects{
		overflow-x: auto;
		width:700px;
	}

	.latestProjects .item{
		width:200px;
	}
} */

.latestProjects .view-more{
	color:#fff;
	background: var(--accent);
	text-decoration: none;
	padding:10px 20px;
	border-radius: 4px;
	margin-top:10px;
	transition:0.2s;
}

.latestProjects .thumbnail{
	object-fit: contain;
	border-bottom:2px var(--accent-2) solid;
	padding-left: 5px;
	padding-right:5px;
	padding-bottom:5px;
	margin-bottom:10px;
}

.latestProjects .view-more:hover{
	background: #801419;
}


.projectTag {
	text-decoration: none;
	color: var(--text);
	background: var(--accent);
	font-size: 10px;
	font-family: var(--titleFont);
	font-weight: bold;
	text-align: center;
	width: 100px;
	padding:2px 3px 2px 3px;
	border-radius: 2px;
}

.latestProjects .item .projectTag{
	float: left;
}

.inGrid {
	grid-row: 3;
    grid-column:1;
	height: 13px;
}


.loaderContainer{
	position:fixed;
	width:100vw;
	height:100vh;
	background:#9e9e9eaa;
	top:0;
	left:0;
}

.loaderContainer.hidden{
	display:none;
}

.loader {
	border: 16px solid #f3f3f3; /* Light grey */
	border-top: 16px solid var(--accent); /* Blue */
	border-radius: 50%;
	width: 100px;
	height: 100px;
	animation: spin 2s linear infinite;
	position:fixed;
	top:calc(50% - 100px);
	left:calc(50% - 66px);
}
  
@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}


.messageArea{
	position:fixed;
	top:calc(50% + 40px);
	left:calc(50% - 150px);
	width:300px;
	color:#000;
	text-align: center;
}


.invert-img{
	filter: invert(1);
}