body
{
	margin: 0;
	padding: 0;
	font-family: 'Open Sans Condensed', 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
	font-size: 20px;
	font-stretch: condensed;
	background-color: white !important;
}

a
{
	color: white;
}

.hidden
{
	display: none;
}

#race_header_buttons
{
	position: absolute;
	top: 5px;
	right: 5px;
}
#race_header_buttons > div
{
	margin-left: 10px;
}
.lrc_connection_status
{
	float: right;
	color: white;
}
.popout
{
	float: right;
	display: none;
}
.epd_button_group
{
	float: right;
}
.show_epd
{
	float: right;
}
.show_epd_wide
{
	display: none;
}
.show_epd_narrow
{
}

.row
{
	position: relative;
	overflow: auto;
}
.row:nth-child(n+2)
{
	margin-top: 5px;
}

#scoring_container
{
	overflow: hidden;
	transform-origin: 0 0;
	min-width: 1082px !important;
	max-width: 100%;
}

#results_container
{
	margin-right: 0;
	overflow: hidden;
}

/* Race Header */
#race_info_header,
#race_info_footer,
#flag_containers,
#racers
{
	display: none;
}

.race_info
{
	position: relative;
	background-color: #1d8fb8;
	color: white;
	padding: 5px;
}
.race_info .row
{
	overflow: hidden;
}
.box
{
	border: 1px white solid;
	padding: 2px 5px;
	float: left;
	margin-right: 5px;
	text-align: center;
}
.header
{
	font-size: 0.9em;
	text-align: left;
}
.value,
.sub_value
{
	margin-top: -3px;
	line-height: 1em;
}
.title,
sub_title
{
	height: 1.2em;
}
.race_info .title
{
	font-weight: bold;
}
.race_info .value
{
	font-size: 1.3em;
	font-weight: bold;
}
#class .value,
#class .sub_value
{
	text-align: left;
}

#flag_container
{
	padding: 3px 10px;
	font-size: 36px;
	font-weight: bold !important;
	display: none;
}

#racers
{
}
#racers table
{

	border-spacing: 0 0;
	white-space: nowrap;
	padding: 0;
	margin: 0;
	width: 100%;
}
#racers tr
{
	padding: 0;
	margin: 0;
}
#racers th
{
	background-color: black;
	color: white;
}
#racers th,
#racers td
{
	position: relative;
	margin: 0;
	padding: 0 4px;
	text-align: left;
	overflow: hidden;
	border-left: 4px solid white;
}
#racers th:first-child,
#racers td:first-child
{
	border-left: 0;
}

#racers .pos 			{ width: 60px !important; }
#racers .car_num 		{ width: 60px !important; cursor: pointer; }
#racers .my_racer .car_num { background: red; }
#racers .brand		 	{ width: 56px !important; }
#racers .brand img		{ height: 50px !important; padding-top: 4px; }
#racers .driver_name .flag { height: 32px !important; }
#racers .checkered_flag { background-image: url('/images/checkered_flag.png'); background-repeat: repeat; }
#racers .driver_name 	{ min-width: 300px !important; max-width: none; }
#racers .driver_name .pit { position: absolute; top: 0; right: 0; font-size: 20px; margin: 0; padding: 0; }
#racers .laps 			{ width: 70px !important; }
#racers .lap_time 		{ width: 110px !important; }
#racers .fast_lap 		{ width: 180px !important; }
#racers .difference		{ width: 80px !important; }
#racers .pace 			{ width: 180px !important; }
#racers .eqp 			{ width: 60px !important; }
#racers .elapsed 		{ width: 100px !important; }

#racers .top_consecutive,
#racers .difference,
#racers .sectors,
#racers .fast_lap,
#racers.se_mx .pace,
#racers.se_mx .elapsed,
#racers.se_mx .top_consecutive,
#racers.se_mx .avg_lap
{
	display: none;
}
#racers.se_mx .brand,
#racers.se_mx .fast_lap,
#racers.se_mx .difference,
#racers.se_mx .sectors
{
	display: table-cell;
}

#racers .sectors
{
	display: inline-block;
	float: right;
}
#racers .sectors .sector_outline
{
	background-color: #ff9898;
}

#racers .pos,
#racers .car_num,
#racers .brand,
#racers .laps,
#racers .lap_time,
#racers .fast_lap,
#racers .pace,
#racers .difference,
#racers .eqp,
#racers .elapsed
{
	text-align: center;
}

.racer_line .racer_line_full
{
	height: 60px;
}
.racer_line .racer_line_1
{
	height: 36px;
	line-height: 36px;
	font-size: 36px;
}
.racer_line .racer_line_2
{
	height: 24px;
	line-height: 24px;
	font-size: 22px;
	white-space: nowrap;
	overflow: hidden;
}

#racers .done
{
	background-color: #ff7676;
}
#racers .done td
{
	border-left-color: #ff7676;
}

.racer_line .pos .bg1
{
	position: absolute;
	top: 0;
	left: 0;
	border-top: 64px solid black;
	border-right: 15px solid transparent;
	height: 0;
	width: 53px;
}
.racer_line .pos .bg2
{
	position: absolute;
	top: 0;
	left: 0;
	border-top: 64px solid #1d8fb8;
	border-right: 15px solid transparent;
	height: 0;
	width: 49px;
}
.racer_line .pos .bg2.off_track
{
	border-top: 60px solid red;
}
.racer_line .pos .bg2.dq
{
	border-top: 60px solid black;
}
.racer_line .pos .num
{
	position: absolute;
	top: 0;
	left: 0;
	width: 49px;
	line-height: 60px;
	font-size: 50px;
	font-weight: bold;
	color: white;
	text-align: center;
}

