/* Roboto */

@font-face {
	font-family: 'Roboto';
	src: url(./fonts/roboto/Roboto-Regular.ttf);
	font-weight: 400;
	font-style: normal;
}

@font-face {
	font-family: 'Roboto';
	src: url(./fonts/roboto/Roboto-Italic.ttf);
	font-weight: 400;
	font-style: italic;
}

@font-face {
	font-family: 'Roboto';
	src: url(./fonts/roboto/Roboto-Thin.ttf);
	font-weight: 100;
	font-style: normal;
}

@font-face {
	font-family: 'Roboto';
	src: url(./fonts/roboto/Roboto-ThinItalic.ttf);
	font-weight: 100;
	font-style: italic;
}

@font-face {
	font-family: 'Roboto';
	src: url(./fonts/roboto/Roboto-Black.ttf);
	font-weight: 900;
	font-style: normal;
}

@font-face {
	font-family: 'Roboto';
	src: url(./fonts/roboto/Roboto-BlackItalic.ttf);
	font-weight: 900;
	font-style: italic;
}

@import url('https://fonts.googleapis.com/css2?family=Roboto+Serif&display=swap');

::-webkit-scrollbar {
	background-color: var(--back-color);
}

::-webkit-scrollbar-thumb {
	background-color: var(--primary-accent);
}

:root {
	--border-width: 0;

	font-family: 'Roboto', sans-serif;

	/* colors */

	--title-color: rgb(242, 0, 0);

	--text-color: #333333;
	--text-color-dark: peachpuff;

	--link-color: #333333;
	--link-color-dark: peachpuff;

	--primary-accent: red;

	--button-text-color: #efeeee;
	--button-text-hover-color: white;
	--button-shadow: #bd0808;

	--back-color: #efeeee;
	--back-gradient-to: #e2e0e0;
	--back-color-dark: #252525;
	--card-back-color: #f0f0f0;
	--card-back-color-dark: #303030;

	--light-color: white;
	--shadow-color: rgba(209, 205, 199, 0.7);
	--shadow-color-dark: black;

	--border-col: black;
	--border-col-dark: white;

	--extrusion-up: .3rem .3rem .6rem var(--shadow-color), -.3rem -.3rem .6rem var(--light-color);
	--extrusion-down: inset .3rem .3rem .6rem var(--shadow-color), inset -.3rem -.3rem .6rem var(--light-color);

	display: grid;
	align-items: center;
	background-color: var(--back-color);

	scrollbar-color: var(--primary-accent) var(--back-color);
}

::selection {
	background-color: var(--primary-accent);
	color: white;
}

body {
	margin: 0;
	width: 100%;
	font-weight: 400;
	background-image: linear-gradient(var(--back-color), var(--back-gradient-to));

	scrollbar-color: red;
}

a {
	color: var(--link-color);
	text-decoration: none;
}

a:hover {
	color: var(--primary-accent);
}

img,
video {
	width: 100%;
	margin: 0;
	padding: 0;
	border-radius: 1rem;
	max-height: 75vh;
	object-fit: cover;
	margin-bottom: 1.1rem;
	user-select: none;
}

iframe {
	width: 100%;
	height: 35rem;
	border-radius: 1rem;
	margin-bottom: 1.1rem;
	user-select: none;
}

.imagem_pixelada {
	image-rendering: pixelated;
}

.pixelated-image {
	image-rendering: pixelated;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: 'Roboto';
	padding: 1.2rem;
	width: fit-content;
	border-radius: 5rem;
	background-color: var(--card-back-color);
	color: var(--text-color);
}

h1 {
	margin-left: auto;
	margin-right: auto;
	text-transform: uppercase;
}

p {
	/* padding: 2rem; */
	font-size: 1.1rem;
	/* border-radius: 2rem; */
	color: var(--text-color);
	/* box-shadow: var(--extrusion-up); */
	/* background-color: var(--card-back-color); */
	line-height: 1.5rem;
	font-weight: 400;
}

blockquote {
	border: var(--border-width) solid black;
	color: var(--text-color);
	font-weight: 100;
}

hr {
	height: var(--border-width);
	background-color: var(--shadow-color);
	max-width: 75%;
	margin: 3rem auto;
	border: none;
	height: .5rem;
	border-radius: 2rem;

	box-shadow: inset .1rem .1rem .1rem var(--shadow-color), inset -.1rem -.1rem .1rem var(--light-color);
}

ul {
	list-style: circle;
}

li {
	width: fit-content;
}

input {
	box-shadow: var(--extrusion-up);
	background-color: var(--card-back-color);
	padding: .5rem;
	border: var(--card-back-color) solid .2rem;
	border-radius: 3rem;
	color: grey;
	margin: .6rem;

	font-size: medium;
}

input:focus {
	outline: var(--outline);
	box-shadow: var(--extrusion-down);
}

input[type="submit"] {
	color: white;
	box-shadow: var(--extrusion-up);
	background-image: linear-gradient(145deg, var(--primary-accent), var(--button-shadow));
	padding: 1rem;
	font-size: large;
}

input[type="button"]:active {
	background-image: none;
	box-shadow: var(--extrusion-down);
	color: var(--text-color);

	border-color: var(--primary-accent);
}

