/*** Page architecture ***/

html {
	background-color: #D8D8D8;
}

body {
	margin: 8px auto;
	font-family: Merriweather, Georgia, serif;
	}

.standard {
	max-width: 1020px;
}

.larger {
	max-width: 1100px;
}

.extra {
	max-width: 1300px;
}
	
main {
	padding: 1px 10px;
	background-color: #FFF;
	margin: 0 auto;
}



/*** Global ***/

.donate {
	margin-top: 10px;
	float: right;
}

h1 {
	font-family: Montserrat, Helvetica Neue, sans-serif;
	font-size: 30pt;
}

h2 {
	font-family: Montserrat, Helvetica Neue, sans-serif;
	font-size: 23pt;
}

h3 {
	font-family: Montserrat, Helvetica Neue, sans-serif;
	font-size: 18pt;
	margin-top: 10;
}

h4 {
	font-family: Montserrat, Helvetica Neue, sans-serif;
	font-size: 16pt;
	margin-top: 10;
}

p {
	font-weight: normal;
	font-size: 12pt;
	line-height: 140%;
	font-family: Merriweather, Georgia, serif;
}

th {
	background-color: #D8D8D8;
}

.bluelink {
	text-decoration: none;
	color: #0000FF;
}



/*** Tabs at top of page ***/

div.tab {
	overflow: hidden;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	background-color: #f1f1f1;
	margin: 0 auto;
}

div.tab button {
	background-color: inherit;
	border: none;
	outline: none;
	cursor: pointer;
	padding: 5px 10px;
	transition: 0.3s;
	color: #606060;
	font-family: Helvetica, Arial;
	font-weight: bold;
	font-size: 11pt;
}

div.tab button:hover {
	background-color: #ddd;
}



/*** Tables with tabs ***/

.tabletabs button {
	font-size: 10pt;
	border-radius: 10px 10px 0px 0px;
	color: #606060;
	font-family: Helvetica, Arial;
	font-weight: bold;
	background: #ffffff;
	padding: 5px 10px 5px 10px;
	border: solid #D3D3D3 1px;
	border-bottom: 0px;
	text-decoration: none;
	font-size: 11pt;
	outline: none;
}

