@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap');
/* :root { */
/*     --bg-color: #fff; */
/*     --text: #000; */
/* 	--color1: #000; */
/* 	--primary: #0000ff; */
/* 	--primary1: #038CFC; */
/* 	--secondary: #018786; */
/* } */

/* [data-theme="dark"] { */
/*     --bg-color: #121212; */
/*     --text: #fff; */
/* 	--color1: #fff; */
/* 	--primary: #BB86FC; */
/* 	--primary1: #BB86FC; */
/* 	--secondary: #03DAC6; */
/* } */
:root {
    --bg-color: #fff;
    --text: #000;
	--color1: #000;
	--primary: #000;
	--primary1: #000;
	--secondary: #000;
}

[data-theme="dark"] {
    --bg-color: #121212;
    --text: #fff;
	--color1: #fff;
	--primary: #fff;
	--primary1: #fff;
	--secondary: #fff;
}

/* ==================== General ==================== */
* {
	box-sizing: border-box;
}


body {
    padding: 20px 40px;
    margin: 0;
    font-family: 'Noto Sans', sans-serif;
    transition: background-color 0.3s, color 0.3s;
    background-color: var(--bg-color);
}
.hidden {
	display: none;
}
a {
	color: var(--primary);
}
.cool-a a{
	color: var(--text);
	text-decoration: underline;
	text-decoration-style: dotted;
	text-underline-offset: 4px;
	text-decoration-thickness: 2px;
}
.cool-a a:hover {
	opacity: 1;
	font-weight: 700;
}
span:hover {
	opacity: 1;
	font-weight: 700;
}
footer {
	padding: 2rem 0;
    text-align: center;
    font-style: italic;
    font-size: 0.75em;
    color: var(--text);
	opacity: 0.6;
}
.left-align {
	align-items: left;
}
.display {
	font-size: 3rem;
	font-weight: 500;
	line-height: 1.2;
	margin-top: 0;
	margin-bottom: 0.5rem;
	color: var(--text);
	font-weight: 400;
}
.display1 {
	color: var(--primary1);
	font-size: 1.5rem;
	font-weight: 500;
	margin-top: 0;
	margin-left: 0;
	margin-bottom: 0.5rem;
}
.display2 {
	color: var(--secondary);
	font-size: 1.5rem;
	font-weight: 500;
	margin-top: 0;
	margin-left: 0;
	margin-bottom: 0.5rem;
}
.texto {
    font-size: 1.25rem;
    line-height: 1.5;
    margin-bottom: 1rem;
	color: var(--text);
	font-weight: 370;
	opacity: 0.8;
}
.container {
    width: 100%;
    padding-right: 25px;
    padding-left: 25px;
    margin-right: auto;
    margin-left: auto;
}
.row {
	display: flex;
	flex-wrap: wrap;
	margin-right: -15px;
	margin-left: -15px;
}
.row .row {
	margin-right: 0;
	margin-left: 0;
}
.row > * {
	padding: 15px;
	flex: 1 0 0;
	box-sizing: border-box;
}
.leftRule{
	border-left: 4px solid var(--text);
	padding-left: 10px;
}
.col-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
.col-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
.col-3 { flex: 0 0 25%; max-width: 25%; }
.col-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
.col-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
.col-6 { flex: 0 0 50%; max-width: 50%; }
.col-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
.col-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
.col-9 { flex: 0 0 75%; max-width: 75%; }
.col-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
.col-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
.col-12 { flex: 0 0 100%; max-width: 100%; }

/* ============== Navbar ======================= */
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1000;
	background-color: var(--bg-color);
	padding-top: 77px;
}
.main {
	padding-top: 80px;
}
.vintellx {
    font-size: 1.5rem;
    font-weight: 500;
	text-decoration: none;
	font-style: bold;
	color: var(--text);
}
.vintellx a, .vintellx a:visited {
	color: inherit;
}

