@import url('https://fonts.googleapis.com/css2?family=Comfortaa&family=Kaushan+Script&family=Oswald&display=swap');

:root {
	--primary-color: rgb(255, 92, 92);
	--primary-variant: #ff2d2d;
	--secondary-color: #1b9999;
	--on-primary: rgb(250, 250, 250);
	--on-background: rgb(66, 66, 66);
	--on-background-alt: rgba(66, 66, 66, 0.7);
	--background: rgb(255, 255, 255);
	--box-shadow: 0 5px 20px 1px rgba(0, 0, 0, 0.5);
}

[data-theme='dark'] {
	--primary-color: rgb(150, 65, 255);
	--primary-variant: #6c63ff;
	--secondary-color: #03dac5;
	--on-primary: #000;
	--on-background: rgba(255, 255, 255, 0.9);
	--on-background-alt: rgba(255, 255, 255, 0.7);
	--background: #121212;
}

html {
	box-sizing: border-box;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	color: var(--on-background);
	font-family: Comfortaa, sans-serif;
	background-color: var(--background);
	background-image: url('./img/background.svg');
}

section {
	min-height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}

h1 {
	font-family: Kaushan Script, sans-serif;
	font-size: 100px;
	margin-bottom: 0;
}

h2 {
	color: var(--on-background-alt);
	font-size: 32px;
	font-weight: normal;
}

/* Navigation */
nav {
	z-index: 10;
	position: fixed;
	font-family: Oswald, sans-serif;
	font-size: 24px;
	letter-spacing: 3px;
	padding: 25px;
	width: 100vw;
	background: rgb(255 255 255 / 50%);
}

a {
	margin-right: 25px;
	color: var(--primary-color);
	text-decoration: none;
	border-bottom: 3px solid transparent;
	font-weight: bold;
}

a:hover,
a:focus {
	color: var(--on-background);
	border-bottom: 3px solid;
}

/* Home Section */
.title-group {
	text-align: center;
}

/* About Section */
.about-container {
	display: flex;
}

.image-container {
	border: 1px solid var(--secondary-color);
	border-radius: 10px;
	padding: 10px 20px;
	margin-right: 25px;
	width: auto;
	background: var(--background);
	box-shadow: var(--box-shadow);
}

img {
	height: 300px;
	width: 300px;
}

/* Projects Section */
.buttons {
	margin-top: 15px;
	margin-bottom: 50px;
}

button {
	min-width: 100px;
	height: 40px;
	cursor: pointer;
	border-radius: 10px;
	margin-right: 10px;
	border: 2px solid var(--primary-color);
	font-size: 15px;
	outline: none;
}

button:disabled {
	opacity: 0.4;
	cursor: default;
}

button:hover:not(.outline) {
	filter: brightness(110%);
}

.primary {
	background: var(--primary-color);
	color: var(--on-primary);
}

.secondary {
	border: 2px solid var(--secondary-color);
}

.secondary,
.secondary:hover,
.outline.secondary:hover {
	background: var(--secondary-color);
	color: var(--on-primary);
}

.outline {
	background: var(--background);
	color: var(--on-background);
}

.outline:hover {
	background: var(--primary-color);
	color: var(--on-primary);
}

.text-box {
	width: 40%;
	text-align: justify;
	background: rgb(0 0 0 / 50%);
	color: var(--on-primary);
	border-radius: 10px;
	padding: 30px;
}

p {
	margin: 0;
	line-height: 25px;
}

/* Contact Section */
.fab {
	font-size: 100px;
	margin-right: 50px;
	cursor: pointer;
	color: var(--primary-color);
}

.fab:hover {
	color: var(--on-background);
}

/* Dark Mode Toggle */
.theme-switch-wrapper {
	display: flex;
	align-items: center;
	z-index: 100;
	position: fixed;
	right: 25px;
	top: 30px;
}

.theme-switch-wrapper span {
	margin-right: 10px;
	font-size: 1rem;
}

.toggle-text {
	position: relative;
	top: -4px;
	right: 5px;
	color: var(--on-background);
}

.theme-switch {
	display: inline-block;
	height: 34px;
	position: relative;
	width: 60px;
}

.theme-switch input {
	display: none;
}

.slider {
	background: #ccc;
	bottom: 0;
	cursor: pointer;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	transition: 0.4s;
}

.slider::before {
	background: #fff;
	bottom: 4px;
	content: '';
	height: 26px;
	left: 4px;
	position: absolute;
	transition: 0.4s;
	width: 26px;
}

input:checked + .slider {
	background: var(--primary-color);
}

input:checked + .slider::before {
	transform: translateX(26px);
}

.slider.round {
	border-radius: 34px;
}

.slider.round::before {
	border-radius: 50%;
}

.fas {
	font-size: 30px;
	margin-right: 5px;
}