.tabletabs button:hover {background-color:#D3D3D3}
.tabletabs button:focus {background-color:#909090; color: #FFFFFF}



/*** Headers and footers ***/

.pageheader {
	font-family: Montserrat, Helvetica Neue, sans-serif;
	font-weight: bold;
	text-align: left; 	  
	font-size: 25pt;
	margin: 0 auto;
	padding: 1px 0;
	line-height: 130%;
	}

.pageheader a {
	color: inherit;
	text-decoration: none;
}

.pblogo {
	margin: 4px 4px; 
	float: right;
}

.tabheader {
	overflow: hidden;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	background-color: #f1f1f1;
	margin: 0 auto;
}

.tabheader button {
	border: none;
	padding: 5px 10px;
	color: #606060;
	font-family: Helvetica, Arial;
	font-weight: bold;
	font-size: 11pt;
}

.tabheader button:hover {
	background-color: #ddd;
}

.fed {
	background-color: #000000;
	color: #FFFFFF;
}	

.nsw {
	background-color: #87CEEB;
	color: #FFFF00;
}	

.vic {
	background-color: #000080;
	color: #FFFF00;
}

.qld {
	background-color: #79001F;
	color: #FFFF00;
}

.wa {
	background-color: #000000;
	color: #FFD700;
}

.sa {
	background-color: #FFD700;
	color: #FF0000;
}

.tas {
	background-color: #006A4E;
	color: #FFFF00;
}

.act {
	background-color: #00005B;
	color: #FFD700;
}

.nt {
	background-color: #000000;
	color: #E65A00;
}

.pagefooter {
	margin: auto;
}

.pagefooter.fed {
	border-bottom: 12px solid #000000;
}

.pagefooter.nsw {
	border-bottom: 12px solid #87CEEB;
}

.pagefooter.vic {
	border-bottom: 12px solid #000080;
}

.pagefooter.qld {
	border-bottom: 12px solid #79001F;
}

.pagefooter.wa {
	border-bottom: 12px solid #000000;
}

.pagefooter.sa {
	border-bottom: 12px solid #FFD700;
}

.pagefooter.tas {
	border-bottom: 12px solid #006A4E;
}

.pagefooter.act {
	border-bottom: 12px solid #00005B;
}

.pagefooter.nt {
	border-bottom: 12px solid #000000;
}



/*** ELECTORATE GUIDE SEAT PAGES ***/

.electoratepage {
	display: grid;
	grid-template-columns: 630px 370px;
}

/*** Content section ***/

.candidatesBox {
	font-family: Calibri, Arial, Helvetica, sans-serif; 
	width: 400px;
	padding-left: 80px;
}

.candidatesBoxSmall {
	font-size: 11pt;
}

.candidatesBoxMid {
	font-size: 12pt;
}

.candidatesBoxLarge {
	font-size: 13pt;
}

.candidatesBoxFamily {
	font-size: 15pt;
}

.content {
	float: left;
	overflow: hidden;
	padding-right: 35px;
}

/*** Sidebar section ***/

.sidebar {
	background-color: #FFF;
	float: right;
	margin-bottom: 10px;
}

/* Headings */

.sidebar h1 {
	font-family: Calibri, Arial, Helvetica, sans-serif;
	background-color: #D8D8D8;
	font-size: 14pt;
	font-weight: bold;
	text-align: center;
	margin: 3px 0;
}

/* Sidebar candidates list */

.sidebar .candidatelist, 
.sidebar .seatslist {
    font-family: Calibri, Arial, Helvetica, sans-serif;
    font-size: 12pt;
    width: 100%;
    padding-bottom: 10px;
}

.sidebar .seatslist a {
    text-decoration: none;
}

/* Previous election result bar charts */

.Bar2 {
	width: 370px;
	height: 115px	
}

.Bar3 {
	width: 370px;
	height: 140px	
}

.Bar4 {
	width: 370px;
	height: 160px	
}

.Bar5 {
	width: 370px;
	height: 186px	
}

.Bar6 {
	width: 370px;
	height: 220px	
}

.Bar7 {
	width: 370px;
	height: 236px	
}

/* Previous election result tables */

.tableHead {
	font-family: Calibri, Arial, Helvetica, sans-serif;
	font-size: 12pt;
	font-weight: bold;
	padding: 10px 0;
}

.tableVotes {
	width: 370px; 
	padding-bottom: 20px;
}

/* Previous election result tables: called on by API through cssClassNames */

.resultsHead {
	background-color: #FFF;
	text-align: right;
	font-weight: bold;
	font-size: 12px
}

.resultsRow {
	font-size: 12px
}

.resultsHeadSenate {
	background-color: #FFF;
	text-align: right;
	font-weight: bold;
	font-size: 11px
}

.resultsHeadSenateCands {
	background-color: #FFF;
	text-align: left;
	font-weight: bold;
	font-size: 11px
}

.resultsRowSenate {
	font-size: 11px;
	text-weight: normal 
}

.resultsRowBold {
	font-size: 12px;
	font-weight: bold
}

/* Demography charts */

.demography1 {
	width: 370px;
	height: 100px;
}

.demography2 {
	width: 370px;
	height: 120px;
}

.ancestry {
	width: 180px;
	height: 180px;
}

.ancestryTitle {
	font-family: Calibri, Arial, Helvetica, sans-serif; 
	font-size: 12pt; 
	font-weight: bold;	
	text-align: center;
}

.ancestryLegend {
	display: block;
	margin-left: auto; 
	margin-right: auto;	
}

svg > g > g:last-child { pointer-events: none } /* Stops tooltip flickering



/*** Map ***/
	
/* Booth results window */

table.infowindow {
	width: 100%;
	text-align: center
}

td.boothhead {
	text-align: left;
	font-size: 12pt;
	font-weight: bold
}

td.voteshead {
	text-align: left;
	background-color: #D8D8D8;
	font-weight: bold;
	font-family: Calibri, Arial, Helvetica, sans-serif
}

table.infowindow td {
	font-family: Calibri, Arial, Helvetica, sans-serif
}

.custom-gm-close-button {
    background: none !important;
    display: block !important;
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-transform: none !important;
    appearance: none !important;
    position: relative !important;
    cursor: pointer !important;
    user-select: none !important;
    width: 16px !important; /* Adjust the width as needed */
    height: 24px !important; /* Adjust the height as needed */
    right: 10px !important; /* Adjust the right margin/padding */
}

.custom-gm-close-button span {
    pointer-events: none !important;
    display: block !important;
    width: 16px !important; /* Adjust the width as needed */
    height: 12px !important; /* Adjust the height as needed */
    margin: 4px !important; /* Adjust the margin as needed */
}



/*** Entry pages ***/

body.full {
	max-width: 1400px;
	margin: 8px auto;
	float: none;
	background-color: #FFF;
	display: block;
}

body.wide {
	max-width: 1300px;
	margin: 8px auto;
	float: none;
	background-color: #FFF;	
}

.wide p {
	max-width: 1300px;
	margin: auto;
	float: none;
}

.TableHeader {
	font-family: Calibri, sans-serif;
	font-size: 16px;
}

.Margin {
	font-family: Arial, Helvetica, sans-serif;
	font-weight: normal;
	color: #000000;
}

.TableBody {
	font-family: Arial, Helvetica, sans-serif;
}

.LaborSeat, .LaborSeat a {
	font-family: Arial, Helvetica, sans-serif;
	font-weight: bold;
	color: #FF0000;
}

.LiberalSeat, .LiberalSeat a {
	font-family: Arial, Helvetica, sans-serif;
	font-weight: bold;
	color: #0000FF;
}

.NationalsSeat, .NationalsSeat a {
	font-family: Arial, Helvetica, sans-serif;
	font-weight: bold;
	color: #006C00;
}

.LNPSeat, .LNPSeat a {
	font-family: Arial, Helvetica, sans-serif;
	font-weight: bold;
	color: #008080;
}

.GreensSeat, .GreensSeat a {
	font-family: Arial, Helvetica, sans-serif;
	font-weight: bold;
	color: #32CD32;
}

.KAPSeat, .KAPSeat a {
	font-family: Arial, Helvetica, sans-serif;
	font-weight: bold;
	color: #C0C000;
}

.OtherSeat, .OtherSeat a {
	font-family: Arial, Helvetica, sans-serif;
	font-weight: bold;
	color: #808080;
}


/* Election guide and results page architecture */
	
main {
	background-color: #FFF;
	margin: 0 auto;
	padding: 1px 10px;
	display: block;
}

.sidebar {
	float: right;
}

.fedsidebar {
	vertical-align: top;
}

table.resultstable {
    border-collapse: collapse;
 }	



/*** BludgerTrack ***/

/* Set font size for tabs on poll data table */
.bttab.tabletabs button{
	font-size: 10pt;
}
