body
{
	margin: 0;
	padding: 0;
	font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-size: 14px;
}

#debug
{
	display: none;
	position: fixed;
	bottom: 0;
	right: 0;
	width: 900px;
	height: 500px;
	border: 2px solid black;
	background: white;
	color: black;
	white-space: pre;
	padding: 5px;
}

ul,
li
{
	margin: 0;
	padding: 0;
}

.hidden
{
	display: none;
}

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

.lrc_connection_status
{
	display: none;
	position: absolute;
	top: 250px;
	right: 5px;
	width: 20px;
	height: 20px;
	color: white;
}

#container
{
	position: absolute;
	top: 0;
	left: 0;
	width: 1920px;
	height: 1080px;
	overflow: hidden;
	padding: 0;
	margin: 0;
	/*background-color: aqua;*/
}

#ticker
{
	position: absolute;
	top: 10px;
	left: 10px;
	width: 1900px;
	height: 175px;
	overflow: hidden;
	/*background-color: rgba(150, 150, 0, 1.0);*/
	padding: 0;
	margin: 0;
}
#ticker-top_bar
{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 65px;
	background-color: red;
}
#ticker-clock
{
	position: absolute;
	top: 4px;
	bottom: 4px;
	left: 4px;
	width: 180px;
	line-height: 55px;
	font-size: 55px;
	font-weight: bold;
	color: white;
	text-align: center;
}
#ticker-clock_bg
{
	position: absolute;
	top: 4px;
	bottom: 4px;
	left: 4px;
	width: 180px;
	border-top: 57px solid black;
	border-right: 30px solid transparent;
}
#ticker-logos
{
	position: absolute;
	top: 2px;
	bottom: 2px;
	right: 10px;
}
#ticker-logos img
{
	height: 61px;
}
#ticker-title
{
	position: absolute;
	top: 8px;
	left: 230px;
	line-height: 49px;
	font-size: 49px;
	font-weight: bold;
	color: white;
	text-align: left;
	white-space: nowrap;
}
#ticker-drivers
{
	position: absolute;
	top: 70px;
	height: 55px;
	left: 0px;
	right: 0px;
	display: none;
}
#ticker-drivers .driver
{
	position: relative;
	width: 380px;
	height: 55px;
	vertical-align: top;
	background-color: rgba(0, 0, 0, 0.7);
	margin-right: 5px;
	overflow: hidden;
}
#ticker-drivers .driver:last-child
{
	margin-right: 0;
}
#ticker-drivers .driver .position
{
	position: absolute;
	top: 3px;
	left: 3px;
	bottom: 3px;
	width: 60px;
	line-height: 49px;
	font-size: 49px;
	color: white;
	font-weight: bold;
	text-align: center;
}
#ticker-drivers .driver .line1
{
	position: absolute;
	top: 3px;
	left: 63px;
	right: 0;
	line-height: 26px;
	font-size: 26px;
	color: white;
	font-weight: bold;
	text-align: left;
	white-space: nowrap;
}
#ticker-drivers .driver .line2
{
	position: absolute;
	left: 63px;
	right: 0;
	bottom: 3px;
	line-height: 20px;
	font-size: 20px;
	color: white;
	text-align: left;
	white-space: nowrap;
}
#ticker-drivers .crossed
{
	background-color: rgba(0, 130, 0, 0.7);
}
#ticker-drivers .finished
{
	background-color: rgba(204, 0, 0, 0.7);
}
#ticker-drivers .grp
{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	display: flex;
}
#ticker-auto_cam_following,
#flag_container
{
	display: none;
	position: absolute;
	top: 130px;
	height: 45px;
	line-height: 41px;
	font-size: 35px;
	padding: 2px 3px;
}
#ticker-auto_cam_following
{
	left: 0;
	color: white;
	background-color: rgba(0, 0, 0, 0.7);
}
#ticker-auto_cam_following .title
{
	font-weight: bold;
}

#flag_container
{
	right: 0;
	width: 250px;
	text-align: center;
	opacity: 0.7;
	color: black;
}

#grid
{
	position: absolute;
	top: 0;
	left: 0;
	width: 1920px;
	height: 1080px;
	overflow: hidden;
	padding: 0;
	margin: 0;
}
#grid .pilots
{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	overflow: hidden;
	padding: 0;
	margin: 0;
}
#grid .pilot
{
	position: absolute;
	overflow: hidden;
	padding: 0;
	margin: 0;
	color: white;
	box-sizing: border-box;
	border: 4px red solid;
	display: block;
}
#grid .pilot_nobox
{
	border: none;
	display: none !important;
}
#grid .pilot_leader
{
	border: 4px green solid;
	z-index: 1;
}
#grid .pilot .bg1
{
	position: absolute;
	top: 0;
	left: 0;
	width: 41px;
	border-top: 57px solid white;
	border-right: 30px solid transparent;
}
#grid .pilot .bg2
{
	position: absolute;
	top: 0;
	left: 0;
	width: 36px;
	border-top: 57px solid red;
	border-right: 30px solid transparent;
}
#grid .pilot .grid_crossed
{
	border-top-color: 57px solid green;
}
#grid .pilot .position
{
	position: absolute;
	top: 0;
	left: 5px;
	width: 30px;
	height: 51px;
	line-height: 51px;
	font-size: 51px;
	font-weight: bold;
	text-align: center;
}
#grid .pilot .call_sign
{
	position: absolute;
	top: 0;
	left: 0;
	min-width: 120px;
	padding: 2px 6px 2px 68px;
	height: 27px;
	line-height: 25px;
	font-size: 25px;
	background-color: white;
	color: black;
	border-bottom-right-radius: 10px;
}
#grid .pilot .data
{
	position: absolute;
	top: 0;
	right: 10px;
	padding: 0 5px;
	text-align: center;
	line-height: 20px;
	font-size: 16px;
	background-color: red;
	white-space: nowrap;
	border-bottom-left-radius: 7px;
	border-bottom-right-radius: 7px;
}

