/* ==========================================================================
   Global Styles
   ========================================================================== */

/* Logo font */
@font-face {
  font-family: 'Righteous'; 
  src: url('../fonts/Righteous-Regular.ttf') format('truetype');
}

/* Base Reset */
html, body {
  height: 100%;
  margin: 18px;
  padding: 0;
}

body {
  background-color: #f7f9f9;
  display: flex;
  flex-direction: column;
  font-family: Arial, sans-serif;
  margin: 0;
  padding: 0;
}

/* ==========================================================================
   Layout Containers
   ========================================================================== */

nav {
  padding-bottom: 20px;
}

header a, footer a {
  color: #000;
}

header a:hover, footer a:hover {
  text-decoration: none;
}


main {
  background-color: #fff;
  color: #000;
  border-radius: 12px;
  padding: 18px;
  border: #ccc solid 1px;
}
main a {color: #000;}
main a:hover {
  text-decoration: none;
}

main h1 {margin-top: 0;}


footer {
  padding: 30px 0;
  font-size: 0.9em;
  line-height: 1.2;
}

 footer nav a {
  color: inherit;
  border: #ccc 1px solid;
  border-radius: 6px;
  padding: 4px 10px;
  text-decoration: none;
  transition: background-color 0.2s;
  margin-right: 8px;
  background-color: #fff;
}

footer nav a:hover {
    background-color:#fff;
}


/* Row Layout with Two Columns */
.row-layout {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 16px;
  height: calc(100vh - 240px);
  padding-bottom: 20px;
}

/* Filters Row */
.filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}

.filters select,
.filters input[type="date"] {
  flex: 1 1 auto;
  min-width: 150px;

  padding: 6px;
  font-size: 1em;
  border: 1px solid #ccc;
  border-radius: 6px;
  background-color: #fff;
  color: #333;
  outline: none;
  margin: 0 8px 8px 0;
  box-shadow: 1px 1px 3px rgba(0,0,0,0.05);
  transition: border-color 0.3s, box-shadow 0.3s;
}

/* Left column: (i.e. the map) */
.column-left {
  flex: 1;
  height: 100%;
}

/* Right column: (i.e. the data table) */
.column-right {
  flex: 2;
  height: 100%;

}


/* ==========================================================================
   Data and Charts
   ========================================================================== */

/* Data Area Layout */
.dataArea {
  display: flex;
  flex: 1;
  flex-direction: row;
  height: calc(100vh - 260px);
  width: 100%;
}

/* Weather Chart Canvas */
#weatherChart {
  box-sizing: border-box;
  display: block;
  height: 100% !important;
  width: 100% !important;
}

/* ==========================================================================
   Misc Elements
   ========================================================================== */

a {
  color: #000;
}


hr {
  background-color: #ccc;
  border-width: 0;
  color: #ccc;
  height: 1px;
  width: 100%;
}


h1 {font-size: 1.6em;}
h2 {font-size: 1.4em}

ul, ol {line-height: 1.4;}


.logo {font-size: 1.2em; margin: 12px 0; font-family: "Righteous", sans-serif; text-decoration: none;}

.block {
  margin-bottom: 40px;
}

.blue { color: #0000ff; }

/* Map and Grid Blocks */
#eventsMap, #myGrid {
  border-radius: 12px;
  height: 100%;
  width: 100%;
}

.feed-info {
  font-size: 0.9em;
}

/* ==========================================================================
   Mobile
   ========================================================================== */

.mobile-warning {
  display: none;
  background-color: #fffae6;
  border: 1px solid #ffd42a;
  border-radius: 8px;
  color: #333;
  margin-bottom: 10px;
  padding: 10px;
  text-align: center;
  font-size: 0.9em;
}


@media (max-width: 768px) {

  .mobile-warning {
    display: block;
  }

  .row-layout {
    flex-direction: column;
  }

  .column-left,
  .column-right {
    flex: 1;
    max-width: 100%;
  }

  .filters {
    flex-direction: column;
    align-items: stretch;
  }

  .filters select,
  .filters input[type="date"] {
    width: 100%;
  }
}
