/*begin DYC styles*/

img {
	display: block;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
}

.imgcircle {
	border-radius:50%;
}

/* styles and css navigation based on:
	http://webdesign.tutsplus.com/articles/a-simple-responsive-mobile-first-navigation--webdesign-6074
	to provide css driven menus adaptable to desktop or tablet/phone browsers
*/

body {
	font: 100% Arial, sans-serif;		/* 100% should be font size of 16px */
	color: #1c1c1c;
	background-image: url("../images/dacron.jpg");
	margin-top:50px;
}

p{
	margin: 0 0 0.25em;
}

ul.none {
	list-style-type: none;
}


ul,
ol {
	padding: 0 0 0 1.2em;
	list-style-type: disc;
}

ol li ol {
	list-style-type: upper-alpha;
}

ol li ol li ol {
	list-style-type: decimal;
}

ol li ol li ol li ol {
	list-style: lower-alpha;
}

ol li ol li ol li ol  li ol{
	list-style: decimal;
}



table {
	border-collapse: collapse;
	border-spacing: 0;
	margin: 15px;
}

table, td, th
{
	border:1px solid black;
	padding:5px;
}

th {
	text-align: center;
	font-weight: bolder;
	margin: 0;
	padding: 0;
}


h1              { font-size: 1.75em; font-weight: bolder; margin: .7em 0; line-height: 110%; }
h2              { font-size: 1.6em; font-weight: bolder; margin: .7em 0 }
h3              { font-size: 1.45em; font-weight: bolder; margin: .7em 0 }
h4              { font-size: 1.3em; font-weight: bolder; margin: .7em 0 }
h5              { font-size: 1.15em; font-weight: bolder; margin: .7em 0 }
h6              { font-size: 1.0em; font-weight: bolder; margin: .7em 0 }

dt {
	padding: 10px 0px;
	font-weight: bold;
}

/*layout*/


.content {
    width:100%;
/*  for banner locked at top of screen
	margin-top: 130px;
*/
}

article {
	border-bottom: 1px solid #a8a8a8;
	padding: 5px 20px 5px 20px;
	margin: 10px 0;
}

caption {
	font-weight: bolder;
	padding-bottom: 10px;
}
  

/*footer*/

footer {
	margin: 5px;
	font-style: italic;
	text-align: center;
	font-size: 0.875em;	/* 14px/16=0.875em */
}

#sitemap {
	float:left;
}

#page_updated {
	display:inline;
	float:right;
	font-style:italic;
}

#page_updated img {
	display:inline;
	margin: 2px;
}

#attribution {
	display:inline;
	margin-left:auto; 
	margin-right:auto;
}

#welcome {
	text-align: center;
	font-size: 2.5em;		/* 40px/16=2.5em */
	font-weight: bold;
	line-height: 100%;
}

.red {
	color: #a60f2d;
}

.blue {
	color: MediumBlue;
}

.green {
	color: #006100;
}

.aqua {
	color:aqua;
}

.purple {
	color:Purple;
}

.aqua-bkgnd {
	background-color:aqua;
}


a.black,
a.black:link,
a.black:visited,
a.black:hover,
a.black:active {
	color: #000000;
}

.center {
	margin-left:auto; 
	margin-right:auto;
}

table.noborder {
	margin-left:auto; 
	margin-right:auto;
	border-style:none;
}

.centered {
	text-align: center;
}

.left {
	text-align: left;
}
	
.right {
	text-align: right;
}
	
.smalltext {
	font-size:80%
}

.largetext {
	font-size:140%
}

.italic {
	font-style: italic;
}

.bold {
	font-weight: bold;
}

.inline {
	display:inline;
}

.indent {
	margin-left: 5vw;
}

.offset
{
	padding: 2vw;
}

.border-rounded {
	padding:0.01em 16px;
	margin-top:16px;margin-bottom:16px;
	border-radius:4px;
	border:1px solid black;
}
.header-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 20px;
	width: 100%;
	box-sizing: border-box;
	background: white;
}

#logo {
	flex-shrink: 0;
}

#authContainer {
	display: none; /* Initially hidden */
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-color: white;
	padding: 20px;
	border-radius: 5px;
	box-shadow: 0 2px 10px rgba(0,0,0,0.3);
	z-index: 1004; /* Make sure it's above other elements */
}

#firebaseui-container {
	position: absolute;
	top: 100%;
	right: 0;
	width: 300px;
	background: white;
	padding: 20px;
	border-radius: 4px;
	box-shadow: 0 2px 10px rgba(0,0,0,0.1);
	z-index: 1003;
}

.auth-button,
#start-auth {
	padding: 8px 16px;
	background-color: #007bff;
	color: white;
	border: none;
	border-radius: 4px;
	cursor: pointer;
}

.auth-button:hover,
#start-auth:hover {
	background-color: #0056b3;
}

#user-status {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
	color: #333;
}

#sign-out {
	background-color: #dc3545;
}

#sign-out:hover {
	background-color: #c82333;
}

.firebaseui-container {
	max-width: 100% !important;
	width: 100% !important;
	min-width: unset !important;
	margin: 0 !important;
}

.firebaseui-input,
.firebaseui-input-field {
	width: 100% !important;
	box-sizing: border-box !important;
}

@media screen and (max-width: 600px) {
	.header-container {
		padding: 10px;
	}

	#firebaseui-container {
		width: 280px;
	}
}

/* Header structure */
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: white;
  z-index: 1000;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.header-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 20px;
  width: 100%;
  box-sizing: border-box;
  background: white;
}

/* Navigation styling */
nav {
  width: 100%;
  background: #333;
  color: white;
  z-index: 1001;
  position: fixed;
  top: 40px; /* Adjust based on header-container height */
  left: 0;
}

nav ul.menu {
  margin: 0;
  padding: 0;
  background: #333;
}

nav ul.menu li {
  color: white;
}

nav ul.menu li a {
  color: white;
}

/* Voting container */
#voting-container {
  width: 100%;
  background: #f8f9fa;
  padding: 8px 20px;
  text-align: right;
  box-sizing: border-box;
  border-bottom: 1px solid #ddd;
  position: fixed;
  top: 110px; /* Adjust based on header + nav height */
  left: 0;
}

/* Adjust main content to account for fixed header, nav, and voting container */
.content {
  margin-top: 160px; /* Adjust based on total height of fixed elements */
  width: 100%;
  padding: 20px;
}

.modal {
	display: none;
	position: fixed;
	z-index: 1000;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	overflow: auto;
}

/* Modal content box */
.modal-content {
	background-color: #fff;
	margin: 10% auto;
	padding: 20px;
	border-radius: 10px;
	width: 80%;
	height: 70%;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
}

/* Close buttons */
.close-btn {
	background-color: #f44336;
	color: white;
	border: none;
	padding: 10px 20px;
	margin: 10px;
	cursor: pointer;
	font-size: 16px;
	border-radius: 5px;
}

.close-btn:hover {
	background-color: #d32f2f;
}

/* Positioning */
.top-close {
	position: absolute;
	top: 10px;
}

.bottom-close {
	margin-top: 10px}