/*
////////////////////////////////////////////////
////////////////////////////////////////////////

    G L O B A L   E L E M E N T S

////////////////////////////////////////////////
////////////////////////////////////////////////
*/

html, body {
	height: 100%;
	margin: 0;
	padding: 0; 
	background: white;  // This was fucking pink the whole fucking time!!!!!
	overflow: hidden;
}


p {
	text-align: center;
	display:inline-block;
    vertical-align:middle;
	margin-left: 10px;
	margin-right: 10px;
}

img {	
    
	
}
/*  E N D   G L O B A L   E L E M E N T S
//////////////////////////////////////////////////
//////////////////////////////////////////////////
*/


/*
//////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////

    C O N T A I N E R  /  H E A D E R  /  F O O T E R 

//////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
*/


#container {
	height: 100%;
	width: 100%;
	position: absolute;
	/* background: brown; construction color */
	background: white; 
	overflow: hidden;
}

#content {
    width: 100%;
    height: 100%; /* Changing to 100% filled purple all the way to brown which is the container */
 	/* background: purple; construction color */
 	background: white;
    margin: auto;
    padding: 0px;
	overflow: hidden;
}

/*/////////////////////////////
///////    HEADER     /////////
//////////////////////////////*/

#header_new {
	width: 98%;
    min-width: 700px;
	min-height: 80px;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
    background-color: red;
    position: relative;
	/* border: solid black 1px; */
	overflow: visible;
	height: auto; /* Worked!!  Had to add here & below :) */

}

#logo{
    position: absolute;
    top: -10px;
    left: 20px;
	height: 140px;
    width: 170px;
	/* display: block; */

}

#title {
	padding: 4px 0px 5px 0px;
	/* background-color: red; */
	margin-left: auto;
	margin-right: auto;
	font-size: 10px;
	height: auto;  /* Worked!!  Had to add here & above :) */
	background-color: white;
	position: absolute;
	top: -10px;
	left: 0;
	right: 0;
	width: 500px;
	border: solid gray 1px;
	border-bottom-left-radius: 50px;
	border-bottom-right-radius: 50px;
	
}


#logged_in {
	/* Donate & Sign In Buttons would not stay in upper right corner w/o this block  */
	text-align: right;
	height: 0px;
	margin: 0px;
	background: #003300;
	position: absolute;
	top: 5px;
	right: 0px;
	color: #767f6e; /* formerly white; */
	font-size: 11px;
	float: right;
	display: none;

}

#login_button {
	display: inline-block;
	margin-top: 12px;
	margin-left: 0px;
	margin-bottom: 0px;
	vertical-align: middle;
	background-color: green;
	
}

/*  END HEADER  */



/*/////////////////////////////
//////     FOOTER    /////////
//////////////////////////////*/

#footer {
	display: none;
}

/*  END FOOTER  */



/*  E N D   C O N T A I N E R  /  H E A D E R  /  F O O T E R 
/////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////
*/


/*
////////////////////////////////////////////////
////////////////////////////////////////////////

    G O O G L E   M A P   C O N T A I N E R

////////////////////////////////////////////////
////////////////////////////////////////////////
*/

			/*WORKING!
			#map_canvas { 
				height: 100%;
				width: 100vw;
				float: right;

			}
			GEMINI IMMEDIATELY BELOW
			*/

			#map_canvas { 
			    height: 100%;
			    width: 100%; 
			    position: absolute;
			    top: 0;
			    left: 0;
			    transition: all 0.3s ease-in-out; /* Smoothly follows the panel */
			}
			
			/* Desktop Only Squeeze */
			@media (min-width: 768px) {
			    #map_canvas.squeezed {
			        /* This replaces your (1 - (325/window_width))*100 math */
			        width: calc(100% - 325px);
			        margin-left: 325px;
			    }
			}

/*/////////////////////////////    INFOWINDOW    //////////////////////////////*/
#the_infowindow table {
	border-collapse: collapse;
}

#the_infowindow a{
	color: green;
	font-family:"Times New Roman";
	font-style: oblique;
	text-decoration: underline;
}

#the_infowindow a:hover{
	color: white;
	background-color: green;
}

