@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&display=swap");

:root {
	--bg: #f4f7f0;
	--bgblack: #000;
	--ink: #132a13;
	--ink-soft: #000;
	--ink-soft-hover: #000;
	--card: #ffffff;
	--accent: #304ffe;
	--line: #ececec;
	--white: #fff;
}
@font-face {
	font-family: FWC26;
	font-weight: 100;
	font-stretch: condensed;
	src:
		url(../font/FWC26-NormalRegular.woff2) format("woff2"),
		url(../font/FWC26-NormalThin.woff2) format("woff");
}
@font-face {
	font-family: FWC262;
	font-weight: 100;
	font-stretch: condensed;
	src:
		url(../font/FWC26-NormalThin.woff2) format("woff2"),
		url(../font/FWC26-NormalMedium.woff2) format("woff");
}
html {
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
	background-position: top left;
	background-image: linear-gradient(to top right, #1f1e26, #1f2c57);
	background-color: #1f2c57;
}
* {
	box-sizing: border-box;
}

body {
	margin: 0;
	font-family: "Lato", sans-serif;
	color: var(--ink);
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
	background-position: top center;
	font-size: 1rem;
	background-image: linear-gradient(
		to left top,
		#1f1e26,
		#222131,
		#23243d,
		#22284a,
		#1f2c57
	);
}
h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: "lato", "Segoe UI", sans-serif;
	padding: 0;
	margin: 0;
	font-weight: 800;
}
.text-center {
	text-align: center;
}
input[type="number"] {
	text-align: center;
	font-family: "Lato", sans-serif;
}

input[type="number"]::placeholder {
	text-align: center;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	font-family: "Lato", sans-serif;
	-webkit-appearance: none;
	margin: 0;
}
input[type="number"] {
	font-family: "Lato", sans-serif;
	-moz-appearance: textfield;
}
input:disabled {
	background-color: #ffffff;
	background: #fff;
	color: #000000;
	cursor: not-allowed;
	border-color: transparent;
	font-size: 24px;
	/* Quita la transparencia nativa de iOS */
	opacity: 1;
	/* Fuerza el color del texto en Safari móvil */
	-webkit-text-fill-color: #000;
	font-family: "Lato", sans-serif;
}
.header-app {
	background-color: var(--bgblack);
	position: fixed;
	width: 100%;
	top: 0;
	z-index: 2;
}
.headerSingn {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
}
.white {
	color: var(--bg);
}
.mr-1 {
	margin-right: 10px;
}
.mr-2 {
	margin-right: 15px;
}
.mr-3 {
	margin-right: 20px;
}
.mr-4 {
	margin-right: 25px;
}
.mt-1 {
	margin-top: 10px;
}
.mt-2 {
	margin-top: 15px;
}
.mt-3 {
	margin-top: 20px;
}
.mt-4 {
	margin-top: 25px;
}
.mb-1 {
	margin-bottom: 10px;
}
.mb-2 {
	margin-bottom: 15px;
}
.mb-3 {
	margin-bottom: 20px;
}
.mb-4 {
	margin-bottom: 25px;
}
.container {
	max-width: 1100px;
	margin: 0 auto;
	padding: 1rem 1rem 1rem;
}
.logo {
	height: 60px;
}
.wrap {
	max-width: 400px;
	margin: 0 auto;
	padding: 0 15px 12rem;
}

.hero {
	padding: 1.4rem;
	border: 1px solid var(--line);
	background: linear-gradient(135deg, #132a13, #31572c);
	color: #fff;
	border-radius: 16px;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
}
.btn {
	border-radius: 100px;
	padding: 8px 15px 8px 14px;
	background: #000000;
	border: 0px;
	color: #fff;
	font-family: "Lato";
	font-size: 12px;
	text-transform: uppercase;
}
.btn-save {
	border-radius: 100px;
	padding: 12px 25px 8px 25px;
	background: var(--ink-soft);
	border: 0px;
	color: #fff;
	font-family: "Lato", sans-serif;
	font-size: 12px;
	text-transform: uppercase;
}
button.btn.save-prediction i {
	font-size: 23px;
}
.btn-save:hover {
	background-color: var(--ink-soft-hover);
}
.card-login {
	width: min(420px, 80vw);
	background: #fff;
	border: 1px solid #d9e8ef;
	border-radius: 16px;
	padding: 1.3rem;
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.08);
}
.card {
	background: #fff;
	border-radius: 16px;
	padding: 15px;
}