.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
	margin-right: 30px;
	margin-left: 30px;
	border-bottom: 1px solid var(--color1);
}
.navMiddle {
	display: flex;
	gap: 1rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.navRight {
    display: flex;
    align-items: center;
}
.navMenu {
    display: flex;
    gap: 1rem;
    list-style: none;
    margin: 0;
    padding: 0;
	color: var(--text);
	flex-direction: row;
	position: relative;
	z-index: 1000;
}
.navItem {
	font-size: 1.15rem;
	font-weight: 250;
}
.navItem a {
    text-decoration: none;
    color: inherit;
}
.active {
	font-weight: 400;
}
.navItem a:hover {
	font-weight: 400;
}
.menuIcon {
    display: none;
    flex-direction: column;
    cursor: pointer;
    margin-left: 10px;
}
.menuIconLine {
    width: 25px;
    height: 3px;
    background-color: var(--color1);
    margin: 4px 0;
}
.themeToggle {
    background: none;
    border: none;
    cursor: pointer;
    margin-left: 10px;
	color: var(--color1);
}
.themeToggle svg {
    width: 24px;
    height: 24px;
    fill: var(--color1);
}

/* ==================== Buttons ==================== */
.inlineblock {
	display: inline-block;
}
.button1 {
	display: inline-block;
	text-align: center;
	font-size: 1rem;
	font-weight: 400;
	padding: 0.5rem 1rem;
	border: 1px solid var(--color1);
	border-radius: 5px;
	opacity: 0.8;
	color: var(--color1);
	text-decoration: none;
	margin-bottom: 0.2rem;
}
.button1:hover {
	background-color: var(--color1);
	color: var(--bg-color);
}

.button2 {
	display: inline-block;
	text-align: center;
	font-size: 1rem;
	font-weight: 400;
	padding: 0.5rem 1rem;
	border: 1px solid var(--color1);
	border-radius: 50px;
	opacity: 0.8;
	color: var(--color1);
	text-decoration: none;
	margin-bottom: 0.2rem;
}
.button3 {
	display: inline-block;
	text-align: center;
	font-size: 1rem;
	font-weight: 400;
	padding: 0.5rem 1rem;
	border: 1px solid var(--secondary);
	border-radius: 50px;
	opacity: 0.8;
	color: var(--secondary);
	text-decoration: none;
	margin-bottom: 0.2rem;
}
.button4 {
	display: inline-block;
	text-align: center;
	font-size: 1rem;
	font-weight: 400;
	padding: 0.5rem 1rem;
	border: 1px solid var(--secondary);
	border-radius: 50px;
	opacity: 0.8;
	color: var(--secondary);
	text-decoration: none;
	margin-bottom: 0.2rem;
}
.button3:hover {
	background-color: var(--secondary);
	color: var(--bg-color);
}
.btn-color2 {
	color: var(--primary1);
	border: 1px solid var(--primary1);
}
.button-small {
	font-size: 0.77rem;
	padding: 0.25rem 0.5rem;
}
.button-medium {
	font-size: 0.9rem;
	padding: 0.3rem 0.7rem;
}

/* ==================== Index Page ==================== */
.socials{
  height: auto;
  width: auto;
  display: block;
  margin-left: auto;
  margin-right: auto;
  font-size: 0.85rem;
}
.mail{
	width: auto-adjust;
	font-size: 0.87rem;
	height: auto-adjust;
	color: var(--text);
	font-weight: 310;
}

/* ============== Project Page ======================= */
.project-title {
	font-size: 1.5rem;
	font-weight: 550;
	margin-bottom: 0.2rem;
	margin-top: 0;
	color: var(--text);
	opacity:0.9;
}
.proj-li {
	font-weight: 500;
	color: var(--text);
	font-size: 1.4rem
}
.btn-ul {
	list-style-type: none;
	padding: 0;
}
.project-desc {
	font-size: 1.25rem;
	font-weight: 300;
	margin-bottom: 0.2rem;
	color: var(--text);
	margin-top: 0.2rem;
}
.project-links {
	font-size: 1.1rem;
	font-weight: 250;
	line-height: 1.5;
	margin-top: 0.3rem;
	margin-bottom: 1rem;
	color: var(--text);
}

/* ============== Blog Page ======================= */
.blog-title {
	font-size: 1.5rem;
	font-weight: 550;
	margin-bottom: 0.2rem;
	margin-top: 0;
	color: var(--primary);
	opacity: 0.9;
}
.blog-li {
	font-weight: 500;
	color: var(--primary);
	font-size: 1.4rem;
	/* opacity: 0.8; */
}
.blog-desc {
	font-size: 1.25rem;
	margin-top: 0;
	font-weight: 300;
	margin-bottom: 0;
	color: var(--text);
}
.blog-info {
	font-size: 1rem;
	font-weight: 250;
	color: var(--text);
	margin-top: 0.4rem;
	margin-bottom: 0rem;
}
.blog-tags{
	margin-top: -1rem;
}
.dispsmall {
	font-size: 1.7rem;
}
.blogInfo{
	font-size:0.7rem;
	margin-bottom:0rem;
	color: var(--text);
	opacity: 0.5;
}
.blogTitle {
	font-size: 2.2rem;
	font-weight: 550;
	line-height: 1.2;
	margin-top: 0;
	margin-bottom: 0.5rem;
	color: var(--text);
}
.blogTexto {
	text-align: justify;
}
.subHead-1 {
	font-size: 1.7rem;
	font-weight: 500;
	line-height: 1.2;
	margin-top: 0;
	margin-bottom: 0.5rem;
	color: var(--text);
	opacity: 0.85;
}
.subHead-2 {
	font-size: 1.55rem;
	line-height: 1.2;
	margin-top: 0;
	margin-bottom: 0.5rem;
	color: var(--text);
	font-weight: 500;
	opacity: 0.85;
}
.subHead-3 {
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.2;
	margin-top: 0;
	margin-bottom: 0.5rem;
	color: var(--text);
	opacity: 0.85;
}
#toc {
    list-style-type: none;
    padding-left: 15px;
}
.toc-listo {
    display: block;
    list-style-type: none;
    margin-left: 0px;
}
.toc-itemo {
    cursor: pointer;
    position: relative;
    padding-left: 20px;
}
.toc-itemo.tocSick > .toc-listo {
    display: block;
}
.tocToggler {
    cursor: pointer;
    margin-right: 5px;
    position: absolute;
    left: 0;
    top: 0;
	color: var(--text);
}
/* ==================== Code Blocks ==================== */
pre, code {
    font-family: 'Fira Code', 'Courier New', monospace;
}

