@font-face {
	font-family: proxima-nova;
	font-display: swap;
	src: url('/fonts/Proxima Nova Regular.ttf');
}

@font-face {
	font-family: proxima-nova;
	font-display: swap;
	src: url('/fonts/Proxima-Nova-Light.ttf');
	font-weight: 200;
}

@font-face {
	font-family: proxima-nova;
	font-display: swap;
	src: url('/fonts/Proxima_Nova_Extrabold.ttf');
	font-weight: bold;
}

@keyframes fade {
  0% { opacity: 1 }
  50% { opacity: 0.5 }
  100% { opacity: 1 }
}

.facebookButton{
	cursor: pointer;
	background-color: #29487D;
	border-radius: 5px;
	color: white;
	padding: 4px;
	margin: 4px;
	text-align: center;
	font-size: 12pt;
	font-weight: bold;
	width: 20px;
}

.notification {
	/*position: absolute;*/
	margin: 0 auto;
	text-align: center;
	border-radius: 10px;
	padding: 5px;
	font-size: 12pt;
	background: white;
	-webkit-box-shadow: 0px 0px 18px 0px rgba(133,133,133,0.55);
	-moz-box-shadow: 0px 0px 18px 0px rgba(133,133,133,0.55);
	box-shadow: 0px 0px 18px 0px rgba(133,133,133,0.55);
	z-index: 100;
}

::-webkit-scrollbar {
    width: 5px;
}


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

*{
	font-family: proxima-nova, arial;
	text-transform: uppercase;
	letter-spacing: 1px;
}

html{
	max-width: 2000px;
	margin: 0 auto;
}

input:focus,
select:focus,
textarea:focus,
button:focus {
    outline: none;
}

a{
	color: inherit;
	text-decoration: none;
}

body{
	margin: 0;
	padding: 0;
}

section{
	padding: 15px 0px;
	height: 150px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 20px;
}

img{
	height: inherit;
}

header{
	text-align: center;
}

nav{
	display: flex;
	align-items: stretch;
	width: 100%;
	color: white;
	/*font-weight: bold;*/
}

	nav .item{
		background-color: var(--main-color);
		overflow-y: hidden;
		height: 16px;
		padding: 10px 15px;
		flex: 1;
		text-align: center;
	}

	nav .live{
		background-color: var(--main-color);
		overflow-y: hidden;
		height: 16px;
		padding: 10px 15px;
		flex: 1;
		text-align: center;
		-webkit-animation: fade 3s linear forwards;
	    animation: fade 3s linear forwards;
	    animation-iteration-count: infinite;
	    -webkit-animation-iteration-count: infinite;
	    width: 10%; 
	    background-color: white; 
	    line-height: 0.7; 
	    color: red; 
	    border: 3px solid red; 
	    padding-bottom: 4px; 
	    font-size: 15pt;
	}

	nav .item div{
		border-top: 4px solid var(--main-color);
	}

	nav div{
		-webkit-transition: height 0.5s, color 0.5s, font-size 0.5s; /* Safari prior 6.1 */
  		transition: height 0.5s, color 0.5s, font-size 0.5s;
		cursor: pointer;
	}

	nav .scale{
		-webkit-transform: scale(1.2,1.2);
		-moz-transform: scale(1.2,1.2);
		-ms-transform: scale(1.2,1.2);
		-o-transform: scale(1.2,1.2);
		transform: scale(1.2,1.2);
	}

	nav .activeItem{
		overflow-y: hidden;
		font-size: 12pt;
		height: 5.5vw;
		min-height: 40px;
		max-height: 50px;
		padding: 10px 15px;
		flex: 1;
		/*width: 18%;*/
		text-align: center;
		color: white;
		background-color: black;
	}

	nav .activeItem div{
		border-top: 4px solid white;
	}

	nav .specialActiveItem{
		overflow-y: hidden;
		padding: 5px 15px 15px 15px;
		flex: 1;
		/*width: 18%;*/
		text-align: center;
		color: white;
		background-color: black;
		height: 16px;
		font-size: 16pt;
	}

	nav span {
		letter-spacing: 1px;
	}

main{
	max-width: 2000px;
	margin: 0 auto;
	padding: 0px 40px;
	height: 100vh;
	width: calc(100% -80px);
	position: relative;
}

table{
	width: 100%;
	border-collapse: collapse;
	overflow-x: scroll;
	font-family: "proxima-nova";
	text-transform: uppercase;
	font-size: 11px;
	letter-spacing: 1px;
	text-align: left;
}

	table .selected td{
		background-color: var(--main-color);
		color: white;
	}

	td:nth-child(odd){
		background-color: #F1F2F2;
	}

	table thead{
		margin-bottom: 0.5rem;
	}	

	table input{
		padding-left: 4px;
		width: calc(100% - 2px);
		border-collapse: collapse;
		box-sizing: border-box;
		border: 1px solid grey;
		border-radius: 20px;
		height: 20px;
	}

	table th{
		padding: 0.5rem 0px;
		/*border: 2px solid white;*/
	}

	table th span{
		cursor: pointer;
	}

	table tbody tr:hover > td{
		color: white;
		background-color: var(--main-color);
	}


	td{
		padding-top: 1rem;
		padding-left: 0.5rem;
	}

