@charset "UTF-8";
@import "https://fonts.googleapis.com/css2?family=Graduate&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap";
@font-face {
  font-family: "ds-digitalnormal";
  src: url("fonts/ds-digi.woff2") format("woff2"), url("fonts/ds-digi.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}

body {
  background: url("../img/blackBG.jpg") no-repeat #000;
  background-size: cover;
  background-attachment: fixed;
  font-family: "Graduate", serif;
  margin: 0;
  padding: 0;
}

a.result[href="javascript:void()"],
.disabled {
  cursor: not-allowed;
}

.video-responsive {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  margin: 0 auto;
  overflow: hidden;
  max-width: 100%;
  background-color: black;
}
.video-responsive iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

p {
  padding: 20px;
  font: 16px "Montserrat", sans-serif;
  text-align: center;
}
p a {
  color: #fff;
  text-decoration: none;
}
p a:hover {
  text-decoration: underline;
}

header {
  text-align: center;
  padding-top: 60px;
}
header a img {
  display: inline-block;
  padding: 20px;
}
header #logo {
  max-width: 150px;
}

#home h1 {
  margin-bottom: 0;
}
#home .homeGrid {
  display: flex;
  max-width: 600px;
  margin: 0 auto;
  column-gap: 5px;
  padding: 0 2vw;
}
#home .homeGrid#th .homeCol {
  text-transform: uppercase;
  font-weight: bold;
  background: #641a33;
  color: #fff;
  text-align: center !important;
  font: 16px "Graduate", serif !important;
  padding: 10px;
}
#home .homeGrid .homeCol {
  flex: 1;
  width: 25%;
  font: 14px "Montserrat", sans-serif;
  padding: 5px 0;
  border-bottom: 1px solid #9a9f9a;
}
#home .homeGrid .homeCol:nth-child(even) {
  text-align: left;
}
#home .homeGrid .homeCol ul {
  font: 14px "Montserrat", sans-serif;
  padding: 0;
  margin: 0;
}
#home .homeGrid .homeCol ul li {
  display: inline-block;
  position: relative;
  padding-left: 16px;
  margin: 0 5px;
  border-bottom: 2px solid transparent;
}
#home .homeGrid .homeCol ul li:hover {
  cursor: pointer;
  border-bottom: 2px solid #641a33;
}
#home .homeGrid .homeCol ul li:hover::before {
  filter: brightness(0) saturate(100%) invert(14%) sepia(47%) saturate(3030%) hue-rotate(316deg) brightness(97%) contrast(92%);
}
#home .homeGrid .homeCol ul li::before {
  background-position: left 8px;
  background-size: 15px;
  background-repeat: no-repeat;
  position: absolute;
  left: 0px;
  top: 2px;
  content: "";
  height: 30px;
  width: 30px;
  content: "";
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7498%) hue-rotate(158deg) brightness(92%) contrast(119%);
}
#home .homeGrid .homeCol ul li.photoLink::before {
  background-image: url(../img/photo.svg);
}
#home .homeGrid .homeCol ul li.ytLink::before {
  background-image: url(../img/yt.svg);
}
#home .homeGrid .homeCol ul li.lsLink::before {
  background-image: url(../img/ytls.svg);
}
#home .homeGrid .homeCol ul li a {
  color: #fff;
  padding: 9px 5px 5px;
  display: block;
  position: relative;
  text-decoration: none;
  border-bottom: 2px solid transparent;
}
#home .homeGrid .homeCol a.gameList {
  color: #fff !important;
  text-decoration: none;
  display: inline-block;
  padding: 9px 0 0 0;
}
#home .homeGrid .homeCol.loss {
  color: #641a33;
}
#home .homeGrid .homeCol.win {
  color: greenyellow;
}
#home .homeGrid .homeCol.draw {
  color: #0c0c0d;
}
#home .homeGrid .homeCol .ytIcon,
#home .homeGrid .homeCol .photoIcon {
  height: 35px;
  filter: brightness(0) saturate(100%) invert(14%) sepia(47%) saturate(3030%) hue-rotate(316deg) brightness(97%) contrast(92%);
}
#home .homeGrid .homeCol .ytIcon:hover,
#home .homeGrid .homeCol .photoIcon:hover {
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7498%) hue-rotate(158deg) brightness(92%) contrast(119%);
}
#home h2 {
  display: flex;
  align-items: center;
  text-align: center;
  margin: 50px 0;
}
#home h2::before, #home h2::after {
  content: "";
  flex: 1;
  height: 1px;
}
#home h2::before {
  margin-right: 20px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 1%, rgb(255, 255, 255) 100%);
}
#home h2::after {
  margin-left: 20px;
  background: linear-gradient(270deg, rgba(255, 255, 255, 0) 1%, rgb(255, 255, 255) 100%);
}
#home #galleryContainer .grid .row {
  justify-content: center;
  gap: 20px;
}
#home #galleryContainer .col {
  flex: 0 0 15% !important;
}
#home #galleryContainer .col,
#home #galleryContainer .col img {
  border: none !important;
  border-radius: 0 !important;
}
#home #galleryContainer .col img {
  width: 100% !important;
}

#youTube {
  text-align: center;
}
#youTube img:hover {
  transform: scale(1.1);
  transition: 0.3s ease-in-out;
}

.video-container {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
}
.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.scheduleForm {
  max-width: 800px;
  margin: 0 auto;
}
.scheduleForm form {
  width: 100%;
}
.scheduleForm #outer_table {
  margin: 0 auto;
  width: 100%;
  border-spacing: 0 !important;
}
.scheduleForm #outer_table:nth-of-type(2),
.scheduleForm #outer_table tr:nth-child(1),
.scheduleForm #outer_table tr:nth-child(2),
.scheduleForm #outer_table td table tr:nth-child(5),
.scheduleForm #outer_table td.bcopy,
.scheduleForm #outer_table tbody tr td:nth-child(n+6) {
  display: none;
}
.scheduleForm #outer_table tr:nth-of-type(3) > td:nth-of-type(3) {
  display: none;
}
.scheduleForm #outer_table tbody tr:nth-child(4) td:nth-child(-n+5) {
  font: bold 18px "Graduate", serif;
  padding-top: 30px;
}
.scheduleForm #outer_table tbody tr:nth-child(4) td:nth-child(1) {
  display: none;
}
.scheduleForm #outer_table td {
  font: 14px "Montserrat", sans-serif;
  color: #fff;
  padding: 5px 10px 10px 10px;
}
.scheduleForm #outer_table td.bgColorWhite {
  border: none;
}
.scheduleForm #outer_table table {
  border-spacing: 0 !important;
}
.scheduleForm #outer_table table tr:nth-child(3) {
  display: none;
}
.scheduleForm #outer_table table tr td:first-child:not([colspan="13"]) {
  display: none;
}
.scheduleForm #outer_table table tr td {
  padding: 0px 10px 30px 10px;
  width: 5%;
}
.scheduleForm #outer_table table tr td[colspan="13"] {
  padding: 30px 10px 5px 10px;
  font-size: 12px;
  font-style: italic;
  color: #9a9f9a;
}
.scheduleForm #outer_table table tr:nth-child(4n),
.scheduleForm #outer_table table tr:nth-child(4n-3) {
  background: rgba(100, 26, 51, 0.5);
}
.scheduleForm #outer_table table tr:last-child {
  background: none;
}

