.elementor-1199 .elementor-element.elementor-element-f2a7b21:not(.elementor-motion-effects-element-type-background), .elementor-1199 .elementor-element.elementor-element-f2a7b21 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://marshfieldfootball.org/wp-content/uploads/2026/07/4da1d9cb-dbce-42d0-8266-7159bac6e0b2.png");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-1199 .elementor-element.elementor-element-f2a7b21 > .elementor-background-overlay{background-color:var( --e-global-color-10c80e1 );opacity:0.36;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-1199 .elementor-element.elementor-element-f2a7b21 > .elementor-container{max-width:900px;min-height:571px;}.elementor-1199 .elementor-element.elementor-element-f2a7b21{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:0px 0px 0px 0px;}.elementor-1199 .elementor-element.elementor-element-f27d664{text-align:center;}.elementor-1199 .elementor-element.elementor-element-8b3f121 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(10px/2);}.elementor-1199 .elementor-element.elementor-element-8b3f121 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(10px/2);}.elementor-1199 .elementor-element.elementor-element-8b3f121 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(10px/2);}.elementor-1199 .elementor-element.elementor-element-8b3f121 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-10px/2);}.elementor-1199 .elementor-element.elementor-element-8b3f121 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-10px/2);}.elementor-1199 .elementor-element.elementor-element-8b3f121 .elementor-icon-list-icon i{color:var( --e-global-color-accent );transition:color 0.3s;}.elementor-1199 .elementor-element.elementor-element-8b3f121 .elementor-icon-list-icon svg{fill:var( --e-global-color-accent );transition:fill 0.3s;}.elementor-1199 .elementor-element.elementor-element-8b3f121{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-1199 .elementor-element.elementor-element-8b3f121 .elementor-icon-list-icon{padding-inline-end:10px;}.elementor-1199 .elementor-element.elementor-element-8b3f121 .elementor-icon-list-text{color:var( --e-global-color-primary );transition:color 0.3s;}.elementor-1199 .elementor-element.elementor-element-050ba17 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-1199 .elementor-element.elementor-element-050ba17 > .elementor-container{max-width:1150px;}.elementor-1199 .elementor-element.elementor-element-050ba17 > .elementor-background-overlay{opacity:0.2;}.elementor-1199 .elementor-element.elementor-element-050ba17{padding:120px 0px 150px 0px;z-index:0;}@media(max-width:1024px){.elementor-1199 .elementor-element.elementor-element-f2a7b21{padding:140px 10px 140px 10px;}.elementor-1199 .elementor-element.elementor-element-050ba17{padding:80px 10px 120px 10px;}}@media(max-width:767px){.elementor-1199 .elementor-element.elementor-element-f2a7b21 > .elementor-container{min-height:0px;}.elementor-1199 .elementor-element.elementor-element-f2a7b21:not(.elementor-motion-effects-element-type-background), .elementor-1199 .elementor-element.elementor-element-f2a7b21 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:center center;}.elementor-1199 .elementor-element.elementor-element-f2a7b21{padding:100px 5px 100px 5px;}.elementor-1199 .elementor-element.elementor-element-050ba17{padding:50px 5px 100px 5px;}}/* Start custom CSS for shortcode, class: .elementor-element-b6df075 *//* ==================================================
   MOBILE FIX FOR SPORTSPRESS SCHEDULE TABLE
   Paste this at the VERY END of your CSS
================================================== */