.noselect {
  -webkit-touch-callout: none;
    -webkit-user-select: none;
     -khtml-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;            
}

.visibleBlack { /*tem de ficar sempre antes do .hover - Podium - search - makeEveryTextVisible() */
	color: black;
}

.hover > td{
	color: white;
	background-color: var(--main-color);
}

.invisible {
	color: rgba(0,0,0,0);
}

#langSelect{
	-webkit-transition: width 0.5s;
	transition: width 0.5s;
	cursor: pointer;
	height: 30px;
	width: 30px;
	overflow-y: hidden;
	margin-right: 10px;
}

#langSelect:hover, #langDiv:hover > #langSelect{
	-webkit-transition: width 0.5s;
	transition: width 0.5s;
	height: 30px;
	width: 150px;
}

#menu{
	max-height: 70px;
	height: calc(20px + 5.5vw);
	font-weight: bold;
	font-size: 10pt;
	margin-bottom: 25px;
}

#mainSearchInput{
	border: none; 
	border-bottom: 2px solid white; 
	color: white; 
	background: none; 
	width: 92%; 
	font-size: 15pt;
}

#MainSearchList{
	transition: max-height 0.2s; 
	background: black; 
	width: 100%; 
	overflow-y: scroll; 
	overflow-x: hidden; 
	max-height: 0; 
	z-index: 1; 
	left: -40px; 
	text-align: center; 
	border-radius: 0px 0px 20px 20px;
}

	#MainSearchList .result:active{
		opacity: 0.5;
	}

#logoEvento{
	height: 30%;
}

#topBar{
	z-index: 10;
	position: relative;
	width: 100%;
	background-color: white;
	text-align: center;
	height: 40px;
	padding: 10px 0px;
	-webkit-box-shadow: 0px -10px 31px 0px rgba(189,189,189,1);
	-moz-box-shadow: 0px -10px 31px 0px rgba(189,189,189,1);
	box-shadow: 0px -10px 31px 0px rgba(189,189,189,1);
}

.numOfResults{
	background-color: var(--main-color);
	text-align: center;
	color: white;
	padding: 15px;
	margin: 20px 0px;
	font-size: 20px;
	letter-spacing: 2px;
	/*font-weight: bold;*/
}

#registered, #individual{
	width: 100%;
}

#percursoIndividualFilter .option {
	background-color: black;
	height: 50px;
	font-size: 15pt;
	flex: 1;
	display: flex;
	align-items: center;
	margin: 1px;
	margin-top: 3px;
	justify-content: center;
	cursor: pointer;
	opacity: 0.6;
	font-weight: bold;
}

#percursoIndividualInfo, #percursoPodiumInfo, #percursoLiveInfo{
	position: absolute;
	top: -20px;
	height: 20px;
	font-size: 10pt;
	display: flex;
	align-items: center;
	margin: 0px;
	padding: 0px 15px;
	justify-content: flex-end;
	font-weight: bold;
	color: black;
	box-sizing: border-box;
	width: 100%;
}

	#percursoIndividualInfo span{
		cursor: pointer;
	}

/*#percursoIndividualInfo .selected {
	opacity: 1;
}

#percursoIndividualFilter .selected {
	opacity: 1;
}*/

.resetAllButton{
	margin: 1px; 
	color: white; 
	background-color: red; 
	height: 50px; 
	width: 50px; 
	appearance: none; 
	border: none; 
	cursor: pointer; 
	font-size: 15pt;
	background-image: url(/img/broomIcon.svg); 
	background-repeat: no-repeat; 
	background-origin: content-box;
	background-position: center;
}

.searchAthleteButton{
	color: white; 
	background-color: black; 
	height: 50px; 
	width: 50px; 
	appearance: none; 
	border: none; 
	cursor: pointer; 
	font-size: 15pt;
}