.scheduleForm2 {
  max-width: 800px;
  margin: 0 auto;
}
.scheduleForm2 form {
  width: 100%;
}
.scheduleForm2 #outer_table {
  margin: 0 auto 50px;
  width: 100%;
  border-spacing: 0 !important;
}
.scheduleForm2 #outer_table tr td:first-of-type:not([style="height:20px"]) {
  display: none;
}
.scheduleForm2 #outer_table tr:nth-child(1),
.scheduleForm2 #outer_table tr:nth-child(2),
.scheduleForm2 #outer_table td table tr:nth-child(5),
.scheduleForm2 #outer_table td.bcopy,
.scheduleForm2 #outer_table tbody tr td:nth-child(n+6) {
  display: none;
}
.scheduleForm2 #outer_table strike {
  color: #9a9f9a !important;
}
.scheduleForm2 #outer_table:nth-of-type(1) tr:nth-child(4n+7),
.scheduleForm2 #outer_table:nth-of-type(1) tr:nth-child(4n+8) {
  background: rgba(122, 31, 61, 0.5);
}
.scheduleForm2 #outer_table:nth-of-type(1) tr:nth-of-type(-n + 3) td:first-child,
.scheduleForm2 #outer_table:nth-of-type(1) tbody tr:nth-child(4) td:first-child {
  display: none;
}
.scheduleForm2 #outer_table:nth-of-type(1) tr:nth-of-type(-n + 3) td:nth-child(-n+5),
.scheduleForm2 #outer_table:nth-of-type(1) tbody tr:nth-child(4) td:nth-child(-n+5) {
  font: bold 18px "Graduate", serif;
  background: #641a33;
  padding: 20px 10px;
}
.scheduleForm2 #outer_table:nth-of-type(2) tr:nth-child(4n+4),
.scheduleForm2 #outer_table:nth-of-type(2) tr:nth-child(4n+5) {
  background: rgba(122, 31, 61, 0.5);
}
.scheduleForm2 #outer_table td {
  font: 14px "Montserrat", sans-serif;
  color: #fff;
  padding: 0px 10px 20px 10px;
  width: 25%;
}
.scheduleForm2 #outer_table td.bgColorWhite {
  border: none;
}
.scheduleForm2 #outer_table td[colspan="13"] {
  padding: 20px 0 0 10px;
  font-size: 12px;
  font-style: italic;
  color: #9a9f9a;
}
.scheduleForm2 #outer_table table {
  border-spacing: 0 !important;
}
.scheduleForm2 #outer_table table tr:nth-child(3) {
  display: none;
}
.scheduleForm2 #outer_table table tr td:first-child:not([colspan="13"]) {
  display: none;
}
.scheduleForm2 #outer_table table tr td {
  padding: 0px 10px 30px 10px;
  width: 5%;
}
.scheduleForm2 #outer_table table tr:last-child {
  background: none;
}

#scheduleFrame {
  width: calc(100vw - 20px);
  height: 220vh;
  border: none;
  background: #fff;
  overflow: scroll;
  padding-bottom: 10vh;
  margin: 0 10px;
}

.width100:nth-of-type(2) {
  display: none;
}

#galleryContainer .grid {
  margin: 0 auto;
  padding: 20px 0;
}
#galleryContainer .grid .row {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  gap: 5px;
  padding: 0 20px;
}
#galleryContainer .grid .row.home {
  justify-content: center;
  gap: 20px;
}
#galleryContainer .grid .row .col {
  flex-basis: 25%;
  -ms-flex: auto;
  position: relative;
  box-sizing: border-box;
  flex: 0 0 19%;
  display: flex;
  align-items: start;
  margin-bottom: 15px;
  cursor: pointer;
  align-self: center;
  border-radius: 20px;
  border: 3px solid #9a9f9a;
  overflow: hidden;
}
#galleryContainer .grid .row .col:hover {
  border-color: #641a33;
  box-shadow: 0 0 0 2px #000, 0 0 20px 10px #000;
  transition: 0.5s ease-out;
}
#galleryContainer .grid .row .col:hover img.thumb {
  transform: scale(1.2);
}
#galleryContainer .grid .row .col:hover span.controls {
  display: inline;
}
#galleryContainer .grid .row .col img.thumb {
  width: 100%;
  transform: scale(1.05);
  transition: 0.5s ease-out;
}
#galleryContainer .grid .row .col span.controls {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 5;
  display: none;
}
#galleryContainer .grid .row .col span.controls img {
  filter: invert(100%);
  cursor: pointer;
}

h1 {
  text-align: center;
  margin: 30px 0 32px 0;
  font: 40px "Graduate", serif;
  color: #ffffff;
  text-shadow: 2px 2px 2px #7a1f3d;
}

h2 {
  text-align: center;
  font: 34px "Graduate", serif;
  color: #fff;
}

h3 {
  text-align: center;
  font: 26px "Montserrat", sans-serif;
  color: #fff;
}

#modal {
  background: rgba(0, 0, 0, 0.85);
  position: fixed;
  height: 98vh;
  width: 100vw;
  z-index: -1;
  display: block;
  align-content: center;
  text-align: center;
  top: 0;
  left: 0;
  padding: 2vh 0;
  opacity: 0;
  transition: 0.5s ease-in-out 0.05s;
  cursor: zoom-out;
}
#modal img#zoomed {
  max-height: 96vh;
  margin: 0 auto;
  border-radius: 20px;
  border: 3px solid #641a33;
  cursor: default;
}
#modal a.closeX {
  cursor: pointer;
  position: relative;
  display: inline-block;
}
#modal a.closeX:after {
  filter: invert(100);
  height: 24px;
  width: 24px;
  content: url("../img/x-circle.svg");
  position: absolute;
  top: 15px;
  right: 15px;
}
#modal.on {
  z-index: 1000;
  opacity: 1;
}
#modal #zoomFrame {
  display: inline-block;
  position: relative;
  transform: scale(0);
  transition: 0.5s ease-in;
}
#modal #zoomFrame.on {
  transform: scale(1);
}
#modal #zoomFrame span {
  border: solid #fff;
  border-width: 0 10px 10px 0;
  display: inline-block;
  padding: 10px;
  position: absolute;
  top: 50%;
  cursor: pointer;
}
#modal #zoomFrame span#arrowRight {
  right: -10%;
  transform: rotate(-45deg);
}
#modal #zoomFrame span#arrowLeft {
  left: -10%;
  transform: rotate(135deg);
}
#modal #zoomFrame #slideNumber {
  width: calc(100% - 20px);
  border-radius: 20px;
  background: rgba(100, 26, 51, 0.9);
  color: #fff;
  font-size: 14px;
  text-align: center;
  padding: 10px 0;
  position: absolute;
  bottom: 10px;
  margin: 0 auto;
  left: 10px;
  display: block;
  text-decoration: none;
}
#modal #zoomFrame #slideNumber:after {
  position: absolute;
  filter: invert(100%);
  content: url("../img/download.svg");
  height: 24px;
  width: 24px;
  right: 16px;
  top: 6px;
}
#modal #zoomFrame #slideNumber:hover {
  background: rgb(100, 26, 51);
}

