:root {
  /* Primary brand blues */
  --brand-blue:       #4e89ae;
  --brand-dark-blue:  #43658b;
  --brand-accent:     #e76f51;   /* a warm accent (rusty orange) */
  --neutral-light:    #f3f4f6;
  --neutral-gray:     #efeff3;
  --text-primary:     #212121;
  --text-secondary:   #4a4a4a;

  /* Typography */
  --font-base:       'Raleway', sans-serif;
  --font-heading:    'Montserrat', sans-serif; /* example */
}

#banner h1, .card h3, .notes-section h3 {
  font-family: var(--font-heading);
  font-weight: 700;
  letter-spacing: 1px;
}

body{
  margin: 0;
  font-family: var(--font-base);
  color: var(--text-primary);
  background-color: var(--neutral-gray);
}

.site-header {
  position: relative;                  /* contain the absolute nav */
  background: #4e89ae;
  border-top: 20px solid #43658b;
  height: 95px;                       /* fix the total header height */
  overflow: hidden;                    /* clip anything that spills */
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  z-index: 100;
}

.site-header.container {
  /* this flex will center your logo + nav vertically against each other */
  display: flex;
  align-items: center;       /* vertical centering */
  justify-content: space-between;
  margin: 0px 0px 40px 0px;
  padding: 0 1rem;           /* only horizontal gutters */
}


/* Basic */
a:hover {
    text-decoration: none;
}

.title h1 {
  font-size:24px;
  color:#FFF;
  font-weight:500;
}

/* Logo */
#logo {
    margin-top: 5px;
	padding-top: 5px;
	display: inline-block;
}

/* Nav */
#nav {
  position: static;   /* no longer absolute */
  margin: 0;
  font-size: 0.9em;
}

#nav ul {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}

#nav ul li {
  margin-left: 1.5rem;
}

#nav ul li a {
  display: inline-block;
  padding: 0.5rem 1rem;
  color: #cce3e6;
  font-weight: 700;
  border-radius: 4px;
  text-decoration: none;
  transition: background-color 0.25s;
}

#nav ul li.current a {
  background: transparent;
  color: #fff;
  border-bottom: 3px solid var(--brand-accent);
}

#nav ul li a:hover {
  background-color: var(--brand-accent); /* use accent here to stand out */
  color: #fff;
}

/* Banner */
/* Center & size the whole banner area */
#banner-wrapper {
  width: 50vw;            /* half the viewport width */
  max-width: 800px;       /* caps out on large screens */
  min-width: 320px;       /* stays usable on small screens */
  margin: 0 auto 40px;    /* center + bottom spacing */
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* Lighten the banner itself — white with a soft border instead of a full blue fill */
#banner {
  background: #ffffff;
  border: 2px solid #43658b;   /* pick up your header’s darker blue */
  color: #43658b;              /* match text to that same tone */
  padding: 24px 32px;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  position: relative;
}

/* Watermark icon stays, but tint it to your darker blue */
#banner::before {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  width: 150px; height: 150px;
  background: url('/static/img/football-icon.svg') no-repeat center/contain;
  filter: opacity(0.05) drop-shadow(0 0 0 #43658b);
  transform: translate(-50%, -50%) rotate(15deg);
  pointer-events: none;
}

/* Headline in your mid-blue, with a subtle weight bump */
#banner h1 {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 2.8rem;
  color: #4e89ae;      /* your header’s primary blue */
  letter-spacing: 1px;
  margin: 0;
  animation: slideIn 0.8s ease-out;
}

/* Subtext pill adjusted to blend */
#banner-subtext {
  background: #ebeff0;
  color: #212121;
  padding: 10px 20px;
  border-radius: 20px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
  border: 1px solid #ccc;
  margin-top: 20px;
  margin-bottom: 10px;
}
#banner-subtext a {
  color: #4e89ae;             /* accent just like your main header text */
  font-weight: 600;
  text-decoration: underline;
}
#banner-subtext a:hover {
  text-decoration: underline;
}