#the_infowindow th {
	border: 1px solid #c2cfb5;/*#c9dab6;*/
	background-color:#c2cfb5;/*#c9dab6;*/
	color: #767f6e;
	font-size: 90%;
	font-family:"Times New Roman";
}

#the_infowindow td{
	text-align: center;
	border: 1px solid #c2cfb5;/*#c9dab6;*/
	font-size: 100%;
	line-height: 150%;
	font-weight: bold;
	font-family:"Times New Roman";
}

#map_legend a {
	font-size: 9px;
}

#map_legend p {
	font-size: 11px;
	line-height: 2px; 
}

#map_legend img {
	text-align: center;
	vertical-align: middle;
	padding-left: 2px;
}
/*  works but still don't know if I like it...
#map_legend tr:hover {
	background-color: #767f6e;
	color: #c2cfb5;
}
*/

#map_legend th {
	background-color: #767f6e;
	border: 1px solid #c2cfb5;/*#c9dab6;*/
}

#map_legend td {
	text-align: center;
	border-top: 1px solid #c2cfb5;/*#c9dab6;*/
	border-bottom: 1px solid #c2cfb5;/*#c9dab6;*/
}



/*  E N D   G O O G L E   M A P   C O N T A I N E R
///////////////////////////////////////////////////////
///////////////////////////////////////////////////////
*/



/*
////////////////////////////////////////////////
////////////////////////////////////////////////

       M A P   C O N T R O L   P A N E L

////////////////////////////////////////////////
////////////////////////////////////////////////
*/



/* 
////////////////////////////////////////////////
    MODIFIED BUTTON GROUP FOR MOBILE RESPONSIVENESS
////////////////////////////////////////////////
*/

.button_group {
    /* background: red; construction color */
    background: white;
    /* display: table; -- DEPRECATED: Does not allow shrinking on iPhone */
    display: flex; 
    justify-content: space-around;
    width: 100%;
    box-sizing: border-box;
    padding: 2px;
}

.flyout_button_not_active {
    background-color: white;
    border: 1px solid gray;
    /* width: 140px; -- DEPRECATED: Hard width causes overflow on iPhone */
    width: 95%;
    max-width: 145px;
    border-radius: 15px;
    font-weight: normal;
    color: gray;
    padding: 10px;
    font-size: 13px;
    box-sizing: border-box;
}

.flyout_button_active {
    background-color: #767f6e;
    border: 3px solid lime;
    /* width: 140px; -- DEPRECATED */
    width: 95%;
    max-width: 145px;
    padding: 8px;
    border-radius: 15px;
    font-weight: bold;
    color: white;
    box-shadow: 2px 2px 4px grey;
    text-shadow: .5px .5px 1px lime;
    font-size: 13px;
    outline: none;
    box-sizing: border-box;
}

.flyout_button_not_active:hover {
    background-color: #F5f5f5;
    border: 3px solid gray;
    /* width: 140px; -- DEPRECATED */
    width: 95%;
    max-width: 145px;
    padding: 8px;
    border-radius: 15px;
    font-weight: bold;
    color: gray;
    box-shadow: 2px 2px 4px grey;
    text-shadow: .5px .5px 1px lime;
    font-size: 13px;
    outline: none;
    box-sizing: border-box;
}

.flyout_button_active:hover {
    background-color: #767f6e;
    border: 3px solid lime;
    /* width: 140px; -- DEPRECATED */
    width: 95%;
    max-width: 145px;
    padding: 8px;
    border-radius: 15px;
    font-weight: bold;
    color: white;
    box-shadow: 2px 2px 4px grey;
    text-shadow: .5px .5px 1px lime;
    font-size: 13px;
    outline: none;
    box-sizing: border-box;
}

		/* MOBILE-ONLY FONT ADJUSTMENT
			 The "Marker Groupings" button was too long
			and therefore needs a tweak on iPhones */
		@media (max-width: 430px) {
		    #flyout_button1 {
		        font-size: 10.5px !important; /* Shrunk specifically for mobile */
		        letter-spacing: -0.4px;       /* Tighten the 'kerning' to save width */
		        white-space: nowrap;          /* Force one-line compliance */
		        padding-left: 2px !important; /* Reduce internal padding to maximize space */
		        padding-right: 2px !important;
		    }
		}