/* Nav */
nav {
  margin: 0 auto;
  padding: 0;
  position: fixed;
  top: 0px;
  width: 100vw;
  height: 60px;
  z-index: 200;
  background: url(../img/Stateliners-FC-Shield.svg) 10px center no-repeat;
  background-size: 45px;
}
nav.show {
  transition: 0.3s;
  background: url(../img/Stateliners-FC-Shield.svg) 10px center rgb(100, 26, 51) no-repeat;
  background-size: 45px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.5);
}
nav:after {
  content: "";
  display: table;
  clear: both;
}
nav ul {
  display: inline-block;
  padding: 0;
  margin: 0 auto;
  list-style: none;
  position: relative;
}
nav ul li {
  font: 14px "Montserrat", sans-serif;
  margin: 0px;
  float: left;
}
nav ul li ul li:hover {
  background: #0c0c0d;
}
nav ul li:hover > ul {
  display: inherit;
}
nav ul ul {
  display: none;
  position: absolute;
  top: 60px;
}
nav ul ul a {
  font: 14px "arial", san-serif;
  padding: 5px;
  text-align: left;
  background-color: #0c0c0d;
  border: solid #641a33;
  border-width: 0 1px 1px 1px;
}
nav ul ul li {
  width: 250px;
  float: none;
  display: list-item;
  position: relative;
}
nav a {
  display: block;
  padding: 0 10px;
  color: #fff;
  font-size: 14px;
  line-height: 60px;
  text-decoration: none;
}
nav a:hover, nav a.on {
  background-color: #7a1f3d !important;
}
nav a.navX span {
  display: none;
}
nav a.navX {
  background: url(../img/social-x.svg) no-repeat center center;
  width: 10px;
  height: 60px;
  position: relative;
  top: 0;
  background-size: 70%;
  padding: 0 10px;
}
nav a.navX:hover, nav a.navX.on {
  background: url(../img/social-x.svg) no-repeat center center #7a1f3d !important;
}
nav a#homeBtn {
  display: inline-block !important;
  position: absolute;
  top: 0;
  left: 0;
  height: 55px;
  width: 55px;
  padding: 0;
}
nav a#homeBtn:hover {
  background: none !important;
}
nav a#homeBtn span {
  display: none;
}

li > a {
  position: relative;
}
li > a:after {
  content: " &#9660;";
  font-size: 50%;
  position: absolute;
  top: 2px;
  right: 7px;
  transform: scale(0.8, 0.4);
}
li > a:only-child:after {
  content: "";
}
li label {
  position: relative;
}
li label:after {
  content: " &#9660;";
  font-size: 50%;
  position: absolute;
  top: 2px;
  right: 20px;
  transform: scale(1.2, 0.8);
}
li label:only-child:after {
  content: "";
}

.toggle {
  display: none;
}

[id^=drop] {
  display: none;
}

/* Games Cards Grid */
.gamesGrid {
  max-width: 1325px;
  margin: 0 auto;
}
.gamesGrid #sorter {
  padding: 10px 40px;
  text-align: right;
  font: 16px "Montserrat", sans-serif;
  cursor: pointer;
  color: #fff;
}
.gamesGrid #sorter .order {
  display: inline-block;
  padding: 10px;
  border: 1px solid #9a9f9a;
  border-radius: 12px;
}
.gamesGrid #sorter .order.off {
  display: none;
}
.gamesGrid #sorter .order:hover {
  color: #ffea00;
  border-color: #ffea00;
}

