.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

.tournament-bracket {
	display: flex;
	flex-direction: column;
	margin-top: 20px !important;

	@media (min-width: 608px) {
		flex-direction: row;
	}
}

.tournament-bracket__round {
	display: block;
	margin-left: -3px;
	flex: 1;
}

.tournament-bracket__round-title {
	color: #9e9e9e;
	font-size: 0.95rem;
	font-weight: 400;
	text-align: center;

	margin-bottom: 0.5em;
}

.tournament-bracket__list {
	display: flex;
	flex-direction: column;
	flex-flow: row wrap;
	justify-content: center;
	height: 100%;
	min-height: 100%;

	padding-bottom: 2em;
	margin-bottom: 2em;
	transition: padding 0.2s ease-in-out, margin 0.2s ease-in-out;
	padding-left: 0 !important;

	@media (max-width: 768px) {
		padding-bottom: 1em;
		margin-bottom: 1em;

	}

	@media (min-width: 608px) {
		margin-bottom: 0;
		padding-bottom: 0;

		border-bottom: 0;
	}

	.tournament-bracket__round:last-child & {
		border: 0;
	}
}

.tournament-bracket__item {
	display: flex;
	flex: 0 1 auto;
	justify-content: center;
	flex-direction: column;
	align-items: flex-start;
	position: relative;
	padding: 2% 0;
	width: 48%;
	transition: padding 0.2s linear;

	&:nth-child(odd) {
		margin-right: 2%;
	}

	&:nth-child(even) {
		margin-left: 2%;
	}

	&::after {
		transition: width 0.2s linear;
	}

	@media (max-width: 768px) {
		width: 100%;

		&:nth-child(odd),
		&:nth-child(even) {
			margin-left: 0;
			margin-right: 0;
		}
	}

	@media (min-width: 608px) {
		padding: 0.5em 1em;
		/*flex-grow: 2;*/
		width: 100%;

		&:nth-child(odd),
		&:nth-child(even) {
			margin: 0;
		}

		&::after {
			position: absolute;
			right: 0;
			content: '';
			display: block;
			width: 1em;
			height: 62%;
			border-right: 2px solid #9e9e9e;
		}

		&:nth-child(odd)::after {
			top: 50%;
			border-top: 2px solid #9e9e9e;
			transform: translateY(-1px);

			.tournament-bracket--rounded & {
				border-top-right-radius: 0.6em;
			}
		}

		&:nth-child(even)::after {
			bottom: 50%;
			border-bottom: 2px solid #9e9e9e;
			transform: translateY(1px);

			.tournament-bracket--rounded & {
				border-bottom-right-radius: 0.6em;
			}
		}

		.tournament-bracket__round:first-child & {
			padding-left: 0;
		}

		.tournament-bracket__round:last-child & {
			padding-right: 0;

			&::after {
				display: none;
			}
		}


	}

	@media (min-width: 1152px) {
		padding: 0.5em 1.5em;

		&::after {
			width: 1.5em;
		}
	}
}

.capitalize {
	text-transform: capitalize;
}