#map_control_panel_2 {
    width: 100%; /* Put to 100% - Only using 95% for construction visbility */
    height: 100%; /* Put to 100% - Only using 95% for construction visbility */
    background: white;
    float: left;
	overflow: auto;
	font-size: 70%;
	display: none;
	border-top: 1px solid #B0B0B0;
	font-size: 13px;
	
	margin-top: 30px;
}

#map_control_panel_1 {
    width: 100%; /* Put to 100% - Only using 95% for construction visbility */
    height: 98%; /* Put to 100% - Only using 95% for construction visbility */
    background: white;
    float: left;
	overflow: auto;
	display: normal;
	border-top: 1px solid #B0B0B0;
    font-size: 16px; /* Adjust the font size to your preference */
    line-height: 1.5; /* Adjust the line height to your preference */
	
	margin-top: 30px;
}



#map_control_panel_1 h1 {
	text-align: center;
}

#map_control_panel_1 ul {
    list-style-type: none;
    padding-left: 20px; /* Adjust base padding for top-level list */
}

#map_control_panel_1 ul ul {
    padding-left: 20px; /* Adjust padding for nested lists */
}

#map_control_panel_1 li {
    list-style-type: none;
    padding-left: 5px; /* Adjust padding for list items */
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;  /* Add ellipsis for overflowed text */
}

#map_control_panel_1 input[type="checkbox"] {
    margin-right: 5px;
}

#map_control_panel_1 .all_checkboxes{
	text-align: left;
	font-size: 12px;
}

#well_checkboxes li {
	display: block;
    flex-direction: column;
    align-items: flex-start;
	margin-bottom: 3px;
}

#well_checkboxes SVG {
	margin-right: 5px;
	margin-left: 3px;
}
		


#map_control_panel_3 {
    height: 96%;
    width: 100%;
    box-sizing: border-box; 
    background-color: white;
    float: left;
    
    /* Padding: Top Right Bottom Left */
    padding: 20px 15px 20px 20px; 
    
    /* Vertical scroll allowed, Horizontal wiggle forbidden */
    overflow-y: auto;
    overflow-x: hidden; 
    
    display: none;
    border-top: 1px solid #B0B0B0;
    margin-top: 30px;
    
    /* Force text to wrap and stay within the 100% width */
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
    word-break: break-word;
}



#map_control_panel_3 .all_checkboxes {
	text-align: left;
	font-size: 12px;
}

#map_control_panel_3 ul {
	list-style-type: none; /* Remove default bullet points */
	padding-left: 15px; /* Adjust indentation */
}
#map_control_panel_3 ul ul {
	padding-left: 15px; /* Adjust indentation for nested levels */
}

#map_control_panel_3 li {
	list-style-type: none; /* Remove default bullet points */
	padding-left: 15px; /* Adjust indentation */
}
#map_control_panel_3 ul li {
	padding-left: 15px; /* Adjust indentation for nested levels */
}

#map_control_panel_4 {
    height: 96%;
	width: 95%;
    background-color: white;
	float: left;
	padding-top: 20px;
	overflow: auto;
	display: none;
	font-size: 16px;
	padding-left: 10px;
	padding-right: 3px;
	text-align: left;
	border-top: 1px solid #B0B0B0;
	
	margin-top: 30px;
}

.stripe1 {
    background-color:#ffffff;
	text-align: center;
}
.stripe2 {
    background-color:#F5F5F5;
	text-align: center;
}