@media (max-width: 768px) {

  body {
    overflow-x: hidden !important;
  }

  .entry-content {
    width: 100% !important;
    max-width: 100% !important;
    padding: 20px 10px 50px !important;
    box-sizing: border-box !important;
  }

  .sp-template-event-calendar,
  .sp-template-event-list {
    width: 100% !important;
    max-width: 100% !important;
    margin: 20px auto 50px !important;
    padding: 14px !important;
    border-radius: 14px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  .sp-template-event-calendar h4,
  .sp-template-event-list h4,
  .entry-title,
  .entry-content h1,
  .entry-content h2 {
    font-size: 26px !important;
    line-height: 1.15 !important;
    margin-bottom: 20px !important;
    word-break: normal !important;
  }

  /* Remove desktop table behavior */
  .sp-event-calendar,
  .sp-event-list,
  .sp-data-table {
    min-width: 0 !important;
    width: 100% !important;
    display: block !important;
    border-spacing: 0 !important;
    overflow: visible !important;
  }

  .sp-event-calendar thead,
  .sp-event-list thead,
  .sp-data-table thead {
    display: none !important;
  }

  .sp-event-calendar tbody,
  .sp-event-list tbody,
  .sp-data-table tbody {
    display: block !important;
    width: 100% !important;
  }

  .sp-event-calendar tbody tr,
  .sp-event-list tbody tr,
  .sp-data-table tbody tr {
    display: block !important;
    width: 100% !important;
    margin-bottom: 14px !important;
    padding: 14px !important;
    background: linear-gradient(135deg, #12171b, #080b0e) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-left: 4px solid #15803d !important;
    border-radius: 14px !important;
    box-shadow: 0 10px 25px rgba(0,0,0,.35) !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  .sp-event-calendar tbody tr:hover,
  .sp-event-list tbody tr:hover,
  .sp-data-table tbody tr:hover {
    transform: none !important;
  }

  .sp-event-calendar tbody td,
  .sp-event-list tbody td,
  .sp-data-table tbody td {
    display: block !important;
    width: 100% !important;
    padding: 8px 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    text-align: left !important;
    color: #ffffff !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    word-break: break-word !important;
    box-sizing: border-box !important;
  }

  .sp-event-calendar tbody td:first-child,
  .sp-event-list tbody td:first-child,
  .sp-data-table tbody td:first-child {
    border-left: none !important;
    border-radius: 0 !important;
    color: #22c55e !important;
    font-weight: 900 !important;
  }

  .sp-event-calendar tbody td:last-child,
  .sp-event-list tbody td:last-child,
  .sp-data-table tbody td:last-child {
    border-radius: 0 !important;
  }

  .sp-event-calendar tbody td a,
  .sp-event-list tbody td a,
  .sp-data-table tbody td a {
    color: #22c55e !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    word-break: break-word !important;
  }

  /* Date */
  .sp-data-table tbody td.data-date,
  .sp-event-list tbody td.data-date,
  .sp-event-calendar tbody td.data-date {
    color: #22c55e !important;
    font-weight: 900 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
  }

  /* Event title */
  .sp-data-table tbody td.data-event,
  .sp-event-list tbody td.data-event,
  .sp-event-calendar tbody td.data-event {
    color: #ffffff !important;
    font-weight: 900 !important;
    font-size: 14px !important;
  }

  /* Hide useless columns on mobile */
  .sp-data-table tbody td.data-article,
  .sp-data-table tbody td.data-matchday,
  .sp-data-table tbody td.data-marshfield-stadium,
  .sp-data-table thead th.data-article,
  .sp-data-table thead th.data-matchday,
  .sp-data-table thead th.data-marshfield-stadium {
    display: none !important;
  }

  /* Pagination mobile fix */
  .sp-paginated-table-pagination,
  .pagination,
  .page-numbers {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-top: 20px !important;
  }

  .sp-paginated-table-pagination a,
  .page-numbers,
  .pagination a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 38px !important;
    height: 38px !important;
    padding: 8px 12px !important;
    margin: 0 !important;
    font-size: 13px !important;
    border-radius: 8px !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-79fa2e8 *//* ==================================================
   MARSHFIELD MODERN SCHEDULE PAGE CSS
   Works for SportsPress Event Calendar / Schedule
================================================== */

/* Main page background */
body {
  background: #0b0d0f !important;
}

/* Main content area */
.site-main,
#content,
.content-area,
.entry-content {
  background: #0b0d0f !important;
}

/* Page content wrapper */
.entry-content {
  max-width: 1180px;
  margin: 0 auto;
  padding: 45px 20px 80px;
}

/* Page title */
.entry-title,
.entry-content h1,
.entry-content h2,
.sp-template-event-calendar h4,
.sp-template-event-list h4 {
  color: #ffffff !important;
  font-size: 46px !important;
  font-weight: 900 !important;
  text-transform: uppercase;
  letter-spacing: 1px;
  line-height: 1.1;
  margin-bottom: 30px !important;
}

.entry-title::after,
.entry-content h1::after,
.entry-content h2::after {
  content: "";
  display: block;
  width: 170px;
  height: 4px;
  background: #15803d;
  margin-top: 16px;
  border-radius: 50px;
}

/* SportsPress schedule wrapper */
.sp-template-event-calendar,
.sp-template-event-list {
  max-width: 1180px;
  margin: 40px auto 70px;
  padding: 28px;
  background: linear-gradient(135deg, #12161a, #080a0c);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  box-shadow: 0 20px 55px rgba(0,0,0,.45);
}

/* Schedule heading */
.sp-template-event-calendar h4,
.sp-template-event-list h4 {
  margin-top: 0 !important;
  color: #fff !important;
  font-size: 28px !important;
  text-transform: uppercase;
  letter-spacing: .8px;
}

/* Table base */
.sp-event-calendar,
.sp-event-list,
.sp-data-table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 10px !important;
  background: transparent !important;
  border: none !important;
}

/* Table header */
.sp-event-calendar thead th,
.sp-event-list thead th,
.sp-data-table thead th {
  background: #15803d !important;
  color: #ffffff !important;
  padding: 16px 14px !important;
  border: none !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-transform: uppercase;
  letter-spacing: .7px;
  text-align: center;
}

/* First header radius */
.sp-event-calendar thead th:first-child,
.sp-event-list thead th:first-child,
.sp-data-table thead th:first-child {
  border-radius: 10px 0 0 10px;
}

.sp-event-calendar thead th:last-child,
.sp-event-list thead th:last-child,
.sp-data-table thead th:last-child {
  border-radius: 0 10px 10px 0;
}

/* Table rows */
.sp-event-calendar tbody tr,
.sp-event-list tbody tr,
.sp-data-table tbody tr {
  background: linear-gradient(135deg, #171b20, #101316) !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.30);
  transition: all .25s ease;
}

.sp-event-calendar tbody tr:hover,
.sp-event-list tbody tr:hover,
.sp-data-table tbody tr:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(21,128,61,.22);
}

/* Table cells */
.sp-event-calendar tbody td,
.sp-event-list tbody td,
.sp-data-table tbody td {
  background: transparent !important;
  color: #f3f4f6 !important;
  padding: 17px 14px !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  border-left: none !important;
  border-right: none !important;
  font-size: 14px !important;
  font-weight: 500;
  text-align: center;
  vertical-align: middle;
}

/* First cell accent */
.sp-event-calendar tbody td:first-child,
.sp-event-list tbody td:first-child,
.sp-data-table tbody td:first-child {
  border-left: 4px solid #15803d !important;
  border-radius: 10px 0 0 10px;
  font-weight: 800;
}

/* Last cell */
.sp-event-calendar tbody td:last-child,
.sp-event-list tbody td:last-child,
.sp-data-table tbody td:last-child {
  border-radius: 0 10px 10px 0;
}

/* Links */
.sp-event-calendar a,
.sp-event-list a,
.sp-data-table a {
  color: #22c55e !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.sp-event-calendar a:hover,
.sp-event-list a:hover,
.sp-data-table a:hover {
  color: #ffffff !important;
}

/* Event name column */
.sp-event-calendar .data-event,
.sp-event-list .data-event,
.sp-data-table .data-event {
  text-align: left !important;
  font-weight: 800 !important;
}

/* Date column */
.sp-event-calendar .data-date,
.sp-event-list .data-date,
.sp-data-table .data-date {
  color: #d1d5db !important;
  font-weight: 700 !important;
}

/* Time / Result column */
.sp-event-calendar .data-time,
.sp-event-list .data-time,
.sp-data-table .data-time,
.sp-event-calendar .data-results,
.sp-event-list .data-results,
.sp-data-table .data-results {
  color: #ffffff !important;
  font-weight: 900 !important;
}

/* Score badge style */
.sp-event-calendar td.data-time a,
.sp-event-list td.data-time a,
.sp-data-table td.data-time a,
.sp-event-calendar td.data-results,
.sp-event-list td.data-results,
.sp-data-table td.data-results {
  color: #22c55e !important;
}

/* Hide useless columns from schedule */
.sp-data-table th.data-article,
.sp-data-table td.data-article,
.sp-data-table th.data-matchday,
.sp-data-table td.data-matchday,
.sp-data-table th.data-marshfield-stadium,
.sp-data-table td.data-marshfield-stadium {
  display: none !important;
}

/* Backup hide by column number if classes fail:
   In your screenshot, Article, Match Day, Marshfield Stadium are last columns */
.sp-data-table thead th:nth-last-child(1),
.sp-data-table tbody td:nth-last-child(1),
.sp-data-table thead th:nth-last-child(2),
.sp-data-table tbody td:nth-last-child(2),
.sp-data-table thead th:nth-last-child(3),
.sp-data-table tbody td:nth-last-child(3) {
  display: none !important;
}

/* Pagination */
.sp-paginated-table-pagination,
.pagination,
.page-numbers {
  text-align: center;
  margin-top: 26px;
}

.sp-paginated-table-pagination a,
.page-numbers,
.pagination a {
  color: #ffffff !important;
  background: #111827 !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  padding: 10px 15px !important;
  margin: 0 4px;
  border-radius: 8px;
  text-decoration: none !important;
  font-weight: 800;
}

.sp-paginated-table-pagination a:hover,
.page-numbers.current,
.pagination a:hover {
  background: #15803d !important;
  color: #ffffff !important;
}

/* Next button */
.sp-paginated-table-pagination .next,
.pagination .next {
  float: none !important;
}

/* Footer spacing fix */
footer,
.site-footer {
  margin-top: 0 !important;
}

/* Mobile responsive */
@media (max-width: 900px) {
  .entry-content {
    padding: 30px 12px 60px;
  }

  .sp-template-event-calendar,
  .sp-template-event-list {
    padding: 18px;
    border-radius: 14px;
    overflow-x: auto;
  }

  .entry-title,
  .entry-content h1,
  .entry-content h2 {
    font-size: 34px !important;
  }

  .sp-event-calendar,
  .sp-event-list,
  .sp-data-table {
    min-width: 760px;
  }

  .sp-event-calendar thead th,
  .sp-event-list thead th,
  .sp-data-table thead th {
    padding: 13px 10px !important;
    font-size: 11px !important;
  }

  .sp-event-calendar tbody td,
  .sp-event-list tbody td,
  .sp-data-table tbody td {
    padding: 14px 10px !important;
    font-size: 13px !important;
  }
}

@media (max-width: 600px) {
  .entry-title,
  .entry-content h1,
  .entry-content h2 {
    font-size: 28px !important;
  }

  .sp-template-event-calendar,
  .sp-template-event-list {
    margin-top: 25px;
  }
}
/* ================================
   FIX WHITE BOX + LOW CONTRAST TEXT
================================ */

/* Remove empty white content box above table */
.entry-content > p:empty,
.entry-content .wp-block-spacer,
.entry-content .elementor-spacer,
.entry-content > div:empty {
  display: none !important;
}

/* If SportsPress/WordPress creates empty white area */
.entry-content > .wp-block-group:empty,
.entry-content > .elementor-widget-container:empty {
  display: none !important;
}

/* Remove white background from empty shortcode wrapper */
.sp-template-event-calendar:before,
.sp-template-event-list:before {
  display: none !important;
}

/* Fix any white block inside schedule card */
.sp-template-event-calendar .sp-table-caption,
.sp-template-event-list .sp-table-caption {
  background: transparent !important;
  color: #ffffff !important;
}

/* Force all schedule table text readable */
.sp-data-table tbody td,
.sp-event-calendar tbody td,
.sp-event-list tbody td {
  color: #ffffff !important;
}

/* Venue column text fix */
.sp-data-table tbody td.data-venue,
.sp-event-calendar tbody td.data-venue,
.sp-event-list tbody td.data-venue {
  color: #d1d5db !important;
  opacity: 1 !important;
  font-weight: 600 !important;
}

/* Venue link fix */
.sp-data-table tbody td.data-venue a,
.sp-event-calendar tbody td.data-venue a,
.sp-event-list tbody td.data-venue a {
  color: #d1d5db !important;
  opacity: 1 !important;
}

/* If venue column has no class, target 6th column */
.sp-data-table tbody td:nth-child(6),
.sp-event-calendar tbody td:nth-child(6),
.sp-event-list tbody td:nth-child(6) {
  color: #d1d5db !important;
  opacity: 1 !important;
  font-weight: 600 !important;
}

/* Fix white empty area inside page */
.entry-content > table,
.entry-content > .sp-template-event-calendar,
.entry-content > .sp-template-event-list {
  margin-top: 0 !important;
}

/* Better table card spacing */
.sp-template-event-calendar,
.sp-template-event-list {
  margin-top: 20px !important;
}

/* Fix page section top gap */
.entry-content {
  padding-top: 20px !important;
}

/* Hide empty white paragraph/blocks caused by editor */
.entry-content p:has(br:only-child) {
  display: none !important;
}

/* Make the table wrapper fully dark */
.sp-table-wrapper,
.sp-template,
.sp-template-event-calendar,
.sp-template-event-list {
  background: linear-gradient(135deg, #11161b, #080a0c) !important;
}

/* Improve row readability */
.sp-data-table tbody tr {
  background: #11161a !important;
}

.sp-data-table tbody tr:nth-child(even) {
  background: #151a20 !important;
}

/* Header better luxury green */
.sp-data-table thead th {
  background: linear-gradient(135deg, #15803d, #0f6b33) !important;
  color: #ffffff !important;
}

/* Keep links green but readable */
.sp-data-table a {
  color: #22c55e !important;
}

.sp-data-table a:hover {
  color: #ffffff !important;
}/* End custom CSS */