filters, .filters{
	display: flex;
	justify-content: center;
	margin: 20px 0px;
	color: white;
	width: 100%;
}

	filters filter, .filters div, .filters filter, li filter{
		position: relative;
		flex: 1;
		text-align: center;
		margin: 1px;
	}
		
		filters select, .filters select, filter select{
			color: white;
			-webkit-appearance: none;
			-moz-appearance: none;
			-o-appearance: none;
			appearance: none;
			padding: 0px 5px;
			padding-left: 15%;
			height: 50px;
			width: 100%;
			text-align: center;
			background-image: url(/img/selectArrow.svg);
			background-size: 20px;
			background-repeat: no-repeat;
			background-position-x: calc(100% - 10px);
			background-position-y: 23px;
			background-color: black;
			border: none;
			border-radius: 0px;
			font-size: 1.2vw;
			font-weight: bold;
		}

		filter label{
			position: absolute; 
			color: black; 
			top: -20px; 
			padding-left: 4px;
		}

		.filters button{
			cursor: pointer;
			color: white;
			-webkit-appearance: none;
			-moz-appearance: none;
			-o-appearance: none;
			appearance: none;
			padding: 0px 5px;
			height: 50px;
			width: 100%;
			text-align: center;
			background-color: black;
			border: none;
			border-radius: 0px;
			font-size: 1.2vw;
			font-weight: bold;
		}

		emptyFilter, .empty{
			-webkit-appearance: none;
			-moz-appearance: none;
			-o-appearance: none;
			appearance: none;
			height: 50px;
			width: 100%;
			background-color: #EFEFEF;
			border: none;
			border-radius: 0px;
			opacity: 1;
			position: relative;
			flex: 1;
			margin: 1px;
		}

		.toEmpty{

		}

		filters .disabled, .filters .disabled, #AtletaFilters .disabled{
			background-image: none;
		}


#Atleta .mediaButton{
	cursor: pointer;
	background-color: #B4B5B4;
	border-radius: 5px;
	padding: 4px;
	margin: 4px;
}

	#atletaImagem {
		-webkit-box-shadow: 0px 0px 40px 0px rgba(0,0,0,0.2);
		-moz-box-shadow: 0px 0px 40px 0px rgba(0,0,0,0.2);
		box-shadow: 0px 0px 40px 0px rgba(0,0,0,0.2);
		width: 100%;
	}

	#athleteHeader{
		margin-bottom: 80px; 
		width: 100%; 
		display: flex; 
		align-items: center; 
		flex-flow: column;
	}

		#athleteSearchTitle{
			font-size: 30pt; 
			font-weight: bold; 
			letter-spacing: 5px;
		}

		.search{
			margin: 1px;
			display: flex; 
			justify-content: center;
			align-items: center;
			background-color: black;
			text-align: center;
			color: white;
		}

			.search i{
				cursor: pointer; 
				font-size: 22pt;
				color: inherit;
			}

			.search input{
				margin-right: 10px;
				width: 120px;
				appearance: none;
				-webkit-appearance: none;
				border: none;
				font-size: 20pt;
				background-color: inherit;
				color: inherit;
				text-align: center;
				font-weight: bold;
				border-bottom: 2px solid white;
			}


		#atletaTitulo, #equipaTitulo {
			background-color: var(--main-color); 
			height: 60px; 
			width: 100%; 
			display: flex;
			position: relative;
			color: white;
		}


		#podio {
			margin: 40px 0px;
			flex-grow: 2
			/*width: 50%;*/
		}

		#podio table{
			text-align: center;
			width: 650px;
		}

			#podio table tr:hover > td{
				color: white;
				background-color: var(--main-color);
			}

			#podio td:nth-child(odd){
				background-color: white;
			}

			#podio td:nth-child(even){
				background-color: #F1F2F2;
			}

			#podio table th{
				background-color: var(--main-color);
				color: white;
				font-weight: bold;
			}

		.tabelaSimples{
			width: 100%;
			overflow-x: scroll;
		}

		.tabelaSimples table{
			text-align: center;
		}

			.tabelaSimples thead{
				position: sticky;
				top: 0
			}

			.tabelaSimples table thead tr{
				background-color: #A8A9AC; 
				height: 40px; 
				text-align: center; 
				font-size: 12pt;
			}

			.tabelaSimples td{
				padding: 0.5rem;
			}

	#infoAtleta{
		flex: 1;
		width: 100%;
		list-style: none;
	}

		#infoAtleta .item{
			font-size: 17pt;
		}

	#altimetryAndMap button{
		transition: background-color 0.2s;
		appearance: none;
		-webkit-appearance: none;
		border: none;
		background-color: white;
		width: 50%;
		padding: 0px;
		margin: 0px;
		height: 30px;
		cursor: pointer;
	}


.closerLinesTop > td {
	padding-top: 0px;
}

.closerLinesBottom > td {
	padding-bottom: 0px;
}

.clickable:hover{
	text-decoration: underline;
	font-weight: bold;
	cursor: pointer;
}

/*@media only screen and (max-width: 800px) {
	main {
  		padding: 0px;
  		width: 100%;
  	}

  	filters{
		display: flex;
		justify-content: center;
		flex-flow: column;
		margin: 20px 0px;
	}

		filters div{
			width: 100%;
			text-align: center;
			margin-top: 2px;
		}

			filters select{
				font-size: 16px;
			}

	#menu{
		overflow-x: scroll;
	}

	#registeredTable{
		font-size: 9px;
	}
	
	#registeredTable input{
		font-size: 16px;
	}

	#registeredTable tbody tr{
		border-bottom: 1px solid grey;
	}
}
*/