pre {
    background-color: var(--bg-color);
    color: var(--text);
    border: 1px solid var(--color1);
    border-radius: 8px;
    padding: 1rem;
    overflow-x: auto;
    font-size: 0.9rem;
    line-height: 1.5;
    margin: 1rem 0;
}

code {
    background-color: rgba(0, 0, 0, 0.05);
    padding: 0.15rem 0.35rem;
    border-radius: 4px;
    font-size: 0.9rem;
}

/* Dark theme tweaks */
[data-theme="dark"] pre {
    background-color: #1e1e1e;
    border-color: #333;
}

[data-theme="dark"] code {
    background-color: rgba(255, 255, 255, 0.08);
}
/* ============== Spot on fi ======================= */
.song-title {
	font-weight: 500;
	margin-bottom: 0.5rem;
	margin-top: 0;
	color: var(--text);
	font-size:2.3rem;
}
.song-artist {
	margin-bottom: 0.5rem;
	margin-top: 0;
	color: var(--text);
	font-size: 2rem;
	font-weight: 400;
}
.song-ln {
	margin-bottom: 0.5rem;
	margin-top: 0;
	color: var(--text);
	font-size: 1.7rem;
	font-weight: 400;
}
.nosong	{
	font-size: 2.3rem;
	font-weight: 400;
	margin-top: 0;
	margin-bottom: 0.5rem;
	color: var(--text);
	font-weight: 400;
}



/* ==================== Responsive ==================== */
@media (max-width: 1200px) {
	.display {
		font-size: 3rem;
	}
	.dispsmall {
		font-size: 2rem;
	}
	.mail {
		font-size: 0.72rem;
	}
}

@media (max-width: 992px) {
    .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }
	.display {
		font-size: 3rem;
	}
	.dispsmall {
		font-size: 1.7rem;
	}
}

@media (max-width: 768px) {
    .row {
        flex-direction: column;
    }
    .row > * {
        width: 100%;
        flex: none;
    }
    .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }
	.display {
		font-size: 2.4rem;
	}
	.dispsmall {
		font-size: 1.5rem;
	}
	.texto {
		font-size: 1rem;
	}
	.blogTitle{
		font-size: 1.6rem;
	}
	.subHead-1 {
		font-size: 1.35rem;
	}
	.subHead-2 {
		font-size: 1.2rem;
	}
	.subHead-3 {
		font-size: 1.1rem;
	}
	header {
		padding-right: 10px;
		padding-left: 10px;
		padding-top: 25px;
	}
	.main {
		padding-top: 30px;
	}
	.container {
		padding-right: 10px;
		padding-left: 10px;
	}
	.hideonmobile {
		display: none;
	}
	.button-mobile {
		font-size: 0.69rem;
		padding: 0.2rem 0.35rem;
	}
	.navMenu {
        display: none;
        flex-direction: column;
        position: absolute;
		margin-top: 57px;
        top: 0; 
        left: 40px;
		right: 40px;
        background-color: var(--bg-color);
        text-align: left;
        padding: 0.5rem 1px;
		transition: max-height 0.3s ease-in-out;
		border-bottom: 1px solid var(--color1);
    }

    .navMenu.active {
        display: flex !important;
		transition: max-height 0.5s scroll-behavior;
    }
	.navMenu.close {
		display: none;
		transition: max-height 0.5s scroll-behavior;
	}

    .menuIcon {
        display: block;
        cursor: pointer;
    }

    .menuIcon.active .menuIconLine:nth-child(2) {
        opacity: 0;
    }

    .menuIcon.active .menuIconLine:nth-child(1) {
        transform: translateY(8px) rotate(45deg);
		transition: transform 0.3s;
    }

    .menuIcon.active .menuIconLine:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg);
		transition: transform 0.3s;
    }
	.menuIcon.close .menuIconLine:nth-child(1) {
		transform: translateY(0px) rotate(0deg);
		transition: transform 0.3s;
	}

	.menuIcon.close .menuIconLine:nth-child(3) {
		transform: translateY(0px) rotate(0deg);
		transition: transform 0.3s;
	}
	.menuIcon.close .menuIconLine:nth-child(2) {
		opacity: 1;
		transition: opacity 0.3s;
	}
	.song-title {
		font-size: 1.9rem;
	}
	.song-artist {
		font-size: 1.7rem;
	}
	.song-ln {
		font-size: 1.25rem;
	}
	.nosong {
		font-size: 2rem;
	}
}

@media (max-width: 576px) {
    .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }
	header {
		padding-top: 25px;
	}
	.main {
		padding-top: 30px;
	}
	.gpgtexto {
		font-size: 0.9rem;
	}
	.blog-title {
		font-size: 1.2rem;
	}
	.blog-li {
		font-size: 1.2rem;
	}
	.blog-desc {
		font-size: 1.1rem;
	}
	.bog-info {
		font-size: 0.9rem;
	}
}
