@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');

:root{
	--background: #f8f5f2;
	--headline: #232323;
	--button:#078080;
	--button-text:#232323;
	--paragraph:#222525;
	--main:#fffffe; /* index boxes inner, boxes inner projects */
	--secondary:#f45d48;
	--tertiary:#f8f5f2; /* index bkgrnd, bkgrnd projets */
	--highlight:#078080;
	--dark-mode:#010101;
	--header-footer-background: #F2BD99;
}

/*universal selector - set to bbox so any border/pad wont affect width*/
* {
	box-sizing: border-box;
}

body{
	font-family:'Roboto', sans-serif;
	height: 100vh;
	margin:0;
	display: flex;
	flex-direction: column;
}
header, footer{
	background-color: var(--header-footer-background);
	width: 100%;
	bottom: 0;
	flex: 0 0 auto;
}
header{
	top: 0;
	height: 5rem;
	display: flex;
}

footer div{
	width: 35%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: left;
	margin: auto;
	transform: translateX(10rem);
}
footer div a{
	font-size: 1rem;
	letter-spacing: 0.1rem;
	margin: 0.5rem;
	text-decoration: none;
	cursor:  pointer;
	color: var(--paragraph);
}
footer div a:hover{
	color: var(--highlight);
}

.nav-container {
	width: 90%;
	margin: auto;
	display: flex;
	justify-content: space-between;
}

.nav-container h1{
	margin: 1rem;
}
.nav-container h1 a{
	color: var(--headline);
	font-weight: bold;
	font-size: 2.5rem;
	text-decoration: none;
	letter-spacing: 0.1rem;
}
.nav-container h1 a:hover{	
	color: var(--highlight);
}

.nav-container ul{
	display: flex;
	justify-content: center;
}

.mode-toggle-container{
	display: flex;
	align-items: center;
}

.mode-toggle-container input{
	visibility: hidden;
}

.mode-toggle-container span{
	color:var(--button-text);
	font-size: 2rem;
}

.mode-toggle-container span:hover{
	color:var(--highlight);
}

.mode-toggle-container label{
	width: 4.5rem;
	height: 2.5rem;
	background-color: var(--main);
	cursor: pointer;
	border-radius: 1.5rem;
	display: inline-block;
	position: relative;
}

#page-mode-ball{
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	top: 0.25rem;
	background: var(--button);
	position: absolute;
	animation: slideOff 0.5s forwards;
}

#page-mode:checked + label{
	background: var(--button);
}

#page-mode:checked + label #page-mode-ball{
	background: var(--main);
	animation: slideOn 0.5s forwards;
}

.main{
	flex: 1 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.hr-line {
	border: 1px solid #000000; /* Sets the border width, style, and color */
	width: 40%; /* Adjusts the line's width */
	margin: 20px 0; /* Adds spacing above and below the line */
	height: 0; /* Sets the height to zero to prevent the line from taking up vertical space */
}

.boxes{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.box{
	width: 10rem;
	height: 5rem;
	background-color: var(--main);
	margin: 1rem;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 1rem;
	box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);
}
.box:hover{
	background-color: var(--button);
}
.boxes a{
	text-decoration: none;
	color: var(--headline);
	text-decoration: none;
}

.main h2{
	font-size: 2rem;
}
.main p, .boxes a{
	font-size: 1.5rem;
}

.main .writings{
	width: 60%;
	display: flex;
	flex-wrap: wrap;
}
.main .writings .writing{
	width: 20rem;
	height: 20rem;
	border-radius:1rem;
	overflow: hidden;
	text-align: center;
	background: var(--tertiary);
	box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);
}
.main .writings .writing a{
	text-decoration: none;
	color: var(--headline);
}
.main .writings .writing a:hover h3{
	color: var(--highlight);
}
.main .writings .writing h3{
	font-size: 1rem;
}
.main .writings .writing p{
	font-size: 0.8rem;
	opacity: 0.6;
}
.main .writings .writing .blog-img{
	width: 100%;
	height: 70%;
}
.main .writings .writing .blog-img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@keyframes slideOn {
	0% {
			transform: translateX(0) scale(1);
	}
	50% {	
			transform: translateX(1rem) scale(1.2);
	}
	100% {		
		transform: translateX(2.25rem) scale(1);
	}
}
@keyframes slideOff {
	0% {
			transform: translateX(2.25rem) scale(1);
	}
	50% {	
			transform: translateX(1rem) scale(1.2);
	}
	100% {		
		transform: translateX(0) scale(1);
	}
}