.error {
	border: 1px solid #f2b9b9;
	color: #7a2121;
	background: #ffe5e5;
	border-radius: 8px;
	padding: 0.6rem;
	margin-bottom: 1rem;
}

label {
	display: block;
	margin: 0.7rem 0 0.35rem;
	font-weight: 700;
}

input {
	font-family: "Lato", sans-serif;
	width: 100%;
	border: 1px solid #cadab7;
	border-radius: 30px;
	padding: 5px 10px;

	font-size: 14px;
}

button {
	width: 100%;
	border: 0;
	border-radius: 20px;
	padding: 0.5rem 2rem;
	background: var(--ink-soft-hover);
	color: #fff;
	font-weight: 700;
	cursor: pointer;
}

a {
	color: #1d4d72;
	text-decoration: none;
	font-size: 0.92rem;
	display: inline-block;
}
.hero h1 {
	font-family: "Lato", sans-serif;
	font-size: 36px;
	font-style: normal;
	font-weight: 900;
	font-stretch: ultra-condensed;
	margin-bottom: 12px;
	text-transform: uppercase;
}

.hero p {
	font-family: "Lato", sans-serif;
	margin: 0;
	opacity: 0.9;
}

.tabs {
	display: flex;
	gap: 0.6rem;
}
.tab-btn {
	border: 1px solid var(--line);
	background: transparent;
	color: #000000;
	border-radius: 999px;
	padding: 0.55rem 1rem;
	cursor: pointer;
	border: 0px;
	font-weight: 700;
	width: 40px;
	height: 40px;
	font-size: 20px;
	padding: 4px;
	text-align: center;
	line-height: 28px;
}
.tab-btn.active {
	background: #ffffff;
	color: #1f2133;
	border: none;
	box-shadow: inset 0px -5px 4px rgb(255 255 255 / 24%);
	margin-bottom: 0px;
	margin-top: 0px;
	backdrop-filter: blur(15px);
	width: 75px;
	border: 1px solid #ffffff;
}
.panel {
	display: none;
	margin-top: 1rem;
	border-radius: 12px;
	overflow: hidden;
}
.sticky {
	position: sticky;
	top: 0px;
	z-index: 1;
	padding-top: 0px;
	padding-bottom: 15px;
}
.stickyCalendar {
	background: #1f2c57;
	background: linear-gradient(
		0deg,
		rgba(31, 44, 87, 0) 0%,
		rgb(31 40 73 / 93%) 25%
	);
	backdrop-filter: blur(6px);
	max-width: 480px;
	margin: auto;
	mask-image: linear-gradient(to bottom, black 88% 90%, transparent 100% 100%);
}
.team-name {
	font-size: 15px;
	height: 30px;
	line-height: 15px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.loginCard {
	position: relative;
	width: 100vw;
	height: 100dvh;
	display: grid;
	place-items: center;
}

.panel.active {
	display: block;
}

.list {
	width: 100%;
}

.list-head,
.list-row {
	display: grid;
	align-items: center;
	border-bottom: 0px solid #edf2e9;
	gap: 0.6rem;
	padding: 0px 0.8rem;
	font-size: 14px;
	background: rgba(255, 255, 255, 0.1);
	margin: 5px 10px;
	border-radius: 50px;
	box-shadow: 0px 0px 5px 1px rgba(0, 0, 0, 0.1);
	color: #fff;
}

.list-head {
	background: var(--accent);
	color: #fff;
	font-size: 0.88rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	font-weight: 700;
}

.list-positions .list-head,
.list-positions .list-row {
	grid-template-columns: 44px minmax(150px, 1fr) 90px;
}

.list-matches .list-head,
.list-matches .list-row {
	grid-template-columns: 170px minmax(220px, 1fr) 110px 120px;
}
.finalizado {
	border: 1px solid red;
}
.list-empty {
	padding: 0.8rem;
	color: #5f7254;
}

.score {
	font-weight: 300;
	text-align: center;
}

.match-teams {
	display: inline-flex;
	text-align: center;
	align-items: center;
	gap: 0.45rem;
	width: 100%;
	justify-content: space-between;
	align-items: flex-start;
}
.horaPartido,
.fechaPartido {
	font-size: 0.8rem;
}
.datePts {
	position: relative;
	display: flex;
	align-content: center;
	justify-content: center;
	align-items: center;
	flex-direction: row;
	margin-bottom: 15px;
	font-size: 14px;
}
.team-flag-img {
	width: 48px;
	object-fit: cover;
	vertical-align: middle;
	margin-bottom: 8px;
}
.home-team {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	text-align: center;
	width: 30%;
	justify-content: center;
}
.away-team {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	text-align: center;
	width: 30%;
	justify-content: center;
}
.vs {
	display: flex;
	flex-direction: row;
	align-content: center;
	justify-content: center;
	align-items: center;
	gap: 10px;
}
.vs-sep {
	color: #5f7254;
	font-weight: 700;
}
.pred-home,
.pred-away {
	width: 35px;
	height: 35px;
	padding: 2px;
}
select#predictionViewMode {
	width: 100px;
	border: 1px solid #a9a9a9;
	padding: 5px 20px 5px 5px;
	border-radius: 12px;
}