.cards {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  padding: 0 10px;
  justify-content: center;
}
.cards li {
  font: 18px "Montserrat", sans-serif;
  width: 375px;
  margin: 30px;
  padding: 0;
  box-sizing: border-box;
  border-radius: 12px;
  color: #0c0c0d;
}
.cards li.upcoming {
  display: none;
  filter: grayscale(100%);
  pointer-events: none;
  opacity: 0.5;
}
.cards li .date {
  text-align: center;
  font-weight: bold;
  background: #641a33;
  border-radius: 12px 12px 0 0;
  color: #fff;
  padding: 10px;
  position: relative;
}
.cards li .date:before {
  position: absolute;
  content: " ";
  width: 65px;
  height: 69px;
  background: url("../img/logos/phillipsburg-logo.png") no-repeat;
  background-size: cover;
  left: 6px;
  top: -15px;
}
.cards li .date.pjLogo:after {
  width: 80px;
  height: 57px;
  background: url("../img/logos/pj-logo.png") no-repeat;
  top: -10px;
  right: 5px;
}
.cards li .date.collegeachieveLogo:after {
  width: 80px;
  height: 77px;
  background: url("../img/logos/college-achieve-central-logo.png") no-repeat;
  top: -19px;
  right: -5px;
}
.cards li .date.newtonLogo:after {
  width: 69px;
  height: 69px;
  background: url("../img/logos/newton-logo.png") no-repeat;
  top: -15px;
  right: 2px;
}
.cards li .date.shunterdonLogo:after {
  width: 101px;
  height: 53px;
  background: url("../img/logos/south-hunterdon-logo.png") no-repeat;
  top: -5px;
  right: -9px;
}
.cards li .date.hackettstownLogo:after {
  width: 60px;
  height: 58px;
  background: url("../img/logos/hackettstown-logo.png") no-repeat;
  top: -8px;
  right: 8px;
}
.cards li .date.hillsboroughLogo:after {
  width: 73px;
  height: 69px;
  background: url("../img/logos/hillsborough-logo.png") no-repeat;
  top: -15px;
  right: -11px;
}
.cards li .date.franklinLogo:after {
  width: 54px;
  height: 69px;
  background: url("../img/logos/franklin-logo.png") no-repeat;
  top: -15px;
  right: 9px;
}
.cards li .date.westfieldLogo:after {
  width: 54px;
  height: 69px;
  background: url("../img/logos/westfield-logo.png") no-repeat;
  top: -15px;
  right: 9px;
}
.cards li .date.elizabethLogo:after {
  width: 54px;
  height: 79px;
  background: url(../img/logos/elizabeth-logo.png) no-repeat;
  top: -6px;
  right: 9px;
  background-size: contain !important;
}
.cards li .date.livingstonLogo:after {
  width: 64px;
  height: 69px;
  background: url("../img/logos/livingston-logo.png") no-repeat;
  top: -20px;
  right: 3px;
}
.cards li .date.delvalLogo:after {
  width: 69px;
  height: 69px;
  background: url("../img/logos/del-val-logo.png") no-repeat;
  top: -15px;
  right: 2px;
}
.cards li .date.voorheesLogo:after {
  width: 96px;
  height: 69px;
  background: url("../img/logos/voorhees-logo.png") no-repeat;
  top: -15px;
  right: -1px;
}
.cards li .date.nhunterdonLogo:after {
  width: 69px;
  height: 69px;
  background: url("../img/logos/north-hunterdon-logo.png") no-repeat;
  top: -13px;
  right: 4px;
}
.cards li .date.rutgersprepLogo:after {
  width: 98px;
  height: 69px;
  background: url("../img/logos/rutgers-prep-logo.png") no-repeat;
  top: -15px;
  right: -10px;
}
.cards li .date.mtoliveLogo:after {
  width: 52px;
  height: 69px;
  background: url("../img/logos/mt-olive-logo.png") no-repeat;
  top: -15px;
  right: 9px;
}
.cards li .date.somervilleLogo:after {
  width: 63px;
  height: 69px;
  background: url("../img/logos/somerville-logo.png") no-repeat;
  top: -15px;
  right: 3px;
}
.cards li .date.eastonLogo:after {
  width: 74px;
  height: 69px;
  background: url("../img/logos/easton-logo.png") no-repeat;
  top: -15px;
  right: 6px;
}
.cards li .date.warrenhillsLogo:after {
  width: 85px;
  height: 85px;
  background: url("../img/logos/warren-hills-logo.png") no-repeat;
  top: -23px;
  right: 1px;
}
.cards li .date.montgomeryLogo:after {
  width: 66px;
  height: 69px;
  background: url("../img/logos/montgomery-logo.png") no-repeat;
  top: -12px;
  right: 3px;
}
.cards li .date.ridgeLogo:after {
  width: 74px;
  height: 69px;
  background: url("../img/logos/ridge-logo.png") no-repeat;
  top: -15px;
  right: -12px;
}
.cards li .date.northwarrenLogo:after {
  width: 70px;
  height: 69px;
  background: url("../img/logos/north-warren-logo.png") no-repeat;
  top: -12px;
  right: 3px;
}
.cards li .date.opponentLogo:after {
  position: absolute;
  content: " ";
  background-repeat: no-repeat;
  background-size: cover;
  background-image: var(--opp-logo);
  width: var(--opp-w, 69px);
  height: var(--opp-h, 69px);
  top: var(--opp-top, -15px);
  right: var(--opp-right, 3px);
}
.cards li .scoreBoard {
  padding: 20px 10px;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  background: #fff;
  width: 100%;
  border-radius: 0 0 12px 12px;
}
.cards li .scoreBoard .teamName {
  position: absolute;
  font: bold 10.5px "Montserrat", sans-serif;
  top: 12px;
  white-space: nowrap;
}
.cards li .scoreBoard .pburgScore {
  position: relative;
}
.cards li .scoreBoard .pburgScore .teamName {
  left: 60px;
}
.cards li .scoreBoard .opponentScore {
  position: relative;
}
.cards li .scoreBoard .opponentScore .teamName {
  right: 60px;
  text-align: right;
}
.cards li .scoreBoard .score {
  display: block;
  height: 50px;
  width: 50px;
  border-radius: 12px;
  background: linear-gradient(180deg, #000 0%, #1d1d1d 100%);
  color: #ffea00;
  text-align: center;
  text-shadow: 0px 0px 12px #ffea00;
  font: 32px "ds-digitalnormal", sans-serif;
  box-sizing: border-box;
  padding: 9px 0 0 0;
  position: relative;
}
.cards li .scoreBoard .score .pk {
  position: absolute;
  right: -9px;
  bottom: -11px;
  font: normal normal 12px "Montserrat", sans-serif;
  background: #000;
  padding: 5px;
  width: 15px;
  height: 15px;
  border-radius: 25px;
  border: 1px solid #ffea00;
}
.cards li .scoreBoard .vs {
  background: #641a33;
  width: 50px;
  height: 50px;
  padding: 11px 0 0 0;
  border-radius: 25px;
  text-align: center;
  color: #fff;
  font: 24px "Graduate", serif;
  text-transform: uppercase;
  box-sizing: border-box;
}
.cards li .heroPhoto {
  max-width: 100%;
  margin: 10px 0 6px 0;
  max-height: 250px;
}
.cards li .result {
  display: block;
  position: relative;
}
.cards li .result:before {
  position: absolute;
  top: 0 !important;
  background: #641a33;
  right: 0 !important;
  padding: 10px 0;
  color: #fff;
  width: 40px;
  font-size: 22px;
  display: inline-block;
  border-radius: 0 0 0 12px;
  font-weight: bold;
  text-align: center;
}
.cards li .result:after {
  content: "" !important;
}
.cards li .result.W:before {
  content: "W";
}
.cards li .result.L:before {
  content: "L";
}
.cards li .result.D:before {
  content: "D";
}
.cards li .scrimmage {
  display: block;
  position: relative;
}
.cards li .scrimmage:after {
  content: "Scrimmage" !important;
  position: absolute;
  bottom: 0 !important;
  background: #ffea00;
  left: 0 !important;
  top: auto !important;
  transform: none !important;
  right: auto !important;
  padding: 10px;
  color: #000;
  font-size: 12px;
  display: inline-block;
  border-radius: 0 12px 0 0;
}
.cards li .rescheduled {
  display: block;
  position: relative;
}
.cards li .rescheduled:after {
  content: "Rescheduled" !important;
  position: absolute;
  bottom: 0 !important;
  background: #ffea00;
  left: 0 !important;
  top: auto !important;
  transform: none !important;
  right: auto !important;
  padding: 10px;
  color: #000;
  font-size: 12px;
  display: inline-block;
  border-radius: 0 12px 0 0;
}
.cards li .tournament {
  display: block;
  position: relative;
}
.cards li .tournament:after {
  content: "HWS Tournament" !important;
  position: absolute;
  bottom: 0 !important;
  background: #ffea00;
  left: 0 !important;
  top: auto !important;
  transform: none !important;
  right: auto !important;
  padding: 10px;
  color: #000;
  font-size: 12px;
  display: inline-block;
  border-radius: 0 12px 0 0;
}
.cards li .upcoming {
  display: block;
  position: relative;
}
.cards li .upcoming:after {
  content: "Upcoming" !important;
  position: absolute;
  bottom: 0 !important;
  background: #ffea00;
  left: 0 !important;
  top: auto !important;
  transform: none !important;
  right: auto !important;
  padding: 10px;
  color: #000;
  font-size: 12px;
  display: inline-block;
  border-radius: 0 12px 0 0;
}
.cards li .states {
  display: block;
  position: relative;
}
.cards li .states:after {
  content: "State Tournament" !important;
  position: absolute;
  bottom: 0 !important;
  background: #ffea00;
  left: 0 !important;
  top: auto !important;
  transform: none !important;
  right: auto !important;
  padding: 10px;
  color: #000;
  font-size: 12px;
  display: inline-block;
  border-radius: 0 12px 0 0;
}
.cards li .media {
  width: 100%;
  padding: 20px;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  background: #fff;
  width: 100%;
}
.cards li .media a {
  text-align: center;
  display: block;
  text-decoration: none;
  font: 12px "Montserrat", sans-serif;
  color: #641a33;
}
.cards li .media a img {
  margin-top: 5px;
  display: block;
  height: 45px;
  width: 64px;
  filter: brightness(0) saturate(100%) invert(14%) sepia(16%) saturate(6499%) hue-rotate(310deg) brightness(95%) contrast(96%);
}
.cards li .media a.disabled {
  filter: brightness(0) saturate(100%) invert(68%) sepia(0%) saturate(0%) hue-rotate(270deg) brightness(92%) contrast(90%);
  pointer-events: none;
}

/* Back to Top */
.back-to-top {
  position: fixed;
  bottom: -40px;
  right: 40px;
  display: block;
  width: 50px;
  height: 50px;
  line-height: 50px;
  background: #641a33;
  color: #fff;
  text-align: center;
  text-decoration: none;
  border-radius: 50%;
  opacity: 0;
  -webkit-transform: scale(0.3);
  -ms-transform: scale(0.3);
  transform: scale(0.3);
  box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.2);
  z-index: 9;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.back-to-top:focus {
  color: #fff;
}

.back-to-top.show {
  bottom: 40px;
  right: 40px;
  opacity: 1;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.back-to-top.show:hover {
  color: #fff;
  bottom: 50px;
  opacity: 1;
}

.arrow {
  background-image: url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PHN0eWxlPi5zdDB7ZmlsbDojZmZmfTwvc3R5bGU+PHBhdGggY2xhc3M9InN0MCIgZD0iTTMxOS4xIDIxN2MyMC4yIDIwLjIgMTkuOSA1My4yLS42IDczLjdzLTUzLjUgMjAuOC03My43LjZsLTE5MC0xOTBjLTIwLjEtMjAuMi0xOS44LTUzLjIuNy03My43UzEwOSA2LjggMTI5LjEgMjdsMTkwIDE5MHoiLz48cGF0aCBjbGFzcz0ic3QwIiBkPSJNMzE5LjEgMjkwLjVjMjAuMi0yMC4yIDE5LjktNTMuMi0uNi03My43cy01My41LTIwLjgtNzMuNy0uNmwtMTkwIDE5MGMtMjAuMiAyMC4yLTE5LjkgNTMuMi42IDczLjdzNTMuNSAyMC44IDczLjcuNmwxOTAtMTkweiIvPjwvc3ZnPg==);
  position: absolute;
  width: 12px;
  height: 12px;
  background-size: contain;
  transform: rotate(-90deg);
  top: 30%;
  left: 38%;
}

.arrow:nth-child(2) {
  top: 42%;
}

@keyframes bounceAlpha {
  0% {
    opacity: 1;
    transform: rotate(-90deg) translateX(0px) scale(1);
  }
  25% {
    opacity: 0;
    transform: rotate(-90deg) translateX(10px) scale(0.9);
  }
  26% {
    opacity: 0;
    transform: rotate(-90deg) translateX(-10px) scale(0.9);
  }
  55% {
    opacity: 1;
    transform: rotate(-90deg) translateX(0px) scale(1);
  }
}
.back-to-top:hover .arrow {
  animation-name: bounceAlpha;
  animation-duration: 1.4s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

.back-to-top:hover .arrow:nth-child(2) {
  animation-name: bounceAlpha;
  animation-duration: 1.4s;
  animation-delay: 0.2s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

@media only screen and (max-width: 575px) {
  .back-to-top {
    width: 30px;
    height: 50px;
    line-height: 40px;
  }
  .back-to-top.show {
    bottom: 10px;
    right: 10px;
  }
  .back-to-top.show:hover {
    bottom: 10px;
  }
  .arrow {
    top: 27%;
    left: 37%;
  }
}
@media (max-width: 768px) {
  /* nav {
  	margin: 0;
  	ul {
  		li {
  			display: block;
  			width: 100%;
  			border-bottom: 1px solid #9A9F9A;
  			background-color: $garnet;
  			ul {
  				li {
  					.toggle {
  						background-color: $dgrey;
  						padding: 20px;
  						font-size: 18px;
  					}
  				}
  			}
  			&:hover {
  				>ul {
  					display: none;
  				}
  			}
  		}
  		ul {
  			.toggle {
  				padding: 0 40px;
  			}
  			a {
  				padding: 0 40px;
  				background-color: $dgrey;
  				padding: 20px;
  				font-size: 18px;
  			}
  			float: none;
  			position: static;
  			color: #fff;
  			li {
  				display: block;
  				width: 100%;
  			}
  		}
  	}
  	a {
  		&:hover {
  			background-color: $dgrey;
  		}
  	}
  }
  .toggle {
  	+ {
  		a {
  			display: none;
  		}
  	}
  	display: block;
  	background-color: $dgrey;
  	padding: 0 20px;
  	color: #fff;
  	font-size: 20px;
  	line-height: 60px;
  	text-decoration: none;
  	border: solid #9A9F9A;
  	border-width: 1px 0;
  	&:hover {
  		background-color: $dgrey;
  	}
  }
  .menu {
  	display: none;
  }
  [id^=drop] {
  	&:checked {
  		+ {
  			ul {
  				display: block;
  			}
  		}
  	}
  }
  li {
  	>.toggle {
  		background-color: $garnet;
  		&:hover {
  			background-color: $lgarnet;
  		}
  	}
  } */
  nav ul {
    left: 20px;
  }
  nav ul a {
    padding: 0 6px;
  }
  nav ul a:hover, nav ul a:focus {
    background: none !important;
  }
  a {
    padding: 0px 10px;
    font-size: 16px;
  }
  a.result {
    padding: 0;
  }
  .gamesGrid #sorter {
    text-align: center;
  }
  .cards li {
    margin: 20px 0;
  }
  .cards li .scoreboard .vs {
    margin-top: 15px;
    width: 25px;
    height: 25px;
    padding: 5px 0 0 0;
    border-radius: 13px;
    font: 12px "Graduate", serif;
  }
  .cards li .scoreboard .teamname {
    font-size: 10.5px;
  }
  .cards li .scoreboard .pburgScore .teamname {
    left: 55px;
  }
  .cards li .scoreboard .opponentScore .teamname {
    right: 55px;
    text-align: left;
  }
}
@media (max-width: 1333px) {
  #galleryContainer .col {
    flex-basis: 33.33%;
    flex: 0 0 25%;
  }
}
@media (max-width: 1073px) {
  #outer_table {
    max-width: 95vw;
    margin: 0 auto;
  }
  #outer_table td {
    padding: 5px 5px 10px 5px !important;
  }
  #outer_table table tr td {
    padding: 5px 5px 10px 5px !important;
  }
  #outer_table table tr td[colspan="13"] {
    padding: 30px 5px 10px 5px !important;
    font-size: 12px;
    font-style: italic;
    color: #9a9f9a;
  }
  #galleryContainer .grid .row {
    display: block;
    padding: 0 15px;
  }
  #galleryContainer .grid .row .col {
    display: block !important;
    margin-bottom: 15px;
  }
  #galleryContainer .grid .row .col span.controls {
    display: none !important;
    position: absolute;
    bottom: 10px !important;
    right: 10px !important;
    top: auto;
    left: auto;
    z-index: 5;
  }
  #galleryContainer .grid .row .col span.controls img.zoom {
    display: none !important;
  }
  #galleryContainer .grid .row .col span.controls a {
    display: inline-block;
    padding: 10px;
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.25);
  }
  #galleryContainer .grid .row .col span.controls a img {
    width: 28px;
  }
  #galleryContainer .grid .row img.thumb {
    max-width: none !important;
    width: 100%;
  }
  #modal {
    display: none;
  }
}
/* Stat Tables */
.table-container {
  border-radius: 0;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  margin: 0 auto;
  display: flex;
  text-align: center;
}