.tournament-bracket__data {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.match-details {
	text-align: left;
	font-size: 0.8rem;
}

.team-name {
	text-transform: uppercase !important;
	text-align: center;
}

.team span {
	font-weight: 500;
}

.tournament-bracket__match {
	border-radius: 10px !important;
	display: flex;
	flex-direction: column;
	width: 100%;
	background-color: #ffffff;
	padding: 0.75em;
	border: 1px solid transparent;
	border-radius: 0.1em;
	box-shadow: 0 2px 0 0 #e5e5e5;
	outline: none;

	transition: padding 0.2s ease-in-out, border 0.2s linear;
	border-bottom: 5px var(--gold) solid;

	@media(max-width: 768px) {
		padding: 0.75em 0.5em;
	}

	@media (min-width: 608px) {

		&::before,
		&::after {
			position: absolute;
			left: 1px;
			z-index: 1;
			content: '';
			display: block;
			width: 1em;
			height: 10%;

		}

		&::before {
			bottom: 50%;
			border-bottom: 2px solid #9e9e9e;
			transform: translate(0, 1px);

			.tournament-bracket--rounded & {
				border-bottom-left-radius: 0.6em;
			}
		}

		&::after {
			top: 50%;
			border-top: 2px solid #9e9e9e;
			transform: translate(0, -1px);

			.tournament-bracket--rounded & {
				border-top-left-radius: 0.6em;
			}
		}
	}

	@media (min-width: 1152px) {

		&::before,
		&::after {
			width: 1.5em;
		}

		&::before {
			transform: translate(0, 1px);
		}

		&::after {
			transform: translate(0, -1px);
		}
	}
}

.tournament-bracket__round:last-child .tournament-bracket__match {

	&::before,
	&::after {
		border-left: 0;
	}

	&::before {
		border-bottom-left-radius: 0;
	}

	&::after {
		display: none;
	}
}

.tournament-bracket__round:first-child .tournament-bracket__match {

	&::before,
	&::after {
		display: none;
	}
}

.tournament-bracket__content {

	width: 100%;



	& .tournament-bracket__team:first-child {
		width: 50%;
		order: 0;
		text-align: right;

		@media (min-width: 608px) and (max-width: 832px) {
			align-items: flex-end;
		}

		& .tournament-bracket__country {
			order: 2;
			justify-content: flex-end;

			@media (min-width: 24em) {
				order: 0;
			}

			@media (min-width: 608px) and (max-width: 832px) {
				flex-direction: column-reverse;
				align-items: flex-end;
			}
		}

		& .tournament-bracket__score {
			order: 0;

			@media (min-width: 24em) {
				order: 2;
			}
		}
	}

	& .tournament-bracket__team:last-child {
		width: 50%;
		order: 2;
		text-align: left;

		@media (min-width: 608px) and (max-width: 832px) {
			align-items: flex-start;
		}

		& .tournament-bracket__country {
			@media (min-width: 608px) {
				justify-content: flex-start;
			}

			@media (min-width: 608px) and (max-width: 832px) {
				align-items: flex-start;
			}
		}

		.tournament-bracket__code {
			order: 1;
		}
	}
}


.tournament-bracket__table {
	width: 100%;
}

.tournament-bracket__caption {
	font-size: 0.8rem;
	color: #BDBDBD;
	font-weight: 300;
	padding-bottom: 0.75em;
}

.tournament-bracket__team {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;


	@media (min-width: 24em) {
		flex-direction: column-reverse;
	}

	@media (min-width: 608px) {
		flex-direction: column-reverse;
	}
}

.tournament-bracket__country {
	font-size: 0.95rem;
	display: flex;
	gap: 5px;
	align-items: center;
	font-weight: bold;

	color: var(--gray3);

	@media (max-width: 768px) {
		margin-top: 0;
	}

	@media (min-width: 608px) and (max-width: 832px) {


		.tournament-bracket__code {
			margin-top: 0.2em;
		}
	}
}

.tournament-bracket__code {
	padding: 0 0.5em;
	color: #212121;
	font-weight: 600;
	text-transform: uppercase;
	border: 0;
	text-decoration: none;
	cursor: help;
	transition: padding 0.2s ease-in-out;

	@media (max-width: 768px) {
		padding: 0 0.25em;
	}

	@media (min-width: 608px) and (max-width: 832px) {
		padding: 0;
	}
}

.masculino .with-score {
	background-color: var(--blue);
}

.femenino .with-score {
	background-color: var(--red);
}

.tournament-bracket__score {
	display: flex;
	flex-direction: column;
	align-items: center;
	background-color: var(--gray);
	padding: 4px 6px;
	border-radius: 5px;
	font-size: 16px;
	font-weight: bold;
	color: white;

	.tournament-bracket__team:first-child & {
		flex-direction: row-reverse;
		padding-left: 0.75em;
	}

	.tournament-bracket__team:last-child & {
		padding-right: 0.75em;
	}
}

.penales {
	font-size: 12px
}

.tournament-bracket__number {
	display: inline-block;
	padding: 0.2em 0.4em 0.2em;
	border-bottom: 0.075em solid transparent;
	font-size: 0.95rem;
	background-color: #F5F5F5;
	border-color: spin(shade(#F5F5F5, 10%), -10);

	.tournament-bracket__team--winner & {
		background-color: #FFF176;
		border-color: spin(shade(#FFF176, 2%), -10);
	}
}

.tournament-bracket__medal {
	padding: 0 0.5em;
}


.extra {
	margin-top: 50px;
}

.border-green {
	border-left: 3px solid rgb(0, 116, 0);
}

.border-blue {
	border-left: 3px solid rgb(0, 0, 182);
}

.border-red {
	border-left: 3px solid rgb(206, 0, 0);
}

.border-header {
	border-left: 3px solid var(--blue);
}

.border-header-red {
	border-left: 3px solid var(--red);
}

.masculino .border-bottom-row td {
	border-bottom: 1px solid var(--blue);
}

.femenino .border-bottom-row td {
	border-bottom: 1px solid var(--red);
}

.masculino .border-bottom-row-light td {
	border-bottom: 1px solid var(--gray2);

}

.femenino .border-bottom-row-light td {
	border-bottom: 1px solid var(--gray2);
}

.team-link {
	color: var(--gray4);
	font-weight: bold;
	;
}

.femenino .team-link:hover {

	color: var(--red);
}

.masculino .team-link:hover {

	color: var(--blue);
}

.table-positions .table td {
	text-align: center;
}