@import url('https://fonts.googleapis.com/css?family=Source+Sans+Pro:400');
/* @import url('normalize.css'); */
/* admin css */

HTML {
	box-sizing:border-box;
	font-size:16px;
}

BODY { font-family: 'Source Sans Pro'; font-size:.95em; line-height: 1.343rem; margin:0 2%; padding:0; border:none; }

H1,H2,H3 { /* font-weight:400; */ }
H1 { font-size: 1.8rem; margin: .67rem 0; line-height: 2.6rem; }
H2 { font-size: 1.5rem; margin: .75rem 0; line-height: 2.165rem; }
H3 { font-size: 1.25rem; margin: .83rem 0; line-height: 1.812rem; }

A { color:#1e0fbe; text-decoration:none; /* color:#00c;  /* #000;*/  }
A:HOVER { text-decoration:underline; background:#ffa; /* #000;*/  }
A:VISITED { /*color:#609; /* #000;*/  }

A.subnav { margin:0 30px 0 0; }

HR { height:1px; border:1px dotted #a0a0a0; margin-top:4em; }

.desktop { display:block; }
.mobile { display:none; }

/**********************************************/

#overlay {
	display:none;
	z-index:2000;
	height:100%;
	width:100%; 
	padding:0;
	position: fixed;
	top: 0;
	left: 0;	
	overflow-x: hidden;
	transition: .5s;
	background-color: rgba(0,0,0,.3);
	cursor: pointer;
}
#overlay_close { margin:0; text-align:right; }
#overlay_close A { text-decoration:none; font-size:5em; }
#overlay_content_wrapper {
	/*height:100%;*/
	margin:0 20% 0 20%;
	padding:5%;
	cursor:default;	
	background:#fff;
}

/**********************************************/

.text_input { width:150px; }

.new {
	display:inline-block;
	color:red; 
	font-weight:bold;    
	/*
	-webkit-transform: rotate(-12deg);
	-moz-transform: rotate(-12deg);
	-ms-transform: rotate(-12deg);
	-o-transform: rotate(-12deg);
	filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2	);
	*/
	}

.new:HOVER { text-decoration:none; }

INPUT { vertical-align:baseline; }
INPUT[type="checkbox"], INPUT[type="radio"] { vertical-align:text-top; }

LABEL { cursor:pointer; }
LABEL:HOVER { background:lightyellow; }

#wrapper, #hbi { 
	width:1450px; 
	/*max-width:90%;*/
	/*min-width:1400px; */
	margin:0 auto;
	padding:0;
	background:#fff;
	} 

#header { padding:20px 0; border-bottom:1px dotted #ccc; }

#col_wrapper { }

#left_col { 
	float:left; 
	width:220px;
	/*max-width:20%;*/
	/*
	width:16%;
	min-width:220px;
	*/
	padding:0;
	margin:0 2% 0 0;
	background:#fff;
	}

#left_col A { }

#left_col DIV#desktop_nav UL {  list-style:none; margin:0; padding:0;   }
#left_col DIV#desktop_nav UL LI { margin:0 0 1em 0;  }

#right_col 	{ 
	float:left; 
	width:auto; 
	width:1200px;	
	/*max-width:80%;*/
	/*
	width:82%;
	min-width:1000px;
	*/	
	margin:0;
	padding:0 0 2em 0;  
	xxxborder-left:1px dotted #ccc;
	background:#fff;
	}