table.stats {
  max-width: 500px;
  border-collapse: collapse;
  background: #fff;
  margin: 0 auto;
}
table.stats thead,
table.stats tfoot {
  background: #641a33;
  color: white;
}
table.stats th,
table.stats td {
  padding: 12px 16px;
  text-align: left;
}
table.stats th:not(:first-child),
table.stats td:not(:first-child) {
  text-align: center;
}
table.stats th {
  font-weight: 600;
  text-transform: uppercase;
}
table.stats tbody tr {
  transition: background-color 0.2s ease;
}
table.stats tbody tr td {
  font-family: "Montserrat", sans-serif;
}
table.stats tbody tr:hover {
  background-color: #f8f9ff;
}
table.stats tbody tr:nth-child(even) {
  background-color: #fafafa;
}
table.stats tbody tr:nth-child(even):hover {
  background-color: #f0f1ff;
}
table.stats acronym {
  text-decoration: none;
  border-bottom: 1px dotted currentColor;
}

@media (max-width: 768px) {
  .table-container {
    margin: 10px;
    border-radius: 8px;
  }
  table.stats th,
  table.stats td {
    padding: 8px 10px;
  }
  table.stats th {
    font-size: 11px;
  }
}
@media (max-width: 480px) {
  table.stats th,
  table.stats td {
    padding: 6px 8px;
  }
}
@media (max-width: 480px) and (max-width: 360px) {
  table.stats {
    display: block;
  }
  table.stats thead,
  table.stats tbody,
  table.stats th,
  table.stats td,
  table.stats tr {
    display: block;
  }
  table.stats thead tr {
    position: absolute;
    top: -9999px;
    left: -9999px;
  }
  table.stats tbody tr {
    border: 1px solid #ccc;
    border-radius: 8px;
    margin-bottom: 10px;
    padding: 10px;
    background: white;
  }
  table.stats tbody td {
    border: none;
    position: relative;
    padding: 8px 8px 8px 40%;
    text-align: left;
  }
  table.stats tbody td:before {
    content: attr(data-label) ": ";
    position: absolute;
    left: 8px;
    width: 35%;
    font-weight: 600;
    color: #2c3e50;
  }
}
.maintained {
  text-align: center;
  color: #9a9f9a;
  font: 14px "Montserrat", sans-serif;
  padding: 20px;
}
.maintained a {
  color: #fff;
}