.status {
	border: 1px solid #d8e2c8;
	padding: 0.2rem 0.45rem;
	border-radius: 999px;
	font-size: 0.78rem;
}

.status.played {
	background: #dcf7df;
	border-color: #bce6c2;
}

.status.scheduled {
	background: #000000;
	border-color: #000000;
	color: #fff;
}

.toolbar {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
}

.toolbar a {
	color: #1d331c;
	font-weight: 700;
	text-decoration: none;
	margin: 0px;
	font-size: 1rem;
	background: #f1f1f1;
	padding: 5px 15px 3px 15px;
	border-radius: 15px;
	border: 1px solid #d8d8d8;
}

/* Grid helpers similar to Bootstrap */
.row {
	--grid-gutter-x: 1rem;
	--grid-gutter-y: 0;
	display: flex;
	flex-wrap: wrap;
	margin-top: calc(-1 * var(--grid-gutter-y));
	margin-right: calc(-0.5 * var(--grid-gutter-x));
	margin-left: calc(-0.5 * var(--grid-gutter-x));
}
#participantMsg {
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	background: rgba(0, 0, 0, 0.6);
	width: 100%;
	height: 100%;
	padding: 25px;
	border-radius: 12px;
	z-index: 10;
}
button.btn-cerrar {
	margin-top: 25px;
}
.notice {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-content: center;
	justify-content: center;
	align-items: center;
}
.texto-mensaje {
	background: #fff;
	padding: 15px;
	border-radius: 12px;
	width: 100%;
	max-width: 250px;
	height: auto;
}
.oculto {
	display: none;
}

.row > * {
	box-sizing: border-box;
	flex-shrink: 0;
	width: 100%;
	max-width: 100%;
	padding-right: calc(var(--grid-gutter-x) * 0.5);
	padding-left: calc(var(--grid-gutter-x) * 0.5);
	margin-top: var(--grid-gutter-y);
}

.col {
	flex: 1 0 0%;
}

.col-auto {
	flex: 0 0 auto;
	width: auto;
}

.col-1,
.col-xs-1 {
	flex: 0 0 auto;
	width: 8.33333333%;
}
.col-2,
.col-xs-2 {
	flex: 0 0 auto;
	width: 16.66666667%;
}
.col-3,
.col-xs-3 {
	flex: 0 0 auto;
	width: 25%;
}
.col-4,
.col-xs-4 {
	flex: 0 0 auto;
	width: 33.33333333%;
}
.col-5,
.col-xs-5 {
	flex: 0 0 auto;
	width: 41.66666667%;
}
.col-6,
.col-xs-6 {
	flex: 0 0 auto;
	width: 50%;
}
.col-7,
.col-xs-7 {
	flex: 0 0 auto;
	width: 58.33333333%;
}
.col-8,
.col-xs-8 {
	flex: 0 0 auto;
	width: 66.66666667%;
}
.col-9,
.col-xs-9 {
	flex: 0 0 auto;
	width: 75%;
}
.col-10,
.col-xs-10 {
	flex: 0 0 auto;
	width: 83.33333333%;
}
.col-11,
.col-xs-11 {
	flex: 0 0 auto;
	width: 91.66666667%;
}
.col-12,
.col-xs-12 {
	flex: 0 0 auto;
	width: 100%;
}