/* each 3x3 box is 533x300 (including borders) */
/* 536, 535, 536 for column widths */
/* 303, 302, 303 for row heights */
/* OBS offset should be: Pos Y: 148, Crop Bottom: * */
/* Put vertical lines in middle of DVR lines. Add 4px to height (900px) so DVR's horizontal lines appear in the middle of our lines */
#grid.grid_3x3 .pilots
{
	top: 148px;
	left: 161px;
	width: 1599px;
	height: 900px;
}
#grid.grid_3x3 .pilot
{
	width: 536px;
	height: 303px;
}
#grid.grid_3x3 .pilot1
{
	top: 0;
	left: 0;
}
#grid.grid_3x3 .pilot2
{
	top: 0;
	left: 532px;
	width: 535px;
}
#grid.grid_3x3 .pilot3
{
	top: 0;
	left: 1063px;
}
#grid.grid_3x3 .pilot4
{
	top: 299px;
	left: 0;
	height: 302px;
}
#grid.grid_3x3 .pilot5
{
	top: 299px;
	left: 532px;
	width: 535px;
	height: 302px;
}
#grid.grid_3x3 .pilot6
{
	top: 299px;
	left: 1063px;
	height: 302px;
}
#grid.grid_3x3 .pilot7
{
	top: 597px;
	left: 0;
}
#grid.grid_3x3 .pilot8
{
	top: 597px;
	left: 532px;
	width: 535px;
}
#grid.grid_3x3 .pilot9
{
	top: 597px;
	left: 1063px;
}

/* each 3x2 box is 640x360 (including borders) */
/* 643, 642, 643 for column widths */
/* 364 for row heights */
/* OBS offset should be: Pos Y: 148, Crop Bottom: 360 */
/* Put vertical lines in middle of DVR lines. Add 4px to height (724px) so DVR's horizontal lines appear in the middle of our lines */
#grid.grid_3x2 .pilots
{
	top: 148px;
	left: 0;
	width: 1920px;
	height: 724px;
}
#grid.grid_3x2 .pilot
{
	width: 643px;
	height: 364px;
}
#grid.grid_3x2 .pilot1
{
	top: 0;
	left: 0;
}
#grid.grid_3x2 .pilot2
{
	top: 0;
	left: 639px;
	width: 642px;
}
#grid.grid_3x2 .pilot3
{
	top: 0;
	left: 1277px;
}
#grid.grid_3x2 .pilot4
{
	top: 360px;
	left: 0;
}
#grid.grid_3x2 .pilot5
{
	top: 360px;
	left: 639px;
	width: 642px;
}
#grid.grid_3x2 .pilot6
{
	top: 360px;
	left: 1277px;
}
#grid.grid_3x2 .pilot7,
#grid.grid_3x2 .pilot8,
#grid.grid_3x2 .pilot9
{
	display: none;
}

/* each 2x2 box is 960x540 (including borders) */
/* 782 for column widths */
/* 444 for row heights */
/* OBS offset should be: Pos X: 178, Pos Y: 150, Size X: 1564, Size Y: 880 */
/* Put vertical lines in middle of DVR lines. Add 4px to width (1568px) and 4px to height (884px) so DVR's vertical and horizontal lines appear in the middle of our lines */
#grid.grid_2x2 .pilots
{
	top: 148px;
	left: 176px;
	width: 1568px;
	height: 884px;
}
#grid.grid_2x2 .pilot
{
	width: 786px;
	height: 444px;
}
#grid.grid_2x2 .pilot1
{
	top: 0;
	left: 0;
}
#grid.grid_2x2 .pilot2
{
	top: 0;
	left: 782px;
}
#grid.grid_2x2 .pilot3
{
	top: 440px;
	left: 0;
}
#grid.grid_2x2 .pilot4
{
	top: 440px;
	left: 782px;
}
#grid.grid_2x2 .pilot5,
#grid.grid_2x2 .pilot6,
#grid.grid_2x2 .pilot7,
#grid.grid_2x2 .pilot8,
#grid.grid_2x2 .pilot9
{
	display: none;
}