/* X Feed */
body .sk-ww-twitter-feed {
  padding: 0 1rem;
}

.sk-posts-header,
.sk-posts-body .sk-ww-twitter-feed .sk-posts-footer,
.sk_branding,
.tutorial_link {
  display: none !important;
}

body .sk-ww-twitter-feed .sk-posts-popup,
body .sk-ww-twitter-feed .sk-posts-body {
  max-width: 1325px;
  margin: 0 auto !important;
}

body .sk-ww-twitter-feed .sk-posts-footer .sk-footer-button {
  background-color: #641a33 !important;
}

/* Footer */
.footer {
  background: #641a33;
  padding: 20px;
  margin-top: 70px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: flex-start;
  gap: 40px;
}
.footer .footer-column {
  flex: 0 1 auto;
  min-width: 0;
  overflow-wrap: break-word;
  font: 16px "Montserrat", sans-serif;
  color: #fff;
}
.footer .footer-column #footerShield {
  width: 220px;
  max-width: 100%;
  height: auto;
}
.footer .footer-column a {
  text-decoration: none;
  color: #fff;
  display: inline-block;
  padding: 5px;
  border-radius: 12px;
  transition: 0.2s;
}
.footer .footer-column a:hover {
  background-color: rgba(255, 255, 255, 0.1) !important;
}
.footer .footer-column h4 {
  margin-bottom: 15px;
  color: #fff;
  text-transform: uppercase;
  font: 600 18px "Montserrat", sans-serif;
}
.footer .footer-column p {
  text-align: left;
  padding: 0;
  max-width: 450px;
}
.footer .footer-column ul {
  padding: 0;
  margin: 0 0 15px 0px;
  list-style: none;
}
.footer .footer-column ul li {
  color: #fff;
}
.footer .footer-column ul li a {
  padding: 5px;
  display: block;
  color: #fff;
}
.footer .footer-column ul li.yt a {
  background: url("../img/social-yt.svg") no-repeat 5px center;
}
.footer .footer-column ul li.x a {
  background: url("../img/social-x.svg") no-repeat 5px center;
}
.footer .footer-column ul li.fb a {
  background: url("../img/social-fb.svg") no-repeat 5px center;
}
.footer .footer-column ul li.ti a {
  background: url("../img/social-ti.svg") no-repeat 5px center;
}
.footer .footer-column ul.footerSocial {
  list-style: none;
}
.footer .footer-column ul.footerSocial li {
  margin-bottom: 10px;
}
.footer .footer-column ul.footerSocial a {
  padding-left: 40px;
}
.footer .footer-column:last-of-type ul {
  list-style-type: disc;
  margin: 0 0 0 15px;
}
.footer .footer-column:last-of-type ul li {
  margin-bottom: 5px;
}
.footer .footer-column:first-of-type a:hover {
  background: none !important;
}
@media (min-width: 769px) {
  .footer .footer-column:nth-child(1) {
    flex: 0 1 220px;
    min-width: 70px;
  }
  .footer .footer-column:nth-child(4) {
    flex: 0 1 470px;
    min-width: 170px;
  }
  .footer .footer-column:nth-child(2), .footer .footer-column:nth-child(3) {
    flex: 0 0 auto;
    min-width: max-content;
    white-space: nowrap;
  }
}
@media (max-width: 1100px) and (min-width: 769px) {
  .footer {
    gap: 22px;
  }
  .footer .footer-column {
    font-size: 14px;
  }
}
@media (max-width: 900px) and (min-width: 769px) {
  .footer {
    gap: 14px;
  }
  .footer .footer-column {
    font-size: 13px;
  }
  .footer .footer-column ul.footerSocial a {
    padding-left: 32px;
    background-size: 18px auto;
  }
}
@media (max-width: 768px) {
  .footer {
    flex-direction: column;
    gap: 30px;
    text-align: center;
    align-items: center;
  }
  .footer .footer-column {
    width: 100%;
    max-width: 300px;
  }
  .footer .footer-column li a {
    display: inline-block !important;
  }
  .footer .footer-column:last-of-type ul li {
    text-align: left;
  }
}

.heroMB {
  display: none;
}
@media (max-width: 768px) {
  .heroMB {
    display: block;
    width: 100%;
  }
}