.racer_line .car_num .number_plate
{
	font-size: 36px;
	line-height: 44px;
	font-weight: bold;
	color: black;
	text-align: center;
	min-width: 44px;
	height: 44px;
	border: 4px black solid;
	border-radius: 15px;
	background-color: white;
}

.racer_line .racer_profile
{
	color: inherit;
	text-decoration: none;
}

.racer_line .progress .progress_bar_border
{
	position: absolute;
	left: 0;
	bottom: 3px;
	width: 200px;
	height: 12px;
	border: 2px black solid;
}
.racer_line .progress .progress_bar_status
{
	width: 0;
	height: 12px;
	width: 100%;
	background-color: #808080;
}
.racer_line .progress .progress_bar_status.ok
{
	background-color: green;
}
.racer_line .progress .progress_bar_status.close
{
	background-color: #ff6a00;
}
.racer_line .progress .progress_bar_status.late
{
	background-color: red;
}

.racer_line .joker
{
	position: absolute;
	top: 3px;
	right: 3px;
	width: 28px;
	height: 30px;
	background: url('/images/icons/joker_lane_icon.png');
	background-size: 28px 30px;
	background-repeat: no-repeat;
}
.racer_line .joker-unused
{
	opacity: 0.2;
}

.racer_line_border:not(:last-child)
{
	height: 4px;
	background-color: black;
}

#epd_container
{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	background: #efefef;
	display: none;
	white-space: nowrap;
	width: 400px;
	border-left: 3px solid black;
}
#epd_container .title_container
{
	background-color: #d4d4d4;
	height: 60px;
}
#epd_container .icon
{
	position: absolute;
	top: 5px;
	bottom: 5px;
	left: 5px;
	line-height: 50px;
	font-size: 50px;
}
#epd_container .title
{
	position: absolute;
	top: 5px;
	left: 55px;
	right: 0;
	line-height: 25px;
	font-size: 25px;
}
#epd_container .subtext
{
	position: absolute;
	top: 35px;
	left: 55px;
	line-height: 18px;
	font-size: 18px;
}
#epd_container .close
{
	position: absolute;
	top: 5px;
	right: 5px;
	line-height: 20px;
	font-size: 20px;
	cursor: pointer;
}

#epd_container .class_name
{
	height: 30px;
	background-color: #e6e6e6;
	font-size: 20px;
	line-height: 30px;
	padding: 0 3px;
	border: 5px solid #9d9d9d;
	overflow: hidden;
}

#epd_data
{
	position: absolute;
	top: 100px;
	bottom: 0;
	left: 0;
	right: 0;
	font-size: 20px;
	overflow-y: auto;
}
#epd_data table
{

	border-spacing: 0 0;
	white-space: nowrap;
	padding: 0;
	margin: 0;
	width: 100%;
}
#epd_data tr
{
	padding: 0;
	margin: 0;
}
#epd_data th
{
	background-color: #d4d4d4;
	color: black;
}
#epd_data th,
#epd_data td
{
	position: relative;
	margin: 0;
	padding: 0 3px;
	text-align: left;
	overflow: hidden;
	border-left: 1px solid #9d9d9d;
	border-bottom: 1px solid #9d9d9d;
	overflow: hidden;
}
#epd_data td
{
	background-color: white;
}
#epd_data th:first-child,
#epd_data td:first-child
{
	border-left: 0;
}

#epd_data .up
{
	background-color: #90ee90;
}
#epd_data .down
{
	background-color: #ffc0cb;
}
#epd_data .in_race
{
	background-color: #fffb39;
}

#epd_data .pos 			{ width: 45px !important; }
#epd_data .chg 			{ width: 50px !important; }
#epd_data .driver_name 	{ min-width: 150px !important; }
#epd_data .result 		{ min-width: 80px !important; }

#epd_data .pos,
#epd_data .chg
{
	text-align: center;
}

.button_group
{
	margin: 0;
	padding: 0;
	font-size: 0;
}
button,
.button_group button
{
	font-size: 20px;
	display: inline-block;
	border-radius: 5px;
	margin: 0;
	padding: 2px 5px;
	color: black;
	background-color: white;
	border: 2px solid #999;
	cursor: pointer;
}
.button_group button
{
	border-right: 0;
}
.button_group button:last-child
{
	border-right: 2px solid #999;
}
.button_group button:not(:last-child)
{
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}
.button_group button:not(:first-child)
{
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}
.button_group button.header
{
	cursor: default;
	color: white;
	background-color: black;
	border-color: black;
}
.button_group button.selected
{
	background-color: #ccc;
}
.button_group button:active
{
	background-color: #ccc;
}

#modals
{
	display: none;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 99999;
}
#modals .modal-backdrop
{
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: black;
	opacity: .8;
}
#modals .modal-body
{
	position: fixed;
	top: 10%;
	bottom: 10%;
	left: 20%;
	right: 20%;
	background: white;
	border: 5px solid black;
	border-radius: 10px;
	filter: drop-shadow(0 0 10px white);
	padding: 5px;
}
#modals .modal-close
{
	position: absolute;
	top: -4px;
	right: 0;
	color: red;
}
.profile_image
{
	border: 2px solid black;
}
