/* KEYS */
@keyframes run {
  0% {
    transform: translateY(0%);
  }
  100% {
    transform: translateY(1050%);
  }
}
@keyframes background_car_first {
  0%, 100% {
    transform: translate(0px, 0px);
  }
  50% {
    transform: translate(6%, -6%);
  }
}
@keyframes background_car_second {
  0%, 100% {
    transform: translate(0px, 0px);
  }
  50% {
    transform: translate(6%, -6%);
  }
}
@keyframes game_controller {
  50% {
    transform: translateX(3px) rotate(2deg);
  }
  100% {
    transform: translateX(-3px) rotate(-2deg);
  }
}

/* RESPONSIVE */
@media (orientation: landscape) {

}
@media (orientation: portrait) {	

}
@media (max-width: 899px) {	
	#servers, #servers_car {
		width: 100%;
	}
	#servers {
		flex-direction: column;
	}
	#server:first-child {
		margin-right: auto;
	}
	#server {
		width: 90%;
		margin: auto auto 50px auto;
	}
	#server_map, #server_name {
		font-size: 20px;
	}
	#server_slot {
		font-size: 20px;
	}
	#servers_car {
		height: 300px;
	}
	#first_car {
		width: 62%;
		left: 5%;
	}
	#second_car {
		width: 70%;
		left: 21%;
	}
	.button_join_offline {
		width: 90%;
	}
	.button_join_online {
		width: 90%;
	}
}
@media (min-width: 900px) and (max-width: 1199px) {	
	#servers, #servers_car {
		width: 850px;
	}
	#servers {
		flex-direction: column;
	}
	#server:first-child {
		margin-right: auto;
	}
	#server {
		width: 75%;
		margin: auto auto 50px auto;
	}
	#server_map, #server_name {
		font-size: 21px;
	}
	#server_slot {
		font-size: 21px;
	}
	#servers_car {
		height: 350px;
	}
	#first_car {
		width: 42%;
		left: 15%;
	}
	#second_car {
		width: 50%;
		left: 31%;
	}
	.button_join_offline {
		width: 70%;
	}
	.button_join_online {
		width: 70%;
	}
}
@media (min-width: 1200px) and (max-width: 1399px) {
	#servers, #servers_car {
		width: 1150px;
	}
	#servers {
		flex-direction: row;
	}
	#server:first-child {
		margin-right: 5%;
	}
	#server {
		width: 50%;
		margin: auto auto 0px auto;
	}
	#server_map, #server_name {
		font-size: 22px;
	}
	#server_slot {
		font-size: 22px;
	}
	#servers_car {
		height: 350px;
	}
	#first_car {
		width: 42%;
		left: 15%;
	}
	#second_car {
		width: 50%;
		left: 31%;
	}
	.button_join_offline {
		width: 50%;
	}
	.button_join_online {
		width: 50%;
	}
}
@media(min-width: 1400px) and (max-width: 2099px) {	
	#servers, #servers_car {
		width: 1350px;
	}
	#servers {
		flex-direction: row;
	}
	#server:first-child {
		margin-right: 5%;
	}
	#server {
		width: 50%;
		margin: auto auto 0px auto;
	}
	#server_map, #server_name {
		font-size: 22px;
	}
	#server_slot {
		font-size: 22px;
	}
	#servers_car {
		height: 350px;
	}
	#first_car {
		width: 42%;
		left: 15%;
	}
	#second_car {
		width: 50%;
		left: 31%;
	}
	.button_join_offline {
		width: 50%;
	}
	.button_join_online {
		width: 50%;
	}
}
@media(min-width: 2100px) {	
	#servers, #servers_car {
		width: 2050px;
	}
	#servers {
		flex-direction: row;
	}
	#server:first-child {
		margin-right: 5%;
	}
	#server {
		width: 50%;
		margin: auto auto 0px auto;
	}
	#server_map, #server_name {
		font-size: 22px;
	}
	#server_slot {
		font-size: 22px;
	}
	#servers_car {
		height: 350px;
	}
	#first_car {
		width: 42%;
		left: 15%;
	}
	#second_car {
		width: 50%;
		left: 31%;
	}
	.button_join_offline {
		width: 50%;
	}
	.button_join_online {
		width: 50%;
	}
}

/* BODY */
#first_body {
	padding-bottom: 50px;
	position: relative;
	padding-top: 120px;
	margin-bottom: 150px;
	min-height: 100%;
}

