@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300..700&display=swap');

body {
	font-family: 'Space Grotesk', sans-serif !important;
	font-size: 16px; /* Define base font size */
}

.loader-container {
	position: fixed;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 9999;
}

.loader {
	position: absolute;
	left: 43.5%;
	top: 50%;
	width: 13%;
	height: auto;
}

.none {
	display: none;
}

#homepage h1, #homepage div{
	text-align: center;
}
#homepage .game{
	border: solid #387adf;
}

.container-game-image {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.container-game-image.horizontal .item-game-image {
	flex: 1 1 410px;
	max-width: 410px;
}
.container-game-image.vertical .item-game-image {
	flex: 1 1 220px;
	max-width: 220px;
}

.item-game-image {
	padding-left: 1rem;
	padding-right: 1rem;
	margin-top: 0.5rem;
	box-sizing: border-box;
}

.item-game-image figcaption {
	font-weight: 400;
	font-size: 11pt;
	text-align: justify;
	margin: 0.5rem;
}

.item-game-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	border-radius: 15px;
	border: solid 4px #387adf;
}

#navbar {
	background: #387adf;
	border-right: 0.25rem solid;
	border-color: #00204e;
}
#ideas a {
	color: black !important;
	font-weight: 400 !important;
}
.title {
	margin: 100px 100px 0px 0px !important;
}

.title h1 {
	font-size: 8rem;
	font-weight: bold !important;
	color: #387adf;
}

.members {
	font-size: 20pt;
}

h2 {
	color: #00204e;
	font-size: 3rem !important;
	font-weight: bold !important;
	border-bottom: 3px solid;
	border-image: linear-gradient(
			90deg,
			rgb(0, 32, 78, 1) 0%,
			rgb(0, 32, 78, 1) 25%,
			rgb(0, 32, 78, 0) 100%
		)
		1;
}

h3 {
	color: #387adf;
	font-size: 2rem !important;
	font-weight: bold !important;
}

h4 {
	color: #387adf;
	font-size: 1.7rem !important;
	font-weight: 400;
	margin-left: 10px;
}
h5 {
	color: #00204e;
	font-size: 1.5rem !important;
	font-weight: 400;
	margin-left: 10px;
}

a {
	color: white !important;
	font-size: 23px !important;
	font-weight: bold !important;
}

p {
	font-size: 23px !important;
}

.nav-link.active {
	color: #423c3c !important;
	border-bottom-width: 3px;
	border-bottom-style: solid;
	border-bottom-color: #423c3c;
	margin: 0;
}

.text-idea {
	text-align: justify;
}

.image-idea-relevant {
	width: 100%;
	box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.15);
	border-radius: 20px;
	border: 3pt solid;
	border-color: #00fa2a;
}

.container-image-idea-1 {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 410px), 1fr));
	justify-content: space-between;
}

.item-image-idea-1 {
	padding-left: 1rem;
	padding-right: 1rem;
}

.item-image-idea-1 img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	border-radius: 20px;
}

.item-image-idea-1 figcaption {
	font-weight: 500;
}

.container-image-idea-3 {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 100rem), 1fr));
	justify-content: space-between;
	text-align: center;
}

.item-image-idea-3 {
	padding-left: 1rem;
	padding-right: 1rem;
}

.item-image-idea-3 img {
	width: 60%;
	height: 60%;
	object-fit: contain;
	border: 2px solid #387adf;
	box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.25);
	border-radius: 20px;
}

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

.container-prototype.horizontal .item-prototype {
	flex: 1 1 410px;
	max-width: 410px;
}
.container-prototype.vertical .item-prototype {
	flex: 1 1 220px;
	max-width: 220px;
}

.item-prototype {
	padding-left: 1rem;
	padding-right: 1rem;
	margin-top: 0.5rem;
	box-sizing: border-box;
}

.item-prototype figcaption {
	font-weight: 400;
	font-size: 11pt;
	text-align: justify;
	margin: 0.5rem;
}

.item-prototype img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	border-radius: 15px;
}

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

.container-playtesting.horizontal .item-playtesting {
	flex: 1 1 600px;
	max-width: 600px;
}
.container-playtesting.vertical .item-playtesting {
	flex: 1 1 350x;
	max-width: 350px;
}

.item-playtesting figcaption {
	font-weight: 400;
	margin-top: 0.5rem;
	margin-bottom: 0.5rem;
}

.item-playtesting {
	padding-left: 1rem;
	padding-right: 1rem;
	box-sizing: border-box;
}

.item-playtesting img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	border-radius: 15px;
}

.playtesting .retroalimentacion b {
	font-size: 15pt;
}
.playtesting .retroalimentacion ul {
	font-size: 12pt;
}
.playtesting .retroalimentacion ul b {
	font-size: 12pt;
}

#tecnologias ul.tecnologias {
	font-size: 20px;
}
.container-tecnologia {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.container-tecnologia .item-tecnologia {
	flex: 1 1 150px;
	max-width: 150px;
	max-height: 150px;
}

.item-tecnologia {
	padding-left: 1rem;
	padding-right: 1rem;
	box-sizing: border-box;
}

.item-tecnologia img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	border-radius: 15px;
}
.item-tecnologia:hover img {
	transform: scale(1.1);
}

#ideas {
	margin: 15rem 15rem 0 0 !important;
}

#about p {
	text-align: justify;
}

.item-idea {
	margin: 10rem 0 0 0;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
	background-image: none;
}
.carousel-control-next-icon:after {
	content: '>';
	font-size: 70px;
	color: #333;
}