textarea {
	font-family: 'Roboto';
	box-shadow: var(--extrusion-up);
	background-color: var(--card-back-color);
	padding: 2rem;
	border: var(--card-back-color) solid .2rem;
	border-radius: 3rem;
	color: grey;
	margin: .6rem;

	width: 80%;
	margin-left: auto;
	margin-right: auto;

	display: block;

	resize: none;
}

textarea:focus {
	box-shadow: var(--extrusion-down);
	outline: var(--outline);
}

.contained-image {
	object-fit: contain;
}

.button-li {
	display: inline-block;
	margin: .5rem;
}

.button {
	border-radius: 2rem;
	padding: .75rem;
	box-shadow: var(--extrusion-up);
	width: fit-content;

	background: linear-gradient(145deg, var(--primary-accent), var(--button-shadow));
	box-shadow: .3rem .3rem .3rem var(--shadow-color), -.3rem -.3rem .4rem var(--light-color);
	color: var(--button-text-color);

	border: var(--card-back-color) solid .2rem;

	font-size: large;

	user-select: none;
}

.button:hover {
	color: var(--button-text-hover-color);
}

.button:active {
	background-image: linear-gradient(var(--back-gradient-to), var(--back-color));
	box-shadow: var(--extrusion-down);
	color: var(--text-color);

	border: var(--primary-accent) solid 0.2rem;
}

#button-inactive {
	background-image: linear-gradient(var(--back-color), var(--back-gradient-to));
	color: var(--text-color);
}

.title {
	color: var(--title-color);
	text-align: center;
	font-size: 3vw;

	margin-top: 3rem;
	margin-bottom: 3rem;
	padding-left: 3rem;
	padding-right: 3rem;

	box-shadow: var(--extrusion-down), var(--extrusion-up);
	border: var(--card-back-color) .8rem solid;

	text-shadow: -.1rem -.1rem .3rem var(--shadow-color),
		.1rem .1rem .3rem var(--light-color);
}

.main-page-title {
	box-shadow: var(--extrusion-up);
	margin: 0 0 1rem 0
}

.sided_image {
	--width: 400px;
	width: 49.7%;
	display: inline;
	text-align: center;
}

.copyright {
	font-size: x-small;
	width: fit-content;
}

.main-card {
	width: 60rem;
	margin: auto;
	margin-top: 1rem;
	margin-bottom: 2rem;

	padding: 2rem;
	border-radius: 2rem;
	box-shadow: var(--extrusion-up);
	background-color: var(--card-back-color);
}

#go-back-button {
	position: fixed;
	top: 1rem;
	bottom: auto;
	left: 1rem;
	border-radius: 100%;
	display: grid;
	place-items: center;
}

#main-title {
	margin-left: 1rem;
}

#me-block {
	display: flex;
}

#about-me-card {
	display: flex;
	align-items: center;
}

#about-me {
	font-size: x-large;
	font-style: italic;
	box-shadow: none;
}

#my-links {
	flex: 33%;
}

#my-stuff {
	display: flex;
}

#personal-card {
	flex: 33%;
}

#projects-card {
	flex: 33%;
}

#week-production-card {
	flex: 33%;
}

.card {
	border: var(--border-width) solid var(--light-color);
	box-shadow: var(--extrusion-up), var(--extrusion-down);
	border-radius: 2.5rem;
	padding: 1rem;
	margin: 1.2rem;
	background-color: var(--card-back-color);
	border: var(--card-back-color) .8rem solid;

	width: fit-content;
}

#main-profile-pic {
	border-radius: 100%;
	max-width: 80%;
	max-height: 80%;
	height: 60%;
	width: auto;
	object-fit: cover;

	max-height: 20vw;
}

#contact-name-address {
	margin-left: auto;
	margin-right: auto;
	width: fit-content;
}

/* Individual stuff for artistic purposes */

#green-heart-title {
	color: rgb(103, 191, 103);
}

/**/

@media screen and (max-width: 1100px) {

	.main-card {
		margin: 0;
		width: auto;
		border-radius: 0;
		box-shadow: none;
		padding: 3vw;
		padding-top: 0;
	}

	#my-stuff {
		display: block;
	}

	.card {
		width: auto;
	}

	#me-block {
		display: inline-block;
	}

	#go-back-button {
		top: auto;
		bottom: 2rem;
	}

	#go-back-button .button {
		box-shadow: none;
	}

	.title {
		font-size: 6.5vw;
		margin: auto;
		margin-top: 2rem;
		max-width: 100%;
	}
}

@media screen and (max-width: 700px) {
	
	#about-me-card {
		display: grid;
		place-items: center;
	}

	#main-profile-pic {
		width: 30vw;
		height: 30vw;
		max-width: 30vw;
		max-height: 30vw;
	}

	#main-title {
		margin-left: auto;
		margin-right: auto;
	}

	#contact-name-address input {
		display: block;
		margin-bottom: 1rem;
		text-align: center;
	}
}

@media (prefers-color-scheme: dark) {
	:root {
		--back-color: var(--back-color-dark);
		--back-gradient-to: #151515;

		--light-color: rgba(199, 199, 199, 0.1);
		--shadow-color: rgba(0, 0, 0, 0.3);

		--link-color: var(--link-color-dark);
		--text-color: var(--text-color-dark);

		--card-back-color: var(--card-back-color-dark);
	}

	.title {
		color: var(--primary-accent);
	}
}