.heroDT {
  display: block;
  position: relative;
  max-width: 1958px;
  min-height: 400px;
  margin-top: 0px;
  width: 100%;
  display: flex;
  align-items: baseline;
  justify-content: center;
}
.heroDT .shield {
  position: absolute;
  z-index: 100;
  width: 224px;
  height: auto;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) scale(0);
  animation: growShield ease-out 1.5s forwards;
}
.heroDT .shield img {
  width: 100%;
  height: auto;
}
.heroDT .player {
  position: absolute;
  height: auto;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0;
}
.heroDT .player.left-1 {
  animation: moveLeft ease-in 0.6s forwards;
  left: 10%;
  z-index: 10;
}
.heroDT .player.left-2 {
  animation: moveLeft ease-in 0.7s forwards;
  left: 13%;
  z-index: 15;
}
.heroDT .player.left-3 {
  animation: moveLeft ease-in 0.8s forwards;
  left: 16%;
  z-index: 20;
}
.heroDT .player.left-4 {
  animation: moveLeft ease-in 0.9s forwards;
  left: 19%;
  z-index: 25;
}
.heroDT .player.left-5 {
  animation: moveLeft ease-in 1s forwards;
  left: 24%;
  z-index: 30;
}
.heroDT .player.left-6 {
  animation: moveLeft ease-in 1.1s forwards;
  left: 25%;
  z-index: 35;
}
.heroDT .player.left-7 {
  animation: moveLeft ease-in 1.2s forwards;
  left: 29%;
  z-index: 40;
}
.heroDT .player.left-8 {
  animation: moveLeft ease-in 1.3s forwards;
  left: 35%;
  z-index: 45;
}
.heroDT .player.left-9 {
  animation: moveLeft ease-in 1.4s forwards;
  left: 36%;
  z-index: 50;
}
.heroDT .player.left-10 {
  animation: moveLeft ease-in 0.5s forwards;
  left: 1%;
  z-index: 5;
}
.heroDT .player.right-1 {
  animation: moveRight ease-in 0.6s forwards;
  right: 4%;
  z-index: 10;
}
.heroDT .player.right-2 {
  animation: moveRight ease-in 0.7s forwards;
  right: 9%;
  z-index: 15;
}
.heroDT .player.right-3 {
  animation: moveRight ease-in 0.8s forwards;
  right: 16%;
  z-index: 20;
}
.heroDT .player.right-4 {
  animation: moveRight ease-in 0.9s forwards;
  right: 20%;
  z-index: 25;
}
.heroDT .player.right-5 {
  animation: moveRight ease-in 1s forwards;
  right: 25%;
  z-index: 30;
}
.heroDT .player.right-6 {
  animation: moveRight ease-in 1.1s forwards;
  right: 28%;
  z-index: 35;
}
.heroDT .player.right-7 {
  animation: moveRight ease-in 1.2s forwards;
  right: 32%;
  z-index: 40;
}
.heroDT .player.right-8 {
  animation: moveRight ease-in 1.3s forwards;
  right: 36%;
  z-index: 45;
}
.heroDT .player.right-9 {
  animation: moveRight ease-in 1.4s forwards;
  right: 39%;
  z-index: 50;
}
.heroDT .player.right-10 {
  animation: moveRight ease-in 0.5s forwards;
  right: 1%;
  z-index: 5;
}
@keyframes growShield {
  0% {
    transform: translate(-50%, -50%) scale(0);
  }
  20% {
    transform: translate(-50%, -50%) scale(1.5);
  }
  100% {
    transform: translate(-50%, -50%) scale(1);
  }
}
@keyframes moveLeft {
  0% {
    left: 50%;
    opacity: 0;
    transform: scale(0) translateY(-100%);
  }
  100% {
    opacity: 1;
    transform: scale(1) translateY(-50%);
    transform-origin: top;
  }
}
@keyframes moveRight {
  0% {
    right: 50%;
    opacity: 0;
    transform: scale(0) translateY(-100%);
  }
  100% {
    opacity: 1;
    transform: scale(1) translateY(-50%);
    transform-origin: top;
  }
}
@media (max-width: 768px) {
  .heroDT {
    display: none;
  }
}

.sr-day {
  padding: 20px;
  text-align: center;
  background: rgba(30, 30, 30, 0.5);
  display: block;
  color: #fff;
  font: 16px "Montserrat", sans-serif;
  text-decoration: none;
}
.sr-day .sr-tag {
  display: inline-block;
  position: relative;
}
.sr-day .sr-tag:before {
  content: " ";
  position: absolute;
  top: 20px;
  width: 400px;
  display: block;
  background: url(../games/09-27-2025/sr-day-left.png) no-repeat;
  height: 116px;
  background-size: contain;
  left: -410px;
}
@media (max-width: 768px) {
  .sr-day .sr-tag:before {
    display: none;
  }
}
.sr-day .sr-tag:after {
  content: " ";
  position: absolute;
  top: 20px;
  width: 400px;
  display: block;
  background: url(../games/09-27-2025/sr-day-right.png) no-repeat;
  height: 116px;
  background-size: contain;
  right: -410px;
}
@media (max-width: 768px) {
  .sr-day .sr-tag:after {
    display: none;
  }
}
.sr-day strong {
  font-size: 20px;
}
.sr-day span {
  display: inline-block;
  margin: 15px 0 0 0;
  font-weight: 600;
  padding: 20px;
  border-radius: 12px;
  border: 1px solid #fff;
  background: #641a33;
}
.sr-day:hover span {
  background: #7a1f3d;
}

/* ---------------------------------------------------------------
   Schedule table
   The 2025 schedule was a scrape of the Skyland Conference site and
   its styling was a stack of nth-child rules pinned to that table's
   exact shape. That source is gone, and we now emit our own markup,
   so this reproduces the same look against real classes instead.
   --------------------------------------------------------------- */