.carousel-control-prev-icon:after {
	content: '<';
	font-size: 70px;
	color: #333;
}

#planificacion .roles {
	text-align: center;
}
#planificacion .roles p {
	font-size: 14pt !important;
}

#planificacion .roles div.col{
	padding: 25px;
	margin: 5px;
	border-radius: 20px;
}
#planificacion .roles .emi{
	background-color: #d2e2fa80;
}
#planificacion .roles .dil{
	background-color: #d3d3d380;
}
#planificacion .roles .jon{
	background-color: #bcfffc80;
}
#planificacion .roles .cri{
	background-color: #bdffbd80;
}

#planificacion .plan-playtesting h3 {
	text-align: center;
}
#planificacion .plan-playtesting li {
	font-size: 14pt !important;
}
#planificacion .plan-playtesting .image-plan-playtesting {
	text-align: center;
	margin: 5pt;
}
#planificacion .plan-playtesting .image-plan-playtesting img {
	display: inline-block;
	max-width: 500px;
	max-height: 500px;
	width: 100%;
	height: 100%;
	object-fit: contain;
	border-radius: 15px;
}
#planificacion .plan-playtesting .protocolo li {
	margin-top: 2pt;
	margin-bottom: 2pt;
}
#planificacion table.cronograma{
	border-collapse: separate;
	border-spacing: 10px;
}
#planificacion .cronograma th, #planificacion .cronograma td{
	width: 150px;
	height: 75px;
	border: none;
	text-align: center;
	border-radius: 20px;
	padding: 10px;
	margin: 1px;
	vertical-align: middle;
}
#planificacion .cronograma thead th{
	height: 100px;
	background-color: #387adf;
	color: white;
	font-size: 16pt;
}
#planificacion .cronograma tr td.no-style{
	background-color: transparent !important;
}
#planificacion .cronograma tr.emi th, #planificacion .cronograma tr.emi td{
	background-color: #d2e2fa80;
}
#planificacion .cronograma tr.dil th, #planificacion .cronograma tr.dil td{
	background-color: #d3d3d380;
}
#planificacion .cronograma tr.jon th, #planificacion .cronograma tr.jon td{
	background-color: #bcfffc80;
}
#planificacion .cronograma tr.cri th, #planificacion .cronograma tr.cri td{
	background-color: #bdffbd80;
}

#planificacion .cronograma a{
	color:#333 !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	text-decoration: none !important;
}
#desarrollo .card-body .text-idea{
	font-size: 14pt !important;
}

@media (max-width: 768px) {
	h1 {
		font-size: 4rem !important; /* Tamaño más pequeño para tablets */
	}
}

@media (max-width: 480px) {
	h1 {
		font-size: 3rem !important; /* Tamaño aún más pequeño para móviles */
	}
}

@media (max-width: 992px) {
	#navbar {
		width: 100%;
		height: auto;
		position: relative;
	}
	#navbar ul {
		flex-direction: row;
		justify-content: center;
	}
}
@media (min-width: 992px) {
	.top-nav {
		display: none;
	}
}
@media (max-width: 991px) {
	.col-lg-2,
	.col-lg-8 {
		width: 100%;
	}
}

/* The actual timeline (the vertical ruler) */
.main-timeline-2 {
	position: relative;
}

/* The actual timeline (the vertical ruler) */
.main-timeline-2::after {
	content: '';
	position: absolute;
	width: 3px;
	background-color: #387adf;
	top: 0;
	bottom: 0;
	left: 50%;
	margin-left: -3px;
}

/* Container around content */
.timeline-2 {
	position: relative;
	background-color: inherit;
	width: 50%;
}

/* The circles on the timeline */
.timeline-2::after {
	content: '';
	position: absolute;
	width: 25px;
	height: 25px;
	right: -11px;
	background-color: #387adf;
	top: 15px;
	border-radius: 50%;
	z-index: 1;
}

/* Place the container to the left */
.left-2 {
	padding: 0px 40px 20px 0px;
	left: 0;
}

/* Place the container to the right */
.right-2 {
	padding: 0px 0px 20px 40px;
	left: 50%;
}

/* Add arrows to the left container (pointing right) */
.left-2::before {
	content: ' ';
	position: absolute;
	top: 18px;
	z-index: 1;
	right: 30px;
	border: medium solid white;
	border-width: 10px 0 10px 10px;
	border-color: transparent transparent transparent white;
}

/* Add arrows to the right container (pointing left) */
.right-2::before {
	content: ' ';
	position: absolute;
	top: 18px;
	z-index: 1;
	left: 30px;
	border: medium solid white;
	border-width: 10px 10px 10px 0;
	border-color: transparent white transparent transparent;
}

/* Fix the circle for containers on the right side */
.right-2::after {
	left: -14px;
}

/* Media queries - Responsive timeline on screens less than 600px wide */
@media screen and (max-width: 600px) {
	/* Place the timelime to the left */
	.main-timeline-2::after {
		left: 31px;
	}

	/* Full-width containers */
	.timeline-2 {
		width: 100%;
		padding-left: 70px;
		padding-right: 25px;
	}

	/* Make sure that all arrows are pointing leftwards */
	.timeline-2::before {
		left: 60px;
		border: medium solid white;
		border-width: 10px 10px 10px 0;
		border-color: transparent white transparent transparent;
	}

	/* Make sure all circles are at the same spot */
	.left-2::after,
	.right-2::after {
		left: 18px;
	}

	.left-2::before {
		right: auto;
	}

	/* Make all right containers behave like the left ones */
	.right-2 {
		left: 0%;
	}
}