/*  E N D   M A P   C O N T R O L   P A N E L
////////////////////////////////////////////////
////////////////////////////////////////////////
*/
/*  NEW MAP CONTROL PANEL */

			/*WORKING BEFORE TRANSFORM!! (01/31/2026)
			#master_control_panel{
			    / * background: yellow; * /
			    background: #F5F5F5;
			    height:99.5vh;
			    width:320px;
			    position:absolute;
			    left:-325px;
				top: 0.2%;
				bottom: 0.5%;
				margin-top: -2px;
				margin-left:3px;  
				text-align: center;
				border: 3px ridge #707070;
				border-radius: 0 .4rem .4rem 0;
			}
			GEMINI IMMEDIATELY BELOW
			*/

			#master_control_panel {
			    background: #F5F5F5;
			    height: 100%;       /* Use 100% to ensure it covers the map height */
			    width: 320px;
			    max-width: 85vw;    /* Critical for iPhone 14 */
			    position: absolute;
			    top: 0;
			    left: 0;            /* Set to 0 because transform handles the offset now */
    
			    /* THE FIX: Start hidden using the GPU */
			    transform: translateX(-100%);
			    -webkit-transform: translateX(-100%);
			    transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
    
			    z-index: 9999;      /* Ensure it stays above Google's default buttons */
			    text-align: center;
			    border-right: 3px ridge #707070;
			}

			/* NEW CLASS: This is what jQuery will toggle */
			#master_control_panel {
			    /* Ensure hardware acceleration for that iPhone 14 */
			    transform: translateX(-100%);
			    transition: transform 0.3s ease-in-out;
			}

			#master_control_panel.open {
			    transform: translateX(0);
			}



.mcp_toggle_button {
    padding: 5px 32px;
    /* background: cyan; construction color */
    background: #F5F5F5;
    position: relative;
	float: right;
    left: 70px;
    top: 50%;
	color: blue;
    line-height: 30px;
    z-index: 1001;
    display: block;
    white-space: nowrap;
    transform: rotate(90deg);
    border-radius: .3rem .3rem 0 0;
	border: 3px ridge #707070;
	border-bottom: 3px solid #F5F5F5;
	text-decoration: none;
	cursor: pointer;
}
	

.open{
    left:0px !important;
    
}
.transition{
    
  -webkit-transition: left 0.3s ease-out;  /* Chrome 1-25, Safari 3.2+ */
     -moz-transition: left 0.3s ease-out;  /* Firefox 4-15 */
       -o-transition: left 0.3s ease-out;  /* Opera 10.50–12.00 */
          transition: left 0.3s ease-out;  /* Chrome 26, Firefox 16+, IE 10+, Opera 12.10+ */

}

/* 
////////////////////////////////////////////////
    MODIFIED BUTTON CONTAINERS FOR ALIGNMENT
////////////////////////////////////////////////
*/

	.b-group {
	    display: flex;
	    /* justify-content: space-between; -- DEPRECATED: space-around is safer for mobile margins */
	    justify-content: space-around; 
	    position: relative;
	    /* height: 35px; -- DEPRECATED: Fixed height can clip the lime border */
	    min-height: 45px; 
    
	    /* width: 98%; -- DEPRECATED: 100% with box-sizing prevents edge 'sticking' */
	    width: 100%;
	    box-sizing: border-box;
    
	    left: 0px;
    
	    /* top: -40px; -- DEPRECATED: This was likely causing the panel overlap issue */
	    top: -40px; 
    
	    background: #F5F5F5;
	    margin-top: 10px;
	    padding: 0 5px; /* Adds a small 'air gap' at the panel edges */
	}

	.center_button {
	    /* display: inline-block; -- DEPRECATED: Flex is better for centering rows */
	    display: flex;
	    flex: 1; 
	    justify-content: center;
	    align-items: center;
    
	    background: #F5F5F5;
	    margin-left: auto;
	    margin-right: auto;
	}



.map_control_panel {
    width: 97%;
    height: 83%;
	display: inline-block;
    /* background: brown; construction color */
    background: white;
	position: relative;
	display: normal;
	top: -35px;
}	

.marker_groupings p {
    text-align: center;
    display: inline-block;
    vertical-align: middle;
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 15px;
}

.marker_groupings {
	display: flex;
	align-items:center;
	text-align: center;
	font-size: 12px;
	width: 300px;
}

#bottom_button_row {
	margin-bottom: 15px;
}


/*  PANEL ONE - WITH LOGOS     */
.panel_logo_img {
	position: relative;
	height: 45px;
	width: 65px;
}

.panel_logo_img td {
	text-align: center;
}

.inner-dinner {
	vertical-align: middle;
}

#city_text {
	font-size: 30%;
}

.theList td {
	border-bottom: 1px solid black;
	border-top: 1px solid black;
}

.theList th {
	border-bottom: 1px solid black;
}