.scheduleForm2 h3 {
  font: bold 18px "Graduate", serif;
  background: #641a33;
  color: #fff;
  padding: 14px 12px;
  margin: 0 0 2px 0;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.scheduleTable {
  width: 100%;
  margin: 0 auto 50px;
  border-spacing: 0;
  border-collapse: collapse;
}
.scheduleTable thead th {
  font: bold 11px "Montserrat", sans-serif;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #9a9f9a;
  text-align: left;
  padding: 12px 10px 8px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
.scheduleTable td {
  font: 14px "Montserrat", sans-serif;
  color: #fff;
  padding: 18px 10px;
  vertical-align: middle;
}
.scheduleTable .schedLogoCol,
.scheduleTable .schedLogo {
  width: 54px;
  padding-left: 14px;
  padding-right: 0;
  text-align: center;
}
.scheduleTable .schedLogo img {
  display: block;
  width: 40px;
  height: 40px;
  object-fit: contain;
}
.scheduleTable tbody tr:nth-child(odd) {
  background: rgba(122, 31, 61, 0.5);
}
.scheduleTable tbody tr:hover {
  background: rgba(122, 31, 61, 0.8);
}
.scheduleTable .schedDow {
  display: inline-block;
  min-width: 34px;
  color: #9a9f9a;
  text-transform: uppercase;
  font-size: 12px;
}
.scheduleTable .schedVenue {
  color: #fff;
  font-weight: 700;
}
.scheduleTable .schedWhere {
  display: block;
  text-indent: 0;
  margin-left: 0;
  margin-top: 5px;
  font-size: 12px;
  color: #9a9f9a;
  text-decoration: none;
}
.scheduleTable .schedWhere:hover {
  color: #fff;
  text-decoration: underline;
}
.scheduleTable tr.hasMap {
  cursor: pointer;
}
.scheduleTable .schedTag {
  display: inline-block;
  margin-left: 8px;
  padding: 3px 8px;
  background: #ffea00;
  color: #000;
  font-size: 11px;
  font-weight: 700;
  border-radius: 3px;
  vertical-align: middle;
}
.scheduleTable .tourneyRow td {
  font-weight: 600;
}
@media (max-width: 680px) {
  .scheduleTable thead {
    display: none;
  }
  .scheduleTable tr {
    display: grid;
    grid-template-columns: 44px 1fr auto;
    align-items: baseline;
    gap: 8px 12px;
    padding: 18px 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }
  .scheduleTable td {
    display: block;
    padding: 0;
  }
  .scheduleTable td:before {
    content: none;
  }
  .scheduleTable .schedLogo {
    grid-column: 1;
    grid-row: 1/3;
    width: auto;
    padding: 0;
    align-self: center;
  }
  .scheduleTable .schedLogo img {
    width: 40px;
    height: 40px;
  }
  .scheduleTable td[data-label=Date] {
    grid-column: 2;
    font-weight: 700;
    font-size: 15px;
  }
  .scheduleTable td[data-label=Time] {
    grid-column: 3;
    text-align: right;
    color: #9a9f9a;
    font-size: 13px;
    white-space: nowrap;
  }
  .scheduleTable td[data-label=Opponent] {
    grid-column: 2/-1;
    font-size: 15px;
  }
  .scheduleTable .schedDow {
    min-width: 0;
    margin-right: 6px;
  }
  .scheduleTable .schedWhere {
    margin-top: 5px;
    font-size: 12px;
    line-height: 1.4;
  }
  .scheduleTable .schedTag {
    margin: 4px 0 0 0;
    display: inline-block;
  }
}

.scheduleEmpty {
  font: 14px "Montserrat", sans-serif;
  color: #9a9f9a;
  text-align: center;
  padding: 30px 20px;
}
.scheduleEmpty a {
  color: #ffea00;
}

/* A footer link with no destination yet — the 2026 playlist before it
   exists. Matches how unavailable media links read on the game cards:
   visibly dimmed and genuinely not clickable, rather than looking live
   and going nowhere. */
.footerSocial a.disabled {
  opacity: 0.4;
  pointer-events: none;
  cursor: not-allowed;
  text-decoration: none;
}

/* Current page in the nav. The nav used to be on-page anchors, where there
   was no "current" — now that each item is its own page, the active one
   needs to read as active.

   Underline only, and deliberately no `background`: the X item paints its
   logo with a background shorthand, so setting one here erased it. */
#nav .menu a.current {
  box-shadow: inset 0 -3px 0 #fff;
}

/* Shown where a section has no content yet — a roster not yet entered, or
   stats before the first game. Better than an empty table or a blank grid. */
.emptyState {
  font: 16px "Montserrat", sans-serif;
  color: #9a9f9a;
  text-align: center;
  padding: 40px 20px 60px;
  max-width: 520px;
  margin: 0 auto;
}

/* ---------------------------------------------------------------
   X feed
   Rendered server-side from Curator's JSON API, so this styles our
   own markup rather than fighting a third-party widget's stylesheet
   the way the old !important font override had to.
   --------------------------------------------------------------- */
.xFeed {
  column-count: 3;
  column-gap: 16px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
@media (max-width: 900px) {
  .xFeed {
    column-count: 2;
  }
}
@media (max-width: 600px) {
  .xFeed {
    column-count: 1;
  }
}

.xPost {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  font: 14px/1.5 "Montserrat", sans-serif;
  color: #1d1d1d;
  break-inside: avoid;
  page-break-inside: avoid;
  -webkit-column-break-inside: avoid;
  display: inline-block;
  width: 100%;
  margin-bottom: 16px;
}
.xPost.pinned {
  box-shadow: 0 0 0 3px #ffea00;
}
.xPost a {
  color: #641a33;
}
.xPost-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px 8px;
}
.xPost-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  flex: 0 0 40px;
}
.xPost-who {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.xPost-name {
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.xPost-handle {
  font-size: 12px;
  color: #6b6b6b;
  text-decoration: none;
}
.xPost-when {
  margin-left: auto;
  font-size: 11px;
  color: #6b6b6b;
  white-space: nowrap;
  align-self: flex-start;
}
.xPost-text {
  padding: 4px 16px 14px;
  overflow-wrap: break-word;
}
.xPost-media {
  display: block;
}
.xPost-media img {
  display: block;
  width: 100%;
  height: auto;
}
.xPost-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-top: 1px solid #ececec;
  font-size: 12px;
}
.xPost-foot a {
  text-decoration: none;
  font-weight: 600;
}
.xPost-likes {
  color: #6b6b6b;
}

.xFeed-source {
  text-align: center;
  font: 13px "Montserrat", sans-serif;
  color: #9a9f9a;
  padding: 24px 20px 0;
}
.xFeed-source a {
  color: #ffea00;
}

/* ---------------------------------------------------------------
   Roster grid
   Plain images, nothing else. The shared #galleryContainer styling
   gives .col a border, rounded corners and a hover zoom, which suits
   a clickable photo gallery but not the roster cards — they are
   finished artwork and want no chrome around them.
   Scoped to the roster page so the game galleries keep their own.
   --------------------------------------------------------------- */
body#roster #galleryContainer .grid .row .col {
  border: 0;
  border-radius: 0;
  overflow: visible;
  cursor: default;
}
body#roster #galleryContainer .grid .row .col:hover {
  border-color: transparent;
  box-shadow: none;
  transition: none;
}
body#roster #galleryContainer .grid .row .col:hover img.thumb {
  transform: none;
}
body#roster #galleryContainer .grid .row .col img.thumb {
  transform: none;
  transition: none;
  display: block;
}

/* ---------------------------------------------------------------
   Mobile gutters
   Everything except the photo grids gets 20px of breathing room at
   the screen edge. The galleries are deliberately excluded — they
   are edge-to-edge tiles by design, and #galleryContainer .grid
   sets its own spacing.
   --------------------------------------------------------------- */
@media (max-width: 767px) {
  body > h1,
  body > h2,
  body > h3,
  body > p,
  .galleryMeta,
  .emptyState,
  .table-container,
  .scheduleForm2,
  .gamesGrid,
  .xFeed,
  .xFeed-source {
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
  }
  .xFeed,
  .xFeed-source {
    padding-left: 20px;
    padding-right: 20px;
  }
  .table-container,
  .scheduleForm2 {
    overflow-x: auto;
  }
}
/* Gallery score line — the result on its own, in the scoreboard yellow. */
.galleryScore {
  color: #ffea00;
}

/* ---------------------------------------------------------------
   Hero — player photos parked
   The cut-outs and the mobile composite are still last season's
   squad, so they are hidden until the 2026 photos exist. The markup
   and animations are untouched: drop the new PNGs into
   img/hero/ (and a new img/heroMB.png) and delete this block to
   bring it all back.
   --------------------------------------------------------------- */
.heroDT .player {
  display: none;
}

.heroDT {
  min-height: 320px;
}

.heroMB {
  display: none !important;
}

@media (max-width: 768px) {
  .heroDT {
    display: flex !important;
    min-height: 220px;
  }
  .heroDT .shield {
    width: 150px;
  }
}