/* SERVERS */
#background_lines {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	height: 100%;
	margin: auto;
	background-color: #171717;
}
#background_line {
	position: absolute;
	width: 1px;
	height: 100%;
	top: 0;
	left: 50%;
	background: rgba(255, 255, 255, 0.1);
	overflow: hidden;
}
#background_line::after {
	content: '';
	display: block;
	position: absolute;
	height: 15vh;
	width: 100%;
	top: -50%;
	left: 0;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #ffffff 75%, #ffffff 100%);
	animation: run 7s 0s infinite;
	animation-fill-mode: forwards;
	animation-timing-function: cubic-bezier(0.4, 0.26, 0, 0.97);
}
#background_line:nth-child(1) {
	margin-left: -25%;
}
#background_line:nth-child(1)::after {
	animation-delay: 2s;
}
#background_line:nth-child(3) {
	margin-left: 25%;
}
#background_line:nth-child(3)::after {
	animation-delay: 2.5s;
}
#servers {
	display: flex;
	margin: auto;
	position: relative;
	color: #FFF;
}
#server {
	position: relative;
	padding: 20px;
	flex: 1 auto;
	font-family: AvenirNextCyrLight;
	height: 500px;
}
#server_logo {
	width: 100%;
	position: relative;
	height: 40%;
}
#server_logo > img {
	width: 80%;
	margin: auto;
	display: block;
	top: 50%;
	transform: translateY(-50%);
	position: relative;
}
#server_description {
	text-align: center;
	font-size: 24px;
	padding-bottom: 40px;
	min-height: 58px;
	padding-top: 20px;
}
#server_map, #server_name {
	font-family: Prototype;
	color: #FFF;
	margin-bottom: 10px;
	text-align: center;
}
#server_slot {
	font-family: Prototype;
	text-align: center;
}
#server_join {
	font-size: 26px;
	font-family: LemonMilkRegular;
	text-align: center;
	color: #FFF;
}
#server_details {
	padding: 40px;
	position: relative;
	height: 196px;
	overflow: hidden;
}
#server_details_left_bottom {
	position: absolute;
	bottom: 0px;
	left: 0px;
	height: 2px;
	width: 50%;
	background: #FFF;
	z-index: 1;
}
#server_details_left {
	position: absolute;
	bottom: 0px;
	left: 0px;
	height: 50%;
	width: 2px;
	background: #FFF;
	z-index: 1;
}
#server_details_right_top {
	position: absolute;
	top: 0px;
	right: 0px;
	height: 2px;
	width: 50%;
	background: #FFF;
	z-index: 1;
}
#server_details_right {
	position: absolute;
	top: 0px;
	right: 0px;
	height: 50%;
	width: 2px;
	background: #FFF;
	z-index: 1;
}
#servers_car {
	position: relative;
	display: block;
	margin: auto;
	top: 175px;
	margin-bottom: 150px;
}
#first_car {
	position: absolute;
	top: 15%;
	animation: background_car_first cubic-bezier(.65,.05,.36,1) 10s 5s infinite;
}
#second_car {
	position: absolute;
	top: 20%;
	animation: background_car_second cubic-bezier(.65,.05,.36,1) 10s 0s infinite;
}
#list_players_connected {
	height: 196px;
	vertical-align: middle;
	overflow-y: auto;
	scrollbar-width: thin;
	width: 80%;
	margin: auto;
	scrollbar-color: #de0505 white;
}
#servers_scroll {
	display: inline-block;
	width: 100%;
	transition: 0.5s;
	position: absolute;
}
#all_servers_F247_scroll, #all_servers_TMFL_scroll {
	left: 0%;
	position: absolute;
	width: 100%;
	transition: 0.5s;
}
.servers_status_TMFL, .servers_status_F247 {
	display: block;
	text-align: center;
}
.servers_players_TMFL, .servers_players_F247 {
	display: none;
	text-align: center;
}
.server_car {
	width: 100%;
	position: relative;
}
.button_join_online {
	text-decoration: none;
	color: #ffffff;
	font-family: LemonMilkRegular;
	border: 2px solid #44bd32;
	padding: 10px;
	cursor: pointer;
	background-color: rgba(68, 189, 50,0.3);
	transform: perspective(1px) translateZ(0);
	display: inline-block;
	transition: 0.3s;
}
.button_join_online::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: #44bd32;
	transform: scaleX(0);
	transition-duration: 0.3s;
	transition-timing-function: ease-out;
}
.button_join_online:hover::before {
	transform: scaleX(1);
}
.button_join_offline {
	text-decoration: none;
	color: #ffffff;
	font-family: LemonMilkRegular;
	border: 2px solid #de0505;
	padding: 10px;
	cursor: default;
	background-color: rgba(222, 5, 5,0.3);
	transform: perspective(1px) translateZ(0);
	display: inline-block;
	transition: 0.3s;
}
.button_join_offline::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: #de0505;
	transform: scaleX(0);
	transition-duration: 0.3s;
	transition-timing-function: ease-out;
}
.game_controller {
	width: 34px;
	top: 2px;
	position: relative;
	right: 15%;
	float: right;
}
.button_join_online:hover .game_controller {
	animation: game_controller 0.15s linear infinite;
}
.servers_players, .servers_status {
	width: 34px;
	position: absolute;
	top: -40px;
	right: 0;
	cursor: pointer;
	padding: 20px;
}
.no_players_connected {
	font-size: 22px;
	font-family: Prototype;
	color: #FFF;
	text-align: center;
	top: 67px;
	position: relative;
}
.players_connected {
	font-size: 25px;
}
.arrow_left_servers {
	width: 34px;
	position: absolute;
	top: calc(50% - 17px);
	left: 20px;
	cursor: pointer;
	transition: 0.3s;
}
.arrow_right_servers {
	width: 34px;
	position: absolute;
	top: calc(50% - 17px);
	right: 20px;
	cursor: pointer;
	transition: 0.3s;
}
.arrow_left_servers:hover {
	transform: translateX(-3px);
}
.arrow_right_servers:hover {
	transform: translateX(3px);
}