#lower_third
{
	display: none;
	position: absolute;
	bottom: 10px;
	left: 531px;
	width: 976px;
	height: 177px;
	background-repeat: no-repeat;
	overflow: hidden;
}
#lower_third .line
{
	position: absolute;
	overflow: hidden;
	line-height: 50px;
	font-family: 'Open Sans Condensed';
	font-size: 40px;
	font-style: italic;
	color: white;
}
#lower_third .line .txt
{
	padding: 0 10px;
	transform: skewX(26deg);
}
#lower_third .line1
{
	top: 56px;
	left: 45px;
	width: 425px;
	height: 50px;
	border: 3px white solid;
	background: #6d6e71;
	transform: skewX(-26deg);
}
#lower_third .line2
{
	top: 53px;
	left: 46px;
	width: 774px;
	height: 50px;
	border: 3px white solid;
	background: black;
	transform: skewX(-26deg);
}
#lower_third .line3
{
	top: 106px;
	left: 17px;
	width: 930px;
	height: 71px;
	line-height: 71px;
	font-size: 60px;
	font-style: normal;
	color: black;
	padding-left: 10px;
	font-weight: bold;
	transform: skewX(-26deg);
	background: white;
	background: linear-gradient(white, #a4a4a4);
}

#result_box
{
	display: none;
	position: absolute;
	top: 185px;
	left: 460px;
	width: 1000px;
	height: 650px;
	overflow: hidden;
}
#result_box .header
{
	position: absolute;
	text-align: center;
	left: 0;
	right: 0;
	overflow: hidden;
}
#result_box .header1
{
	top: 0;
	height: 60px;
	color: white;
	line-height: 60px;
	font-size: 40px;
	background: #cc0000;
}
#result_box .header2
{
	top: 60px;
	height: 40px;
	line-height: 40px;
	font-size: 25px;
	background: white;
}
#result_box .data
{
	position: absolute;
	top: 100px;
	left: 0;
	right: 0;
	height: 550px;
	color: white;
	overflow: hidden;
}
#result_box .data ul
{
	list-style: none;
}
#result_box .data li
{
	margin-top: 5px;
	background: rgba(0, 0, 0, 0.7);
	height: 50px;
	line-height: 50px;
	font-size: 30px;
}
#result_box .data li .line
{
	position: absolute;
}
#result_box .data li .pos
{
	left: 10px;
	width: 50px;
}
#result_box .data li .driver
{
	left: 70px;
	width: 450px;
}
#result_box .data li .graphic
{
	left: 530px;
	width: 250px;
	text-align: center;
}
#result_box .data li .time_data
{
	left: 790px;
	width: 200px;
	text-align: right;
}

#info_box
{
	display: none;
	position: absolute;
	top: 185px;
	left: 460px;
	width: 1000px;
	height: 650px;
	overflow: hidden;
}
#info_box .header
{
	position: absolute;
	text-align: center;
	left: 0;
	right: 0;
	overflow: hidden;
}
#info_box .header1
{
	top: 0;
	height: 60px;
	color: white;
	line-height: 60px;
	font-size: 40px;
	background: #cc0000;
}
#info_box .header2
{
	top: 60px;
	height: 40px;
	line-height: 40px;
	font-size: 25px;
	background: white;
}
#info_box .data
{
	position: absolute;
	top: 100px;
	left: 0;
	right: 0;
	height: 550px;
	color: white;
	background: rgba(0, 0, 0, 0.7);
	overflow: hidden;
}
#info_box .data ul
{
	margin: 50px 50px 50px 100px;
}
#info_box .data li
{
	height: 100px;
	line-height: 50px;
	font-size: 40px;
}

#event_bug
{
	display: none;
	position: absolute;
	bottom: 10px;
	left: 10px;
	width: 596px;
	height: 152px;
	overflow: hidden;
	padding: 0;
	margin: 0;
}
#event_bug .line
{
	position: absolute;
	left: -30px;
	transform: skewX(-26deg);
}
#event_bug .line1
{
	top: 0;
	width: 602px;
	height: 92px;
	background: #cc0000;
}
#event_bug .line2
{
	top: 92px;
	width: 565px;
	height: 60px;
	background: black;
}
#event_bug .bug
{
	position: absolute;
	top: 0;
	left: 0;
	width: 596px;
	height: 152px;
}

#in_pit_lane
{
	display: none;
	position: absolute;
	bottom: 10px;
	right: 10px;
	width: 600px;
	overflow: hidden;
	padding: 0;
	margin: 0;
	font-size: 24px;
	
	color: white;
}
#in_pit_lane .header
{
	padding: 2px 4px;
	background-color: #cc0000;
	font-weight: bold;
}
#in_pit_lane .drivers
{
	background-color: white;
}
#in_pit_lane .driver
{
	margin-top: 5px;
	padding: 2px 4px;
	background: rgba(0, 0, 0, 0.7);
	overflow: auto;
}
#in_pit_lane .driver .name
{
	float: left;
}
#in_pit_lane .driver .time
{
	float: right;
}