/* Keep your slideIn keyframes */
@keyframes slideIn {
  from { opacity: 0; transform: translateY(-20px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Download icon */
.icon-download        { color: var(--brand-1); transition: color .2s; }
.icon-download:hover  { color: var(--accent); }

/*Data Export Container */
.data-export {
  display: flex;
  justify-content: flex-start; /* push contents to the right */
  align-items: center;       /* vertically center if you have height */
}

.data-export-container {
  position: relative; /* establish a new stacking context */
  z-index: 10;        /* anything higher than the table’s z-index (default 0) */
  margin: 25px 0 -50px 0;
  background: #fff;
  border: 2px solid #000;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
}


/* Stats Table */
.container-stats-pts-against {
    padding-left: 150px;
    padding-right: 150px;
    padding-bottom: 40px;
    padding-top: 20px;
    border: 1px solid #ccc;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    border-radius: 5px;
    background-color: #fff;
    text-align: center;
    min-height: 800px; /* Adjust as needed */
    width: 30%;
    margin: 0 auto;
    margin-top: -25px;
    margin-bottom: 100px;
    flex-direction: row;
    overflow-x: auto; /* Allows horizontal scrolling if needed */
    white-space: nowrap; /* Prevents text from breaking and expanding table */
}

/* Style the search box container */
#statsTable_filter {
    float: right;
    background-color: white;  /* White background for the container */
    border: 2px solid #000;   /* Black border around the container */
    padding: 10px;             /* Padding inside the box */
    border-radius: 5px;       /* Rounded corners */
    display: inline-block;    /* Keeps the search box inline */
    margin-bottom: 15px;      /* Adds space below */
}

/* Style the search input field */
#statsTable_filter input {
    border: 2px solid #62B6F0;/* Cool blue border */
    border-radius: 5px;       /* Rounded corners */
    font-size: 12px;          /* Adjust text size */
    outline: none;            /* Remove focus outline */
    transition: border-color 0.3s ease-in-out;
}

/* Change border color when focused */
#statsTable_filter input:focus {
    border-color: #007bff;    /* Darker blue on focus */
    box-shadow: 0px 0px 5px rgba(0, 123, 255, 0.5); /* Subtle glow effect */
}

/* Style and update font type for the 'Search:' label */
#statsTable_filter label {
    font-weight: bold;         /* Make label text bold */
    color: #333;               /* Dark color for text */
    display: inline-block;     /* Ensure it aligns with the input */
    font-size: 12px;           /* Adjust font size */
    font-family: 'Istok Web'
    margin-right: 10px;        /* Adds spacing between label and input */
    text-transform: uppercase; /* Make label text uppercase */
    letter-spacing: 1px;       /* Slight spacing between letters */
}

/* Style the entire table */
.styled-table {
    border-collapse: collapse;
    width: 100%;
    font-family: Arial, sans-serif;
    font-size: 14px;
}

/* General cell styling */
.styled-table th, .styled-table td {
    padding: 8px 12px;
    text-align: right;
    border: 1px solid #ddd;
}

/* Header styling */
.styled-table th {
    background-color: #f4f4f4;
    font-weight: bold;
    text-align: center;
}

/* Left-align the first column ("Team") */
.styled-table td:first-child {
    text-align: left;
    font-weight: bold;
}

/* Thick border between Team and QB */
.styled-table td:nth-child(2),
.styled-table th:nth-child(2) {
    border-left: 4px solid black;
}

/* Base: default cell color */
td.highlight {
    color: #fff;
    text-align: right;
    font-weight: bold;
}

/* Dynamically added classes based on value */
.low {
    background-color: #d7191c; /* red */
}
.medium {
    background-color: #fdae61; /* orange */
}
.neutral {
    background-color: #ffffbf; /* yellow */
    color: #000;
}
.high {
    background-color: #a6d96a; /* light green */
}
.very-high {
    background-color: #1a9641; /* dark green */
}