table {
    border-collapse: separate;
    border-spacing: 0px;
}


/* /////////  HIGHCHARTS  CONTAINER   ////////
*/

#chart_disclaimer p {
	text-align: left;
	margin-bottom: 0px;
	font-size: x-small;
}

#chart_disclaimer ul {
	font-size: small;
}


.float-left {
	margin-left: 5px;
	margin-top: 5px;
    width: 25%;
	height: 600px;
    float: left;
    padding: 2px;
    border: 2px solid gray;
	overflow: auto;

}

.float-right {
	margin-top: 5px;
	margin-right: 5px;
    width: 72%;
	height: 600px;
    float: right;
    padding: 2px;
    border: 2px solid gray;
}


/* NEED TO TWEEK THE LITTLE GUYS  */
@media (max-width: 240px) {
   /* really tiny screens */
   #logo{
       position: absolute;
       top: -200px;
       left: 20px;
   	height: 140px;
       width: 170px;
   	/* display: block; */

   }
   
   #title {
   	padding: 4px 0px 5px 0px;
   	/* background-color: red; */
   	margin-left: auto;
   	margin-right: auto;
   	font-size: 10px;
   	height: auto;  /* Worked!!  Had to add here & above :) */
   	background-color: white;
   	position: absolute;
   	top: -200px;
   	left: 0;
   	right: 0;
   	width: 500px;
   	border: solid gray 1px;
   	border-bottom-left-radius: 50px;
   	border-bottom-right-radius: 50px;
	
   }
}
@media (min-width: 241px) and (max-width: 319px) {
   /* a little bit bigger screens */
   #logo{
       position: absolute;
       top: -200px;
       left: 20px;
   	height: 140px;
       width: 170px;
   	/* display: block; */

   }
   
   #title {
   	padding: 4px 0px 5px 0px;
   	/* background-color: red; */
   	margin-left: auto;
   	margin-right: auto;
   	font-size: 10px;
   	height: auto;  /* Worked!!  Had to add here & above :) */
   	background-color: white;
   	position: absolute;
   	top: -200px;
   	left: 0;
   	right: 0;
   	width: 500px;
   	border: solid gray 1px;
   	border-bottom-left-radius: 50px;
   	border-bottom-right-radius: 50px;
	
   }
}
@media (min-width: 320px) and (max-width: 767px) {
   /* Basically up to, but not including an iPad */
   #logo{
       position: absolute;
       top: -200px;
       left: 20px;
   	height: 140px;
       width: 170px;
   	/* display: block; */

   }
   #title {
   	padding: 4px 0px 5px 0px;
   	/* background-color: red; */
   	margin-left: auto;
   	margin-right: auto;
   	font-size: 10px;
   	height: auto;  /* Worked!!  Had to add here & above :) */
   	background-color: white;
   	position: absolute;
   	top: -200px;
   	left: 0;
   	right: 0;
   	width: 500px;
   	border: solid gray 1px;
   	border-bottom-left-radius: 50px;
   	border-bottom-right-radius: 50px;
	
   }
}
@media (min-width: 768px) and (max-width: 900px) {
   /* iPad and bigger */
   #title {
   	padding: 4px 0px 5px 0px;
   	/* background-color: red; */
   	margin-left: auto;
   	margin-right: auto;
   	font-size: 10px;
   	height: auto;  /* Worked!!  Had to add here & above :) */
   	background-color: white;
   	position: absolute;
   	top: -200px;
   	left: 0;
   	right: 0;
   	width: 500px;
   	border: solid gray 1px;
   	border-bottom-left-radius: 50px;
   	border-bottom-right-radius: 50px;
	
   }
   
   @media (min-width: 901px) {
      /* iPad and bigger */
      #title {
      	padding: 4px 0px 5px 0px;
      	/* background-color: red; */
      	margin-left: auto;
      	margin-right: auto;
      	font-size: 10px;
      	height: auto;  /* Worked!!  Had to add here & above :) */
      	background-color: white;
      	position: absolute;
      	top: -200px;
      	left: 0;
      	right: 0;
      	width: 500px;
      	border: solid gray 1px;
      	border-bottom-left-radius: 50px;
      	border-bottom-right-radius: 50px;
	
      }   
}