.offset-1,
.offset-xs-1 {
	margin-left: 8.33333333%;
}
.offset-2,
.offset-xs-2 {
	margin-left: 16.66666667%;
}
.offset-3,
.offset-xs-3 {
	margin-left: 25%;
}
.offset-4,
.offset-xs-4 {
	margin-left: 33.33333333%;
}
.offset-5,
.offset-xs-5 {
	margin-left: 41.66666667%;
}
.offset-6,
.offset-xs-6 {
	margin-left: 50%;
}
.nbg {
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
	background-position: top left;
	background-image: linear-gradient(334deg, #1f2c57, #1f1e26);
	border-radius: 25px;
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.15);
}
.list.list-matches {
	margin-bottom: 6rem;
}

.menu {
	position: fixed;
	bottom: 0;
	background: rgb(255 255 255 / 39%);
	padding: 9px 15px;
	border-radius: 35px;
	left: 50%;
	margin: auto;
	width: auto;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: center;
	justify-content: center;
	align-items: center;
	margin-bottom: 1.5rem;
	transform: translate(-50%);
	backdrop-filter: blur(15px) saturate(20);
	-webkit-backdrop-filter: blur(10px) saturate(180%);
	box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.15);
	box-shadow: inset 0 2px 3px rgba(255, 255, 255, 0.6);
	z-index: 3;
	border: 1px solid rgba(255, 255, 255, 0.25);
}
ul.menu-list {
	display: flex;
	flex-direction: row;
	gap: 1.5rem;
	list-style: none;
	padding: 0;
	margin: 0;
}
ul.menu-list li {
	font-size: 0.6rem;
	font-weight: 700;
	color: #ffffff;
	text-transform: uppercase;

	text-align: center;
}
@media (min-width: 576px) {
	.col-sm {
		flex: 1 0 0%;
	}
	.col-sm-auto {
		flex: 0 0 auto;
		width: auto;
	}
	.col-sm-1 {
		flex: 0 0 auto;
		width: 8.33333333%;
	}
	.col-sm-2 {
		flex: 0 0 auto;
		width: 16.66666667%;
	}
	.col-sm-3 {
		flex: 0 0 auto;
		width: 25%;
	}
	.col-sm-4 {
		flex: 0 0 auto;
		width: 33.33333333%;
	}
	.col-sm-5 {
		flex: 0 0 auto;
		width: 41.66666667%;
	}
	.col-sm-6 {
		flex: 0 0 auto;
		width: 50%;
	}
	.col-sm-7 {
		flex: 0 0 auto;
		width: 58.33333333%;
	}
	.col-sm-8 {
		flex: 0 0 auto;
		width: 66.66666667%;
	}
	.col-sm-9 {
		flex: 0 0 auto;
		width: 75%;
	}
	.col-sm-10 {
		flex: 0 0 auto;
		width: 83.33333333%;
	}
	.col-sm-11 {
		flex: 0 0 auto;
		width: 91.66666667%;
	}
	.col-sm-12 {
		flex: 0 0 auto;
		width: 100%;
	}
}