@media (max-width: 765px) {
 /* 0. Make header padding tighter */
  .site-header,
  .site-header.container {
    margin; 0px;
    padding: 0rem 0.5rem;    /* cut vertical padding in half */
    height: auto;            /* ensure it grows only to its content */
  }

  /* 1. Shrink the logo */
  #logo img,
  #logo svg {
    width:83px;
    height:60px;
    display: block;
    margin:0px;
  }
  #logo {
    margin: 0px;
    padding: 0px;
  }

  /* 2. Compact the nav links */
  #nav {
    margin: 0;
    margin-left: auto;  /* this auto-margin in a flex container pushes it all the way right */
  }
  #nav ul {
    width: 90%;
    margin: 0 auto;
    margin-right: 0px;
  }
  #nav ul li {
    margin-left: 0rem;
    margin-right: 20px;
  }
  #nav ul li a {
    padding: 0rem 0rem;   /* smaller tap targets, but still tappable */
    font-size: 0.5rem;        /* reduce font size just a touch */
  }

  /* 6. Banner tweaks */
  #banner-wrapper {
    width: 80%;
    max-width: none;
    margin-top: 20px;
    margin-bottom: 0.5rem;
    padding: 0;
  }
  #banner {
    padding: 0.5rem;
    margin-bottom: -10px;
  }
  #banner h1 {
    font-size: 1.5rem;
  }
  #banner-subtext {
    width: 90%;
    font-size: 0.5rem;      /* or whatever fits—try 0.8rem–1rem */
    line-height: 1.3;       /* keeps it readable */
    padding: 4px 8px;      /* optional: reduce pill padding */
  }

    .container-stats-pts-against {
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 10px;
        padding-top: 10px;
        border: 1px solid #ccc;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
        border-radius: 5px;
        background-color: #fff;
        text-align: center;
        min-height: 450px; /* Adjust as needed */
        width: 80%;
        margin: 0 auto;
        margin-top: 0px;
        margin-bottom: -350px;
        flex-direction: row;
        overflow-x: auto; /* Allows horizontal scrolling if needed */
        white-space: nowrap; /* Prevents text from breaking and expanding table */
    }

  /* 3. Tone down the search box */
  #statsTable_filter {
      float: right;
      width: 50%;
      max-width: 100%;
      display: block;         /* Not inline */
      float: none;            /* Override default float: right from DataTables */
      text-align: center;       /* Optional: align label/input left */
      margin: 10px 0px 10px 100px;
      padding: 0.25rem;
      box-sizing: border-box;
    }
  #statsTable_filter label {
    font-size: 0.5rem;
    width: 100%;
    padding: 0 auto;
  }
  #statsTable_filter input {
    width: calc(50% - 12px);
    font-size: 0.5rem;
    padding: 0.25rem;
    border: 1px solid #62B6F0;
    border-radius: 4px;
  }
  /*Data Export Container */
  .data-export {
    display: flex;
    justify-content: flex-start; /* push contents to the right */
    align-items: center;       /* vertically center if you have height */
  }
  .data-export-container {
    /* scale everything to 50% */
    transform: scale(0.75);
    /* choose the anchoring point you want—top right, top left, etc */
    transform-origin: top left;
    margin: 10px 0 -52px 0;
    border: 2px solid #000;
    padding: 0.25rem 0.5rem;
  }

  #statsTable {
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;  /* iOS momentum */
      position: relative;                /* for fading‐edge */
      margin: 0px;
  }
  .table-responsive {
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      white-space: nowrap;
    }

  /* 4. Shrink table typography & borders */
  .styled-table {
    overflow-x: auto;
    width: auto;
    font-size: 0.5rem;
    border: 1px solid #666;
    border-radius: 1px;
    border-collapse: collapse;
    border-spacing: 0;
  }
  .styled-table thead th {
    font-size: 0.5rem;
    padding: 0rem;
    width: auto;
  }
  .styled-table tbody td {
    padding: 0 !important;    /* or use a tiny value: 0.2rem if you still want a sliver of space */
    line-height: 1.2;         /* tighten up vertical spacing too */
    width: auto;
  }

    /* Table section headings */
    .table-section h3 {
        margin-bottom: 10px;         /* Reduces space between heading and table */
        font-size: 12px;            /* Keeps text readable without excess space */
        font-weight: bold;
        color: #333;
    }

    .container-stats {
      transform: scale(0.75); /* REMOVE OR CHANGE TO scale(0.9) */
      transform-origin: top center;
      margin: 0px;
      padding: 0px;
      flex-direction: row;
      margin-bottom: 0px;
      overflow-x: auto;
      white-space: normal;  /* allows wrapping */
    }

    /* Unfreeze the first column */
    .styled-table tbody td:first-child,
    .styled-table thead th:first-child {
        position: relative;
        left: 1;
        height: 100%;
    }
    footer p{
	    font-size: 11px;
	    height: 100%;
	    display: none;
	}

}

footer {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  background-color: #43658b;
  color: white;
  text-align: center;
}