.right_col_nested_col { float:left; margin:0 20px 0 0; padding:10px; width:270px;  border:1px dotted #cccccc; } 

.end_floats { clear:both; }

#footer { display:none; }
#footer A {  }

#hbi { line-height:2em; border-top:1px dotted #ccc; clear:both !important; color:#555; text-align:center;  }
#hbi A { color:#555; text-decoration:underline; }
/*#hbi { 	padding:20px 0; color:#ccc; text-align:center; background:none !important;  }
#hbi A { color:#ccc; }*/

#map { width:600px; height:750px; }

DIV#tabs UL { list-style-type:none; padding:.25em 0; line-height:2em; background:none; }
DIV#tabs UL LI { display:inline-block;   }
DIV#tabs UL LI A { margin:.5em 10px .5em 0; padding:.25em 10px; text-decoration:none; border:1px solid #eee; color:#000; background:lightyellow; }
DIV#tabs UL LI A:HOVER { background:yellow;  }

/*.nested_column { float:left; width:24%; margin:0 1% 4px 0; border:0px dotted #cccccc; padding:0px; font-size:small; }*/
.court_div { float:left; width:24%; margin:0 1% 0 0; }
.courtname {  font-size: 1.25rem; margin: .83rem 0; line-height: 1.812rem; font-weight:bold; }
.courtdescr { margin:-.83rem 0 .83rem; }

.booknow_wrapper { 
	display:none; 
	margin:2em 0 1em; 
	padding:10px; 
	border:1px solid #ccc; 
	white-space:nowrap; 
	background:lightyellow; 
	text-align:left;
	white-space: normal;
	}

.showcancellation { color:#bbb; }
.showcost { margin-left:35px; color:#bbb; }

.court_available { margin-bottom:2px; min-height:34px; border:1px solid #aaa; padding:0 3px; background:#fff; }
.court_available:HOVER { background:lightyellow; }
.court_available A { /*color:#000;*/ }

DIV.slot { display:block; margin-bottom:0; padding:0 3px 2px 3px; min-height:38px; border:0; border-top:1px dotted #aaa; }
DIV.slot:HOVER { background:lightyellow; cursor:pointer; }
DIV.slot.selected { background:yellow; font-weight:normal;	 }
DIV.slot SPAN.cost { display:block; clear:both; margin-left:36px; color:#999; }

.court_booked { margin-bottom:2px; min-height:34px; border:1px solid #aaa; padding:0 3px 2px 3px; background:#ffffe0;  }
.court_booked:HOVER { cursor:pointer; background:#ffffe0; /*lightyellow */ }
.court_booked.team { background:#0ff !important; /* aqua */ }
.court_booked.selected { background:yellow; }
.court_booked.team.selected { background:chartreuse !important; }


/*.court_booked.team.checkin_link { display:none; } ????? */

.tbl { background:#ddd; margin:1em 0; /* width:80%; */ }
.tbl TH { background:#eee; padding:3px 6px; font-weight:bold; }
.tbl TD { background:#fafafa; padding:3px 6px;  }
.tbl TH.highlight { background:#ffe; padding:3px 6px; font-weight:bold; }
.tbl TD.highlight { background:#ffe; padding:3px 6px; }

TABLE.form_table { margin:1em 0; border-collapse:collapse; width:auto; }
TABLE.form_table TH, TABLE.form_table TD {  padding:4px 6px; border:1px solid #ddd;  }
TABLE.form_table TH {
	background:#eee;
	font-weight:bold;
}
TABLE.form_table TD {  background:#fafafa; }
TABLE.form_table TH.highlight, TABLE.form_table TD.highlight { background:#ffe;  }
TABLE.form_table TD.league_player_img, .tbl TD.league_player_img { padding:0; width:27px; }


TABLE.tt TH { background:#ddd; }
TABLE.tt TD { background:#fff; min-width:100px; }
TABLE.tt TD A { text-decoration:none; }
TABLE.tt TD.tv { border-right:1px solid #000 !important; }
TABLE.tt TD.th { border-bottom:1px solid #000 !important; }
TABLE.tt TD.tvh { border-right:1px solid #000 !important; border-bottom:1px solid #000 !important; }

.form_table TH.league { min-width:100px; text-align:left; }
.form_table TH.league A { display:inline-block; float:right; font-weight:normal; color:blue; }
.form_table TD.league_player_img, .tbl TD.league_player_img { padding:0; width:27px; }
.form_table TD.player { min-width:100px; white-space:nowrap;  }
.form_table TD.pos { width:35px;  text-align:center; font-weight:bold; }
.form_table TD.total { width:35px; text-align:center; font-weight:bold; white-space:nowrap; }
.form_table TD.points { text-align:center; }
.form_table TD.xbox { background:#eee; }

TABLE.change_log { background:#ddd; margin:1em 0; /* width:80%; */ }
TABLE.change_log TH { background:#eee; padding:12px 6px; font-weight:bold; }
TABLE.change_log TD { background:#fafafa; padding:12px 6px;  }
TABLE.change_log TBODY.most_recent TH, TABLE.change_log TBODY.most_recent TD { background:#ffe; }
TABLE.change_log TD.highlight { background:#ffe; }

.selected { text-decoration:none; }

.smaller { font-size:95%; }

#topnav A { }
.subnav { line-height:2em; margin-bottom:2em; }
.subnav A { margin:0 20px 0 0; white-space:nowrap; }

#admin_sub_nav { padding:1em 0; border-top:1px dotted #ccc; border-bottom:1px dotted #ccc; margin:3em 0; background:snow; }

.alert { background:#ffe; padding:1em 0; border-top:1px solid #ccc; border-bottom:1px solid #ccc;}
.highlight { background:#ffe; }
.highlighter { background:#ff0; }
.highlight_box { padding:1em 20px; background:mintcream; border:1px solid #eee; }

.link_button { margin-right:4px; padding:3px 6px; text-transform:uppercase; text-decoration:none; font-size:11px; font-weight:bold; line-height:30px;   }
.OK { background:#696; color:white; }
.OK:HOVER { background:#6c6; }
.delete { background:#f33; color:#fff; }
.delete:HOVER { background:#f63;}

.input_smallnumber { text-align:center; }

UL.tabs { display:inline-block; margin:.5em 0 0 0; padding:0; list-style:none; border-bottom:0; }
UL.tabs LI { display:inline-block; }
UL.tabs LI A { 
	text-decoration:none;
	padding:3px 10px;
	border:1px solid #ccc; 
	background:#eee;
	color:#555;
	white-space:nowrap;
	display:inline-block;
	margin:0 0 .3em 0;
	} 
UL.tabs LI A:HOVER { background:yellow;   } 
UL.tabs LI A.selected { 
	background:yellow; font-weight:normal;
	color:#000;
	} 

.checkin_link {
	display:inline-block; margin:2px 10px;
	text-decoration:none; 
	padding:3px 10px; 
	border:1px solid #ccc; 
	background:#eee;
	xxxxcolor:#555;
}
.checkin_link:HOVER {  } 

TABLE.tt { margin:1em 0; border-collapse:collapse; width:auto; }
TABLE.tt TH, TABLE.tt TD {  padding:3px; border-left:1px solid #eee; border-right:1px solid #eee; border-bottom:0px solid red; white-space:nowrap; }
TABLE.tt TH { background:#ddd; }
TABLE.tt TD { background:#fff; min-width:100px; }
TABLE.tt TD A { text-decoration:none; }
TABLE.tt TD.tv { border-right:1px solid #000 !important; }
TABLE.tt TD.th { border-bottom:1px solid #000 !important; }
TABLE.tt TD.tvh { border-right:1px solid #000 !important; border-bottom:1px solid #000 !important; }

TABLE.change_log TR TD IMG {
	display:block;
	clear:both;
	margin:1em 20px;
	border:1px solid #ccc;
}

#fgtpwd_wrapper { width:80%; max-width:600px; margin:50px auto; padding:20px; border:1px solid #ddd; text-align:center; }

.email_icon { width:19px; height:17px; border:0; vertical-align:bottom; }

#please_wait {
	display:	none;
	padding:	25vh 0 75vh 0;
	text-align:	center;
	opacity:    1; 
	background: #fff;
	color:		#000; 
	width:      100%;
	height:     100vh; 
	z-index:    10;
	top:        0; 
	left:       0; 
	position:   fixed;	
	}

.spinner {
  margin: 1em auto;
  border: 3px solid #eee;
  border-radius: 50%;
  border-top: 3px solid #aaa;
  width: 20px;
  height: 20px;
  -webkit-animation: spin 2s linear infinite; /* Safari */
  animation: spin 2s linear infinite;
}

.team_event_court_wrapper { width:24%; float:left; margin:1em .5% 0 0; }
.team_event_court_wrapper  TABLE.form_table { margin:0; width:100%; }

/* Safari */
@-webkit-keyframes spin {
  0% { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

SPAN.mobile_line_break { display:none; }

.c1 { float:left; width:auto; margin:0 20px 0 0; }
.c2 { float:left; width:auto; margin:0; }
.c1 TABLE.form_table { width:100%; }

#member_edit_wrapper .c1 { width:520px; max-width:520px }
#member_details_table {  }
#member_details_table TH {
	text-align:left;
	padding:1em 6px;
	background:#f8f8f8;
}
#member_details_table TR TD {  }
#member_details_table TR TD:nth-child(1) {  }
#member_details_table TR TD:nth-child(2) { }
#member_details_table TR TD DIV {  }

#course_edit_wrapper .c1 { max-width:450px; margin:0 20px 0 0; }
#course_edit_wrapper TEXTAREA { width:270px; height:6em; }
#course_edit_wrapper .c2 { max-width:700px; margin:0; }

#bookingsheets_acceptance .c1 {  width:390px; padding:10px; margin:0 20px 0 0; background:lightyellow; border:1px solid #ccc; }
#privacy_settings_report_wrapper .c1 { width:100%; padding:10px; margin:0 20px 0 0; background:lightyellow; border:1px solid #ccc; }
#privacy_settings_report_wrapper .c2 { width:100%; }
.c1#subscriptions_documentation { max-width:450px; }
#sub_club_rules .c1 { max-width:400px; margin-right:40px; }
#sub_club_rules .c2 { max-width:400px;  }
#subs_renewal_msg .c1 { max-width:400px; }
#send_subs_payment_link_wrapper .c2 { width:198px; padding:1em 20px; background:lightyellow; border:1px solid #ccc; }
#mandate_wrapper .c1 {  }	
#mandate_wrapper .c2 { width:200px; margin:1em 0; padding:1em 10px; background:lightyellow; border:1px solid #ddd; }
#mandates_remittances_report_wrapper .c1 { max-width:700px; } 	
#mandates_remittances_report_wrapper .c2 { max-width:400px; } 	
#msg_edit_table INPUT:not([type="submit"]) { width:400px; } 	
#msg_edit_table TEXTAREA { width:556px; height:500px; } 
#msgparts_table INPUT:not([type="submit"]) { width:450px; }	
#msgparts_table TEXTAREA { width:450px; }	
#newsletter_acceptance_wrapper .c1 { width:390px; padding:10px; margin:0 20px 0 0; background:lightyellow; border:1px solid #ccc; }
#newsletter_acceptance_wrapper .c2 { width:562px; }
#tournament_seeds_wrappper { width:640px; padding:2em 20px; background:#fafafa; border:1px solid #ccc; }
#tournament_seeds_wrappper .c2 { float:left; width:300px; padding:0; }
#sub_renwal_dates_wrapper .c1 { width:250px; } 
#sub_renwal_dates_wrapper .c2 { width:250px; } 
#leagues_numbers_wrapper .c2 { width:325px; margin:2em 0; padding:1em 20px; border:1px solid #eee; background:lightyellow; }
#subscriptions_wrapper .c2 { width:350px; margin:1em 0 0 0; padding:0 20px 1em; border:1px solid #ddd; }
#subs_upload_wrapper .c1 { width:900px; }

#activity_repeat_edit_wrapper .c1 { width:auto; max-width:500px;  }
#activity_repeat_edit_wrapper .c2 { max-width:500px; margin:4em 0 0 0;  }
#activity_repeat_edit_wrapper .c2  div:nth-child(1) { padding:1em 20px; background:lightyellow; border:1px solid #ccc;	 }
#activity_repeat_edit_wrapper .c2  div:nth-child(2) { }

#mandates_submission_file_wrapper .c1 { background:none; }
#mandates_submission_file_wrapper .c2 { background:none; }

.mailto_envelope_wrapper IMG {  width:19px; height:17px; border:0; vertical-align:text-bottom; }

@media only screen and (max-width:600px) {

	.mailto_envelope_wrapper { display:block; width:20px; }	

	.desktop { display:none; }
	.mobile { display:block; }

	/********************/

	#overlay { padding:0; }
	#overlay_close A { font-size:3em; }
	#overlay_content_wrapper {
		margin:0;
		padding:5%;
	}

	/********************/
	
	BODY { margin:0; padding:0; }
	
	/* #wrapper { width:868px; margin:auto; background:#fff; } */
	#wrapper { 
		clear:both;
		margin:0;
		padding:0;
		width:100%;
		border:none;
		background:#fff;
		} 
		
	#col_wrapper { width:90%; margin:0 auto; }

	#header, #left_col, #right_col, #admin_sub_nav, #hbi { 
		clear:both;
		margin:0 2%;
		padding:0;
		width:96%;
		border:none;
		} 
		
	#header { 
		padding:1em 0;
		} 

	.c1, .c2 { float:none; clear:both; margin:0 auto; padding:0; width:100%; border:none; }
		
	.table_wrapper {
		display: block; /* fixes iOS table overlapping sticky menu */
		width:100%;
		overflow: scroll;
		overflow-x: scroll;
		-webkit-overflow-scrolling: touch;
		white-space:nowrap;
	}
	.table_wrapper TABLE TR TD {  xxxwhite-space: normal; } /* fixes long content overflowing on one line */
	TABLE.form_table { width:100%; }

	#member_edit_wrapper .c1 { width:100%; max-width:100%; }
	#member_edit_wrapper .c1 #member_details_table TR TD { white-space:normal; }
	#course_edit_wrapper .c1 { width:100%; max-width:100%; }
	#course_edit_wrapper TEXTAREA { width:auto; height:6em; }
	#bookingsheets_acceptance .c1 {  width:100%; padding:0; margin:0 0; background:lightyellow; border:0; }
	#privacy_settings_report_wrapper .c1 { padding:0; margin:0; border:0; }
	#privacy_settings_report_wrapper .c2 { }
	#sub_club_rules .c1 { margin:0;}
	#subs_renewal_msg .c1 { width:100%; max-width:100%; }
	#mandate_wrapper .c2 { width:100%; margin:1em 0; padding:0; border:0; }	
	#msg_edit_table TD { white-space:normal; } 	
	#msg_edit_table INPUT:not([type="submit"]) { width:95%; } 	
	#msg_edit_table TEXTAREA { width:95%; height:500px; } 	
	#msgparts_table TD { white-space:normal; } 	
	#msgparts_table INPUT:not([type="submit"]) { width:95%; }	
	#msgparts_table IMG { max-width:95%; }	
	#msgparts_table TEXTAREA { width:95%; height:500px; } 	
	#newsletter_acceptance_wrapper .c1 { width:100%; padding:0; margin:0; background:lightyellow; border:0; }
	#newsletter_acceptance_wrapper .c2 { width:100%;  }
	#tournament_seeds_wrappper { width:100%; padding:0; border:0; }
	#tournament_seeds_wrappper .c2 { width:100%; padding:0; }
	#leagues_numbers_wrapper .c2 { width:100%; margin:1em 0; padding:0; border:0; background:lightyellow; }
	#court_usage_report .table_wrapper TABLE TR TD {  }
	#subscriptions_wrapper .c2 { padding:0; border:0; }
	#course_edit_wrapper .c1 .table_wrapper TABLE TR TD { white-space:normal; }
	#activity_repeat_edit_wrapper .c1 .table_wrapper TABLE TR TD { white-space:normal; }
	#activity_repeat_edit_wrapper .c2 { margin:0;  }
	#subs_upload_wrapper .c1 { width:100%; }

	
	/*************************/

	IMG {
		max-width: 100%;
		height:auto;
		display: block;
		}

	IMG[src*="images/calendar.gif"] { display: inline-block; }

	FORM { padding:0; background:none; }
	
	SELECT { max-width:80%; }
	
	H1, H2, H3, { overflow-wrap:break-word; }

	SPAN.mobile_line_break { display:block; clear:both; height:1px; }
	
	/*************************/
	
	.table_wrapper TABLE.league TR TD:first-child { white-space: nowrap; } 

	/*************************/

	#fgtpwd_wrapper { width:100%; max-width:none; margin:0; padding:0; border:0; text-align:center; background:red; 
		clear:both;
		margin:0;
		padding:0;
		width:100%;
		border:none;
		background:#fff;	
	
	}

	/*************************/
	
	#mobile_nav { box-sizing:border-box; }

	#menu_control { z-index:2; width:100%; padding:.75em 0; line-height:1.25em; background:#000; color:# }
	
	#menu_control DIV { z-index:100; padding:0 5%; }
	
	#menu_control A { text-decoration:none; text-transform:uppercase; color:#fff; }
	#menu_control A SPAN.burger { font-size:2em; position:relative; vertical-align:text-bottom; margin-right:.2em; }
	
	#menu_control_show_user { display:inline-block; float:right; max-width:70%; text-transform:none !important; text-align:right; color:#fff;  }

	
	#menu_wrapper {
		z-index:2;
		height:100%;
		width:0; 
		padding:1em 0;
		position: fixed;
		top: 0;
		left: 0;	
		overflow-x: hidden;
		transition: .5s;
		white-space:nowrap;
		font-size:1.4rem;
		background:#000;
		xxxxbackground-color: rgba(0,255,0, .75);
		color:#fff;
	}

	.close_wrapper {   margin-right:1.5em; text-align:right; }
	.close_wrapper A { text-decoration:none; font-size:3em; color:#fff; }

	#menu_show_member { margin:.5em 10%; }
	
	#menu_links { padding:0 0 5em 0; }

	#menu_links UL {
		list-style-type: none;
		padding: 0;
		margin:0 10%;
		}

	#menu_links UL LI {
		margin:0; padding:0;
		}
	/*#menu_links UL LI:first-child A:nth-child(1) { border-top:1px solid yellow; }*/

	#menu_links UL LI A {
		display:block;
		padding: .5em 0;
		text-decoration:none;
		border-bottom:1px solid #ccc;
		color:#fff;
		}

	#menu_links UL LI A:HOVER { text-decoration:none; background:none; }
	#menu_links UL LI A:VISITED {  }

	#menu_links UL LI UL { display:none; margin:0 10%; }

	#menu_links UL LI UL {
		list-style-type: none;
		}

	/********************/


	TABLE.change_log TR TD IMG {
		margin:1em 0;
		height:auto;
		max-width:240px;
	}

	/********************/

	.courts_wrapper {
		display: flex;
		align-items:top;
		background-color: #fff;
		padding:0;
		overflow: scroll;
		overflow-x:scroll;
		-webkit-overflow-scrolling: touch;
		white-space: nowrap;
		text-align:left;
	}
/*
	DIV.nested_column {
		flex: none;
		width:75% !important;
		min-width:75% !important;
		max-width:75% !important;
		margin:0 2% 0 0 !important;
		padding:0 2% 0 0 !important;
		border-right: 1px dotted #ccc;
		white-space:pre-wrap !important;
	}
*/
	DIV.court_div {
		flex: none;
		width:65% !important;
		min-width:65% !important;
		max-width:75% !important;
		margin:0 2% 0 0 !important;
		padding:0 2% 0 0 !important;
		border-right:0;
		white-space:pre-wrap !important;
	}


	DIV.nested_column:last-child { /* this doesn't work */
		margin:0 !important;
		padding:0 !important;
		border-right:0 !important;
	}
	
	.courtname { margin: 0 0 1em 0; padding: 0 2%; font-weight:bold; }
	.courtdescr { padding: 0 2%; }
	.court_available, .court_booked, .slot {    }
	
	.starttime { width:50px;  }
	.by { display:inline-block; width:calc(100% - 50px);  }
	.showcost, .opponent, .showcancellation, .cost { margin-left:50px; }

	/*******************/

	.team_event_court_wrapper { width:auto; float:left; margin:0 4px 1em 0; background:#f8f8f8;  }
	.team_event_court_wrapper  TABLE.form_table { margin:0; width:225px; }

	/*******************/
	
	.repeat_booking_court { background:#f8f8f8; }
	.repeat_booking_court .form_table { margin:0 4px 0 0; }

	/*******************/

	#members_search_table TR TD DIV#payment_frequency_wrapper LABEL { display:block;  }
	#members_search_table TR TD DIV#payment_method_wrapper LABEL { display:block; }



	.highlight_box { padding:0; border:0; }



	#hbi { width:90%; margin:2em auto 0; padding:2em 0; line-height:1em; border-top:1px dotted #ccc; clear:both !important; color:#555; text-align:center;  }
	#hbi A { color:#555; text-decoration:underline; }


}