@media (min-width: 768px) {
	.col-md {
		flex: 1 0 0%;
	}
	.col-md-auto {
		flex: 0 0 auto;
		width: auto;
	}
	.col-md-1 {
		flex: 0 0 auto;
		width: 8.33333333%;
	}
	.col-md-2 {
		flex: 0 0 auto;
		width: 16.66666667%;
	}
	.col-md-3 {
		flex: 0 0 auto;
		width: 25%;
	}
	.col-md-4 {
		flex: 0 0 auto;
		width: 33.33333333%;
	}
	.col-md-5 {
		flex: 0 0 auto;
		width: 41.66666667%;
	}
	.col-md-6 {
		flex: 0 0 auto;
		width: 50%;
	}
	.col-md-7 {
		flex: 0 0 auto;
		width: 58.33333333%;
	}
	.col-md-8 {
		flex: 0 0 auto;
		width: 66.66666667%;
	}
	.col-md-9 {
		flex: 0 0 auto;
		width: 75%;
	}
	.col-md-10 {
		flex: 0 0 auto;
		width: 83.33333333%;
	}
	.col-md-11 {
		flex: 0 0 auto;
		width: 91.66666667%;
	}
	.col-md-12 {
		flex: 0 0 auto;
		width: 100%;
	}
}

@media (min-width: 992px) {
	.col-lg {
		flex: 1 0 0%;
	}
	.col-lg-auto {
		flex: 0 0 auto;
		width: auto;
	}
	.col-lg-1 {
		flex: 0 0 auto;
		width: 8.33333333%;
	}
	.col-lg-2 {
		flex: 0 0 auto;
		width: 16.66666667%;
	}
	.col-lg-3 {
		flex: 0 0 auto;
		width: 25%;
	}
	.col-lg-4 {
		flex: 0 0 auto;
		width: 33.33333333%;
	}
	.col-lg-5 {
		flex: 0 0 auto;
		width: 41.66666667%;
	}
	.col-lg-6 {
		flex: 0 0 auto;
		width: 50%;
	}
	.col-lg-7 {
		flex: 0 0 auto;
		width: 58.33333333%;
	}
	.col-lg-8 {
		flex: 0 0 auto;
		width: 66.66666667%;
	}
	.col-lg-9 {
		flex: 0 0 auto;
		width: 75%;
	}
	.col-lg-10 {
		flex: 0 0 auto;
		width: 83.33333333%;
	}
	.col-lg-11 {
		flex: 0 0 auto;
		width: 91.66666667%;
	}
	.col-lg-12 {
		flex: 0 0 auto;
		width: 100%;
	}
}

@media (min-width: 1200px) {
	.col-xl {
		flex: 1 0 0%;
	}
	.col-xl-auto {
		flex: 0 0 auto;
		width: auto;
	}
	.col-xl-1 {
		flex: 0 0 auto;
		width: 8.33333333%;
	}
	.col-xl-2 {
		flex: 0 0 auto;
		width: 16.66666667%;
	}
	.col-xl-3 {
		flex: 0 0 auto;
		width: 25%;
	}
	.col-xl-4 {
		flex: 0 0 auto;
		width: 33.33333333%;
	}
	.col-xl-5 {
		flex: 0 0 auto;
		width: 41.66666667%;
	}
	.col-xl-6 {
		flex: 0 0 auto;
		width: 50%;
	}
	.col-xl-7 {
		flex: 0 0 auto;
		width: 58.33333333%;
	}
	.col-xl-8 {
		flex: 0 0 auto;
		width: 66.66666667%;
	}
	.col-xl-9 {
		flex: 0 0 auto;
		width: 75%;
	}
	.col-xl-10 {
		flex: 0 0 auto;
		width: 83.33333333%;
	}
	.col-xl-11 {
		flex: 0 0 auto;
		width: 91.66666667%;
	}
	.col-xl-12 {
		flex: 0 0 auto;
		width: 100%;
	}
}

@media (max-width: 720px) {
	.hero h1 {
		font-size: 1.2rem;
	}
	p {
		font-size: 0.9rem;
	}
	.list-head,
	.list-row {
		padding: 0.5rem;
		font-size: 0.86rem;
	}
	.wrap {
		min-height: 100dvh;
		padding-bottom: 7rem;
	}
	.list-matches .list-head,
	.list-matches .list-row {
		grid-template-columns: 1fr;
		gap: 0.35rem;
	}

	.list-positions .list-head,
	.list-positions .list-row {
		grid-template-columns: 38px minmax(120px, 1fr) 70px;
	}
	.team-name {
		font-size: 0.75rem;
	}
}
