
html, body {
    height: 100%; /* Ensure full height */
    display: flex;  /* Use flexbox for the body */
    flex-direction: column;  /* Stack the content vertically */
    font-size: 12pt;
}

  /* Basic styling for the page */
  body {
    font-family: 'Inter', 'Open Sans', 'Lato', Arial, sans-serif;
    margin: 0;
    padding-top: 60px;
    background-color: #fff;
  }

body {
  flex: 1;
  color:#5a5a64;
}


main {
  flex: 1; /* Main content should grow to fill space */
}


@media (max-width: 900px) {
  html {
    font-size: .9em; 
  }
}

@media (max-width: 400px) {
  html {
    font-size: .8em; 
  }
}



nav ul {
    list-style: none;
    display: flex;
    justify-content: space-around;
    align-items: center;
    transition: right 0.3s ease; /* Transition for smooth opening */
}

nav ul li {
    display: inline-block;
    align-items: center;
}

nav ul li a {
    color: white;
    text-decoration: none;
    font-size: 16px;
    padding: 10px 20px;
    transition: background-color 0.3s;
}

input, select {

  padding: 4px 3px;
  margin: 0px 0;
  font-size: 13px;
  font-family: 'Inter', sans-serif;
  border: 1px solid #ccc;
  border-radius: 6px;
  box-sizing: border-box;
  transition: border-color 0.2s, box-shadow 0.2s;
}


/* Focus styles for accessibility and polish */
.input:focus {
  border-color: #1C578A;
  box-shadow: 0 0 5px rgba(28, 87, 138, 0.3);
  outline: none;
}


button {
  display: inline-block;
  padding: 0.3em .7em;
  font-size: 11pt;
  font-family: inherit;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background-color: #1C578A;
  border: none;
  border-radius: 0.375em;
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.2s ease;
  width: auto;
}

button:hover,
button:focus {
  background-color: #298F00;
  transform: scale(1.02);
}

.button:active {
  transform: scale(0.98);
}
/* New no-hover-style button */
button.no-hover-style {
  /* base style: white bg, blue text */
  background-color: white;
  color: #1C578A;
  transition: none; /* no hover/focus transition */
  cursor: pointer;
}

/* no hover or focus effects */
button.no-hover-style:hover,
button.no-hover-style:focus {
  background-color: white; /* keep white */
  color: #1C578A;           /* keep blue text */
  transform: none;
  cursor: pointer;
}

/* when selected, override to blue background and white text */
button.no-hover-style.selected {
  background-color: #1C578A;
  color: white;
  cursor: default; /* optional */
}

/* when selected, no hover/focus effect */
button.no-hover-style.selected:hover,
button.no-hover-style.selected:focus {
  background-color: #1C578A;
  color: white;
  transform: none;
  cursor: default;
}
.tight-li {
  margin-bottom: 0px; /* Or 1px, or 0 if you want them touching */
  line-height: 1.3;
  padding: 0px 0px 0px 0px; /* Reduce top/bottom padding */
}

/* Hamburger Menu */
.hamburger {
    display: block;
    background-color: transparent;
    border: none;
    font-size: 30px;
    color: white;
    cursor: pointer;
    position: absolute;
    top: 10px;
    right: 20px;
}

.top-bar.shrunk .hamburger {
  font-size: 22px;
    top: 0px;
}

/* Close "X" Button */
.close-menu {
    background-color: transparent;
    border: none;
    color: white;
    font-size: 30px;  /* Smaller font size for the "X" */
    position: absolute;
    top: 1px;  /* Adjust the top position to fit better */
    right: 15px;  /* Adjust the right position */
    cursor: pointer;
    padding: 0px;  /* Optional: Add some padding around the "X" */
    display: none;  /* Hide the "X" button by default */
}

.close-menu:hover,
.close-menu:focus {
    background-color: transparent;
}

/* Show hamburger menu on mobile */
@media (max-width: 5000px) {
    nav ul {
        display: none; /* Hide the menu by default */
        position: fixed; /* Make the menu fixed to the screen */
        right: -100%; /* Initially hide the menu off-screen on the right */
        width: 200px; /* Set the width of the mobile menu */
        background-color: #000000; /* Background color of the menu */
            top: 60px;

text-align: center;
        padding: 10px 0 10px; /* Add padding to push the items down */
        z-index: 999;
        transition: right 0.3s ease; /* Smooth transition when opening the menu */
    }

    /* When the menu is active, slide it in from the right */
    nav ul.active {
        display: block; /* Show the menu when active */
        right: 0; /* Move the menu to the right edge of the screen */
    }

    nav ul li {
        display: block;
        width: 100%;
        margin-bottom: 5px; /* Add vertical space between <li> items */
    }

    nav ul li a {
        padding: 10px;
        border-bottom: none; /* Remove the border between items */
    }

    /* Show hamburger icon when the menu is not active 
    .hamburger {
        display: block;  /* Show the hamburger 
    }

    /* Hide hamburger icon when the menu is active 
    nav ul.active .hamburger {
        display: none;  /* Hide the hamburger 
    }

    /* Show close "X" button when the menu is active 
    nav ul.active .close-menu {
        display: block;  /* Show the "X" button 
            background-color: transparent;
    }

    /* Hide close "X" button when the menu is not active 
    nav ul:not(.active) .close-menu {
        display: none;  /* Hide the "X" button 
            background-color: transparent;
    }
    */
}


/* Section Titles */

h1 {
    font-size: 2.5em;
    margin: 0;
    color: #4A4A4A;
    text-align: center;
}


h2 {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
     color: #4A4A4A;
         margin-bottom: 20px;
    text-align: center;
        font-size: 2em;
}


h3 {
    color: #4A4A4A;
    text-align: center;
    font-size: 1.3em;
    margin: 0px 0;
}

h4 {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
     color: #4A4A4A;
         margin-bottom: 20px;
    text-align: center;
        font-size: 2em;
}

/* Full-width About Section */
.about {
    width: 100%;
    padding: 50px 0;
    background-color: #1b3146;
    color: white;
}

.about .container {
    width: 100%;
}

/* Two-column Layout for Main Content */
.main-content {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: 30px;
    padding: 10px 0;
}

.left-column {
    padding-right: 30px;
}

.right-column {
    padding-left: 0px;
    padding-right: 30px;
    
}

/* Section Styling for Left Column */
.about, .fixtures, .results, .other, .dog {
    padding: 30px;
    margin-bottom: 10px;
}

.news {
    padding: 0px;
    margin-bottom: 10px;


}
/* Fixtures, Results, and News Section Styling */
.fixtures-list, .results-list, .news-item {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 30px;
    align-items: center;
}

/* Fixture and Result Items */
.fixture-item, .result-item {
    background-color: white;
    padding: 20px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    
    /* Flexbox setup */
    display: flex;                /* Make them flex containers */
    flex-direction: column;       /* Align children vertically */
    justify-content: center;      /* Vertically center the content */
    text-align: center;           /* Horizontally center the text */

    /* Box sizing based on content */
    height: auto;                 /* Ensure height adjusts to content */
    width: auto;                  /* Box width adjusts based on content */
    margin: 0px;                 /* Space between the items */
    min-height: 100px;            /* Optional: Ensure minimum height */
}

.fixture-item img, .result-item img {
    width: 100%;
    border-radius: 5px;
}

a {
    color: #2e7d32 ;
    text-decoration: underline;
}

a:hover {
    text-decoration: none;
    color:#43a047 ;
}

/* News Section Styling */
.news-item {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
}

.news-item img {
    width: 200px;
    border-radius: 5px;
}

.news-item div {
    flex-grow: 1;
}

/* Right Column Sections */
.right-column h2 {
    text-align: left;
}

/* Footer Styling */

.separator {
    background: linear-gradient(to right, blue, red, blue); /* Gradient divider */
    height: 1px;
    margin: 5px 0 5px 0;
    width: 300px;
    margin-left: auto;
    margin-right: auto;
}

.separatorgap {
    margin: 10px 0 0px 0;
}

.responsive-image {
    width: 90%; /* The image will shrink to 90% of the container's width by default */
    max-width: 500px; /* The image will not exceed 500px in width */
    height: auto; /* Maintain the aspect ratio of the image */
}

/* Hero Section */
.hero {
background-image: url("./images/frontcover2.jpg");
  background-position: top; /* Align the image to the top */
  background-size: cover;   /* Ensure the image covers the element */
  background-repeat: no-repeat; /* Prevent the image from repeating */
    color: white;
    padding: 0px 0;
    text-align: center;
    height: 300px; /* Reduced height of hero image from 600px to 300px */
    display: flex;
  justify-content: center; /* Horizontally center */
  align-items: center; /* Vertically center */
  width: 100vw; /* Set the section to take the full viewport height */


}

.hero-text h1 {
    font-size: 3em;
    margin-bottom: 20px;
}

.hero-text p {
        font-size: 1.3em;
}
        


.container-settings {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 40px 20px;
    
}
        section {
            margin-bottom: 60px;
        }

        .section-title {
            color: #333;
            font-size: 1.5em;
            margin-bottom: 5px;
            font-weight: bold;
        }

        .section-content {
            margin-bottom: 40px;
        }

        .custom-button {
            background-color: #1C578A;
            color: white;
            padding: 5px 10px;
            border: none;
            cursor: pointer;
            border-radius: 25px;
            font-size: .95em;
            margin-top: 0px;
            display: inline-block;
            text-align: center;
            width: auto;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        }

        .custom-button:hover {
            background-color: #298F00;
        }

.edit-button {
    background-color: #1C578A;
    padding: 0px 10px; /* Adjust the padding to give the button some height */
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

        .edit-button:hover {
            background-color: #298F00;
        }
        
 .event-button {
    background-color: #1C578A;
    padding: 0px; /* Adjust the padding to give the button some height */
            font-size: .95em;
}

        
        .custom-button.add-button {
    background-color: #1C578A;
    color: white;
    padding: 5px 10px;
    border: none;
    cursor: pointer;
    border-radius: 0px;
    font-size: 1em;
    margin-top: 10px;
    display: inline-block;
    text-align: center;
    width: auto;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    position: relative;
}

.add-button:hover {
    background-color: #298F00;
}




.my-table {
    width: 100%;
    max-width: 800px;
    border-collapse: collapse;
    margin-top: 10px;
    border-radius: 8px;
    overflow: hidden;
    background-color: white;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.my-table th, .my-table td {
    padding: 3px 5px 3px 5px;
    text-align: left;
    border-bottom: 1px solid #ddd;
}

.my-table th {
    background-color: #000;
    color: white;
    font-weight: bold;
}

.my-table td {
    font-size: 0.95em;
    color: #555;
}

.my-table tr:hover {
    background-color: #f1f1f1;
}

.my-table.no-hover tr:hover {
    background-color: transparent; /* or any color you prefer */
}

.my-table.responsive-table {
    overflow-x: auto;
}




.switch {
  position: relative;
  display: block;
  vertical-align: top;
  width: 55px;
  height: 20px;
  padding: 3px;
  margin: 0px 5px 0px 0;
  background: linear-gradient(to bottom, #eeeeee, #FFFFFF 12px);
  background-image: -webkit-linear-gradient(top, #eeeeee, #FFFFFF 12px);
  border-radius: 9px;
  box-shadow: inset 0 -1px white, inset 0 1px 1px rgba(0, 0, 0, 0.05);
  cursor: pointer;
  box-sizing: content-box;
}
.switch-input {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  box-sizing: content-box;
}
.switch-label {
  position: relative;
  display: block;
  height: inherit;
  font-size: 13px;
  background: #eceeef;
  border-radius: inherit;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.12), inset 0 0 2px rgba(0, 0, 0, 0.15);
  box-sizing: content-box;
}
.switch-label:before, .switch-label:after {
  position: absolute;
  top: 50%;
  margin-top: -.5em;
  line-height: 1;
  -webkit-transition: inherit;
  -moz-transition: inherit;
  -o-transition: inherit;
  transition: inherit;
  box-sizing: content-box;
}
.switch-label:before {
  content: attr(data-off);
  right: 11px;
  color: #000;
  text-shadow: 0 1px rgba(255, 255, 255, 0.5);
}
.switch-label:after {
  content: attr(data-on);
  left: 11px;
  color: #FFFFFF;
  text-shadow: 0 1px rgba(0, 0, 0, 0.2);
  opacity: 0;
}
.switch-input:checked ~ .switch-label {
  background: #277cbd;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15), inset 0 0 3px rgba(0, 0, 0, 0.2);
}

/* Green switch when checked */
.green-switch .switch-input:checked ~ .switch-label {
  background: #3cb371; /* mediumseagreen or use any green tone */
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15), inset 0 0 3px rgba(0, 0, 0, 0.2);
}

.switch-input:checked ~ .switch-label:before {
  opacity: 0;
}
.switch-input:checked ~ .switch-label:after {
  opacity: 1;
}
.switch-handle {
  position: absolute;
  top: 4px;
  left: 4px;
  width: 17px;
  height: 17px;
  background: linear-gradient(to bottom, #FFFFFF 40%, #f0f0f0);
  background-image: -webkit-linear-gradient(top, #FFFFFF 40%, #f0f0f0);
  border-radius: 100%;
  box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
}
.switch-handle:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -6px 0 0 -6px;
  width: 14px;
  height: 14px;
  background: linear-gradient(to bottom, #eeeeee, #FFFFFF);
  background-image: -webkit-linear-gradient(top, #eeeeee, #FFFFFF);
  border-radius: 6px;
  box-shadow: inset 0 1px rgba(0, 0, 0, 0.02);
}
.switch-input:checked ~ .switch-handle {
  left: 40px;
  box-shadow: -1px 1px 5px rgba(0, 0, 0, 0.2);
}

/* Transition
========================== */
.switch-label, .switch-handle {
  transition: All 0.3s ease;
  -webkit-transition: All 0.3s ease;
  -moz-transition: All 0.3s ease;
  -o-transition: All 0.3s ease;
}

.green-switch-large {
  width: 85px;
}

/* Green background for both states */
.green-switch-large .switch-label {
  background: #3cb371; /* Green when OFF */
  color: white;
}

/* Slightly darker green when ON */
.green-switch-large .switch-input:checked ~ .switch-label {
  background: #bd2727;
  color: white;
}

/* White text for both ON and OFF labels */
.green-switch-large .switch-label:before,
.green-switch-large .switch-label:after {
  color: white;
  text-shadow: none;
}

/* Adjust label text positions */
.green-switch-large .switch-label:before {
  right: 10px;
}

.green-switch-large .switch-label:after {
  left: 10px;
}

/* Move the handle farther when checked */
.green-switch-large .switch-input:checked ~ .switch-handle {
  left: 70px;
}


.tooltip-icon {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 16px;
  height: 16px;
  margin-left: 4px;
  background-color: #277cbd;
  color: #fff;
  font-weight: bold;
  border-radius: 50%;
  font-size: 12px;
  cursor: pointer;
  user-select: none;
   vertical-align: 1px;
}

.tooltip-icon.tooltip-icon-secondary {
  background-color: red;
}

/* Tooltip box centered on screen, max 90% of viewport width */
.tooltip-box {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #333;
  color: #fff;
  padding: 16px 20px;
  border-radius: 8px;
  max-width: 90vw;
  min-width: 280px; /* ✅ Ensures it's readable on small screens */
  z-index: 9999;
  font-size: 14px;
  line-height: 1.5;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  text-align: center;
  word-wrap: break-word;
  box-sizing: border-box;
  overflow-wrap: break-word;
}

/*input[type="text"],
input[type="number"],
select {


  font-size: 14px;
  font-family: inherit;
  border: 1px solid #ccc;

}
*/




       /* Add professional style for the section */
        .custom-table {
            width: 90%;
            max-width: 400px;
                text-align: center;
            margin: 30px auto;
            border-collapse: collapse; /* Makes the border collapse into a single line */
            background-color: #fff; /* White background for the table */
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Light shadow for depth */
        }

        .custom-table.custom-table2 {
            max-width: 800px;
            background-color: #000 !important;
            margin: 0px auto;
        }



        /* Style for table cells */
        .custom-table td {
            padding: 15px;
            font-family: 'Inter', Arial, sans-serif;
            font-size: 14px;
            color: #333; /* Dark grey text */
            text-align: left;
            vertical-align: top;
            line-height: 1.5; /* Spacing between lines for better readability */
        }

        /* Add border to the table */
        .custom-table, .custom-table td {
            border: 1px solid #ddd; /* Light grey border */
        }

        /* Style for the centered text inside table */
        .custom-table-center {
            text-align: center;
            font-weight: bold;
            color: #555;
            font-size: 16px;
        }

        /* Add spacing and color changes to the content */
        .custom-table p {
            margin: 0px 0;
        }

        .highlight {
            font-weight: bold;
            color: #277cbd; /* Blue color for emphasis */
        }
        
       .styled-table {
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 6px;
    overflow: hidden;
    font-family: 'Inter', Arial, sans-serif;
    font-size: 13px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    border-collapse: collapse;
  }

  .styled-table thead tr {
    background-color: #000;
    font-weight: bold;
    color: #fff;
  }

  .styled-table th, .styled-table td {
    padding: 8px;
    text-align: left;
    border-bottom: 1px solid #e0e0e0;
  }

  .styled-table tbody tr:hover {
    background-color: #f9f9f9;
  }

  .remove-icon {
    color: red;
    font-weight: bold;
    font-size: 16px;
    cursor: pointer;
  }

  .remove-icon:hover {
    color: darkred;
  }   



    .logo {
    max-width: 350px;
        max-height: 100px;
    height: auto;
    margin-left: 10px;
    margin-top: 0px;
    margin-right: 20px;
    margin-bottom: 10px;
}

  .schedule {
   table-layout: auto; /* Automatically adjust column widths based on content */
    margin-left: auto; /* Automatically adjust the left margin to center the table */
    margin-right: auto; /* Automatically adjust the right margin to center the table */
    border-collapse: collapse; /* Optional: Makes the borders collapse into a single border */
    font-size: clamp(.5rem, 3vw, 1rem);

}
.schedule th, .schedule td {
    padding: 7px;
    text-align: center; /* Ensure content inside th and td is centered */
    border: 1px solid #888888; /* Optional: Add borders to table cells */
    white-space: nowrap; /* Prevent content from wrapping to the next line */
    word-wrap: break-word; /* Optional: Break long words if needed to avoid overflow */
}

.leaderboard {
    width: 100%;
    margin: 0;
    border-collapse: collapse; /* Collapses borders */
    border-spacing: 0;         /* Remove any extra spacing */
    font-size: 16px;
    text-align: center;
    border: none;              /* Remove any outer border */
}

.leaderboard th, 
.leaderboard td, 
.leaderboard tr {
    border: none;              /* Remove all borders */
    padding: 0px 0px;         /* Adjust as needed */
}

/* Header row */
.leaderboard th {
    color: black;
    font-size: 16px;
    text-align: center;
        background-color: #fff;
}

/* Optional section headers */
.leaderboard .section th {
    font-size: 14px;
}

/* Zebra striping for body rows */
.leaderboard tbody tr:nth-child(even) {
    background-color: #f2f2f2; /* Light grey */
}

.leaderboard tbody tr:nth-child(odd) {
    background-color: #fff;    /* White */
}

/* Remove any spacing above/below rows to prevent “lines” */
.leaderboard tr td, 
.leaderboard tr th {
    margin: 0;
    border: none;
    padding-top: 2px;
    padding-bottom: 2px;
}
.leaderboard td,
.leaderboard th {
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: normal;
    line-height: 1.3;
}

.pagination {
    display: flex; /* Use flexbox layout */
    justify-content: center; /* Center the content horizontally */
    align-items: center; /* Vertically center the content */
    margin-top: 5px; /* Optional: Adds space above pagination */
    position: relative; /* Make pagination container relative */
}

/* Centered container for the page range */
.pagination .range {
    font-weight: bold; /* Makes the event range bold */
    text-align: center; /* Ensures the page range is centered */
    margin: 0 20px; /* Adds space around the page range */
}

/* Style for Previous and Next buttons */
.pagination .prev, .pagination .next {
    text-decoration: none; /* Removes underline from the links */
    color: #007bff; /* Blue color for the links */
    margin: 0 10px; /* Space between the links */
}

/* Position buttons to the left and right of the range */
.pagination .prev {
    position: absolute;
    right: calc(50% + 35px); /* 40px to the right of center */
}

.nav-button:hover {
    background-color: #1a5b8c;
}

.content-area {
    display: flex;
    flex-direction: column;
    justify-content: flex-start; /* Align content to the top, allowing expansion */
        align-items: stretch;   /* Horizontally center the content */
    margin: 0px; /* Add margin to the content area */
    padding: 0px 10px 25px 20px;
    box-sizing: border-box; /* Ensure padding doesn't cause overflow */
    min-height: auto; /* Allow the height to adjust based on content */
      box-sizing: border-box;
}


.content {



  box-sizing: border-box;
    width: 100%; /* Ensure the content takes full width of its parent */
    box-sizing: border-box; /* Ensure padding doesn't cause overflow */
    margin-bottom: 20px; /* Add margin between content sections */
}



.content h2 {
    margin-top: 0px;
    margin=bottom: 0px;
}

.wide-content {
    width: 100%;
    border-collapse: collapse;

}

.wide-content th, .wide-content td {
    padding: 10px;
    text-align: left;
}

.wide-content th {
    background-color: #f4f4f4;
}

.wide-content td {
    background-color: #fafafa;
}

.schedule-content {
    overflow-x: auto; /* Enable horizontal scrolling only when content exceeds width */
    max-width: 100%; /* Ensure the table doesn't overflow beyond the container */
    display: block; /* Ensures the content area can scroll horizontally if necessary */ 
}

.custom-link {
  color: #ffc107 ;
    font-weight: 400;
      text-decoration: none;
    
}

.eventname-link {
  font-size: 1.1em;
}

.custom-link:hover {
  color: #f0f0f0;
  font-weight: 400;
  text-decoration:underline;
}

table.events {
    border-collapse: collapse;
    width: 100%;
}

table.events tbody.even-row {
    background-color: #eeeeee;
}

table.events tbody.odd-row {
    background-color: #ffffff;
}

table.events tbody.even-row tr,
table.events tbody.odd-row tr {
    border-bottom: none;
}

/* Optional: add spacing between event groups */
table.events tbody + tbody tr:first-child {
    border-top: 1px solid #ccc;
}

table.events .settings-button,
table.events .edit-button {
    width: 80px;
    height: 20px;
    margin: 2px;
}

.register-link {
  font-size: 1.3em;
  color: #277cbd;
  text-decoration: underline;
  transition: color 0.2s ease-in-out;
}

.register-link:hover {
  color: orange;
}


  table.responsive-table {
    width: 95%; /* default for large screens */
    max-width: 100%;
    border-collapse: collapse;
  }

  @media (max-width: 450px) {
    table.responsive-table {
      width: 450px;
    }
  }

  @media (min-width: 451px) and (max-width: 600px) {
    table.responsive-table {
      width: 550px;
    }
  }
  
  .settings table {
    width: 95%;
    max-width: 800px;
    border-collapse: collapse;
    margin-top: 10px;
    border-radius: 8px;
    overflow: hidden;
    background-color: white;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.settings th,
.settings td {
    padding: 3px 5px 3px 5px;
    text-align: left;
    border-bottom: 1px solid #ddd;
}

.settings th {
    background-color: #1C578A;
    color: white;
    font-weight: bold;
}

.settings td {
    font-size: 0.95em;
    color: #555;
}

.settings tr:hover {
    background-color: #f1f1f1;
}

.settings tr.even-row:hover {
    background-color: #eeeeee;
}

.settings tr.odd-row:hover {
    background-color: white;
}

.settings .responsive-table {
    overflow-x: auto;
}

.settings .even-row {
    background-color: #eeeeee; /* light grey */
}

.settings .odd-row {
    background-color: #ffffff; /* white or default */
}

.settings .settings-button {
    margin: 2px;
}


  #scoring {
    text-align: center;
    margin: 20px auto;
  }

  #scoring table {
      border: 1px solid black;
    border-collapse: collapse;
    margin: 0 auto;
    padding: 0;
  }

  #scoring table th {
    border: none;
    padding: 4px;
  }

  #scoring table td {
    border: none;
    padding: 0px;
  } 
  
  #scoring input[type="number"] {
    width: 7ch;
    text-align: center;
  }



  
  /* The content section that will grow */

.top-bar {
    background: #277cbd; 
    color: white;
    display: flex; /* Enable flexbox */
    justify-content: space-between; /* Distribute items with space between them */
    align-items: center; /* Vertically center the items */
    height: 80px;
    border-bottom:1px solid white;
    position: fixed; /* Fixes the bar to the top */
    top: 0; /* Keeps it at the very top */
    left: 0; /* Aligns it to the left */
    width: 100%; /* Ensures the bar spans the full width */
    z-index: 199; /* Ensures the top bar stays on top of other content */
    /*box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);  Optional: Add a slight shadow for visibility */
    transition: height 0.3s ease, padding 0.3s ease;
    z-index:2000;

}

.top-bar .container {
    display: flex; /* Enable flexbox */
    justify-content: flex-start; /* Align elements with space between */
    width: 100%; /* Take up full width */
    align-items: center; /* Vertically center the items */
}

.hamburger {
    font-size: 32px; /* Increase the size of the hamburger */
    background: #277cbd; /* Remove background */
    border: none; /* Remove border */
    color: white; /* Set color to white */
    padding: 5px; /* Adjust padding to make it more clickable */
    cursor: pointer; /* Add pointer cursor */
}

.hamburger:hover,
.hamburger:focus {
  background-color: #277cbd;
}


.top-bar .hamburger-container {
    padding-right: 20px; /* Add padding to the right of the hamburger */
}

/* Styling for the links */
.top-bar .container a {
    color: white;
    text-decoration: none;
    font-size: 16px;
    padding: 0px 0px 0px 0px;
    display: inline-block; /* Ensure links are displayed inline */
}

/* Specific styles for the Login link to appear as a button */
.top-bar .container .login-link {
    color: black;
    text-decoration: none;
    font-size: 16px;
    padding: 3px 8px;  /* Padding to give the button effect */
    background-color: white;  /* Blue background */
    border-radius: 4px; /* Rounded corners */
    transition: background-color 0.3s, color 0.3s; /* Smooth transition for hover */
    display: inline-block; /* Ensures it behaves like a button */
    vertical-align: middle; /* Vertically center the button */
}

.top-bar .container .login-link:hover {
    background-color: orange;  /* Turn orange on hover */
    color: white;  /* Keep text white */
}

/* Styling for the App Store image */
.top-bar .container img {
/*    max-width: 130px; /* Limit the size of the image */
    height: auto; /* Maintain the aspect ratio */
    margin-left: 0px; /* Add a bit of space between the image and login link */
}

/* Space between links and images */
.top-bar .container a {
    margin: 0 0px; /* Add spacing between links and images */
}

.top-bar .container a:hover {
  text-decoration: underline; /* Underline on hover */
  color: orange;
}


.top-bar.shrunk {
    height: 40px;
    transition: all 0.3s ease;
}

/* Shrink the logo on the left */
.top-bar.shrunk .logo-container img {
    max-height: 30px;
      width: auto;
      transition: max-height 0.3s ease;
}

/* Show center logo when shrunk */
.center-logo {
    display: none;
    margin: 0 auto;
}

.top-bar.shrunk .center-logo {
    display: block;
}

/* Adjust container layout if needed */
.top-bar .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.top-bar.shrunk .container {
    padding: 0 10px;
}

/* Optional: Make hamburger consistent */
.top-bar .hamburger-container {
    padding-right: 10px;
}

  /* Dropdown menu styling */
  .login-dropdown {
    display: none; /* Initially hidden */
    position: absolute;
    top: 40px; /* Position it just below the button */
    left: 50%;  /* Center it horizontally */
    transform: translateX(-50%); /* Offset to center it */
    background-color: white;
    border: 1px solid #ccc;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    padding: 10px 15px; /* Smaller padding */
    width: 250px; /* Smaller width */
    z-index: 1000;
  }
  

  /* Error and success styling for form fields */
  .input-error {
    border-color: red;
  }

  .form-group {
    margin-bottom: 0px; /* Reduced margin */
  }

  .form-group input {
    width: 100%;
    padding: 8px; /* Smaller padding */
    margin-top: 5px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
  }

  .form-group input.error {
    border-color: red;
  }

  .form-group button {
    background-color: #007BFF;
    color: white;
    border: none;
    padding: 8px 5px; /* Smaller button padding */
    border-radius: 4px;
    cursor: pointer;
    width: 100%;


  }

  .form-group button:hover {
    background-color: #0056b3;
  }

/* Style for the menu when the hamburger icon is clicked */
#menu {
    position: absolute;
    top: 64px; /* Make the menu appear lower down */
    right: 0; /* Align the menu to the left */
    width: 100%; /* Make the menu wider */
    background-color: #277cbd; /* Optional: match your top bar background */
    display: none; /* Hide by default */
    flex-direction: column; /* Stack the items vertically */
        z-index: 9999;
}

/* When the menu is active (i.e., hamburger is clicked) */
#menu.active {
    display: flex; /* Make the menu visible */
    width: 200px; /* Increase the width of the menu */
    top: 64px; /* Lower the position of the menu */
    border-left: 1px solid white;
    border-bottom: 1px solid white;
    right: 0; /* Ensure the menu is aligned to the left */
    background: linear-gradient(to bottom, #277cbd, 5%, #277cbd, 50%, #000000); 
    z-index: 9999; /* Make sure it appears on top */
    transition: top 0.3s ease, width 0.3s ease; /* Smooth transition */
    border-bottom-left-radius: 20px; /* Round the bottom left corner */

box-shadow:
    0 20px 30px -20px rgba(0,0,0,0.72),
    -18px 18px 20px -22px rgba(0,0,0,0.55);


}

/* OUTWARD CURL */
#menu.active::before{
    content:'';
    position:absolute;

    top:1px;
    left:-21px;

    width:20px;
    height:20px;

    background:transparent;
    border-top-right-radius:20px;

    box-shadow:
        .5px -.5px 0 .5px #fff,      /* white curve */
        10px -10px 0 10px #277cbd; /* blue fill */
}
/* Styling for individual menu items */
#menu li {
    padding: 0px;
    border-bottom: 0px solid #ccc; /* Optional: Add a divider between items */
}

#menu li a {
    color: white;
    text-decoration: none;
    font-size: 18px; /* Adjust font size for menu items */
}

#menu li a:hover {
    color: orange; /* Hover effect */
}

.top-bar.shrunk #menu {
    top: 24px; /* match shrunk header height */
}
 
  
.top-bar .logo-container img {
      padding: 5px; /* Add 10px padding around the logo */
      max-height: 60px;
  width: auto;
  transition: max-height 0.3s ease;
     z-index: 10000; /* Make sure it appears on top */
}     

.logo-container .logo-default {
  display: block;
  max-height: 60px;
     z-index: 10000; /* Make sure it appears on top */

}

.logo-container .logo-shrunk {
  display: none;
       z-index: 10000; /* Make sure it appears on top */

}

/* Center logo hidden by default */
.center-logo {
  display: none;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
       z-index: 10000; /* Make sure it appears on top */

}

/* Shrunk state */
.top-bar.shrunk .logo-default {
  display: none; /* hide default left logo */
       z-index: 10000; /* Make sure it appears on top */

}

.top-bar.shrunk .logo-shrunk {
  display: block; /* show shrunk left logo */
       z-index: 10000; /* Make sure it appears on top */

}

.top-bar.shrunk .center-logo {
  display: block; /* show center logo */
       z-index: 10000; /* Make sure it appears on top */

}

.center-logo img {
  max-height: 22px;
  margin-top:5px;
  width: auto;
       z-index: 10000; /* Make sure it appears on top */

}

/*
This is the section for the stats formating on an event
*/

.stats .toggle-button {
  margin-bottom: 6px;
  margin-top:6px;
  padding: 6px 6px;
  font-size: 14px;
  border-radius: 6px;
  color: white;
  border: 1px solid #ccc;
  background-color: #1C578A;
  touch-action: manipulation;
  cursor: pointer;
}

.stats .table-wrapper {
  overflow-x: auto;
  max-width: 100%;
  border:0;
}

.stats table {
  border-collapse: collapse;
  width: 100%;
  min-width: 700px;
  border:0;
}

.stats th,
.stats td {
  padding: 6px 6px;
  border: 0px solid #ccc;
  text-align: center;
  font-size: 14px;
}

.stats th {
  cursor: pointer;
  background-color: #ededed;
  position: sticky;
  top: 0;
  z-index: 1;
  user-select: none;
  color:black;
  font-weight:600;
  font-size:11pt;
}

.stats .arrow {
  font-size: 14px;
  margin-left: 4px;
  color: #aaa;
}

.stats .arrow.active {
  color: #000;
}

.stats .legend {
  text-align: center;
  font-size: 14px;
  line-height: 1.6;
  margin-top: 20px;
  background: #f9f9f9;
  padding: 12px;
  border-radius: 8px;
  border: 1px solid #ddd;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}

.stats tbody tr:nth-child(even) {
    background-color: #f2f2f2; /* Light grey */
}

.stats tbody tr:nth-child(odd) {
    background-color: #fafcfc;    /* White */
}
.red {
  color: red;
}

.plain-input {
    border: none;
    background: transparent;
    color: inherit;
    font: inherit;
    pointer-events: none; /* Prevent interaction */
    -moz-appearance: textfield; /* Remove spinner in Firefox */
}

.plain-input::-webkit-outer-spin-button,
.plain-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.teamname {
  font-size: 16px;        /* your normal size */
  line-height: 1.1;
  white-space: normal;
  overflow-wrap: break-word;
}

.teamname {
  font-size: 16px;
  container-type: inline-size;
}

@container (max-width: 120px) {
  .teamname {
    font-size: 12px;
  }
}


/* Default Desktop View */
.teamname-lg { font-size: 16px; }
.teamname-md { font-size: 16px;    white-space: normal;      /* Allow wrapping */
    word-break: normal;   /* Break long words if needed */
    line-height: 1.1;         /* Tight line spacing */
    padding: 2px;             /* Reduce padding for tightness */
    margin: 0; }
.teamname-sm { font-size: 16px;    white-space: normal;      /* Allow wrapping */
    word-break: normal;   /* Break long words if needed */
    line-height: 1.1;         /* Tight line spacing */
    padding: 2px;             /* Reduce padding for tightness */
    margin: 0; }
.teamname-xs { font-size: 16px;    white-space: normal;      /* Allow wrapping */
    word-break: normal;   /* Break long words if needed */
    line-height: 1.1;         /* Tight line spacing */
    padding: 2px;             /* Reduce padding for tightness */
    margin: 0; }


/* Mobile View */
@media screen and (max-width: 600px) {
    .teamname-lg { font-size: 16px;    white-space: normal;      /* Allow wrapping */
    word-break: normal;   /* Break long words if needed */
    line-height: 1.1;         /* Tight line spacing */
    padding: 2px;             /* Reduce padding for tightness */
    margin: 0; }
    .teamname-md { font-size: 14px;    white-space: normal;      /* Allow wrapping */
    word-break: normal;   /* Break long words if needed */
    line-height: 1.1;         /* Tight line spacing */
    padding: 2px;             /* Reduce padding for tightness */
    margin: 0; }
    .teamname-sm { font-size: 12px;    white-space: normal;      /* Allow wrapping */
    word-break: normal;   /* Break long words if needed */
    line-height: 1.1;         /* Tight line spacing */
    padding: 2px;             /* Reduce padding for tightness */
    margin: 0; }
    .teamname-xs { font-size: 10px;    white-space: normal;      /* Allow wrapping */
    word-break: normal;   /* Break long words if needed */
    line-height: 1.1;         /* Tight line spacing */
    padding: 2px;             /* Reduce padding for tightness */
    margin: 0; }
}

.stb-tooltip {
    position: relative;
    cursor: pointer;
    color: #277cbd;
    font-size:11pt;
}

/* Tooltip display */
.stb-tooltip::after {
    content: attr(data-tooltip);
    position: absolute;
    background: #333;
    color: #fff;
    padding: 6px 8px;
    border-radius: 4px;
    white-space: pre-line;     /* <-- this is critical */
    font-size: 12px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
    z-index: 10;

    min-width: 170px;
    max-width: 300px;
    word-wrap: break-word;
}



/* Tooltip positioning */
.stb-tooltip.left::after {
    top: 50%;
    right: 100%;
    transform: translateY(-50%) translateX(-10px);
}

/* Show tooltip on hover */
.stb-tooltip:hover::after,
.stb-tooltip:focus::after {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(-50%) translateX(0);
}


/* Default state */
.menu-pill-top {
  background-color: #277cbd !important; /* force closed color */
  color: white;
  border: 1px solid white;
  padding: 8px 18px;
  font-size: 16px;
  border-radius: 30px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-right:20px;
  transition: background-color 0.2s ease;
}

/* Hover when CLOSED */
.menu-pill-top:not(.active):hover {
  background-color: #1f6aa3 !important; /* override closed state */
}

/* Click when CLOSED */
.menu-pill-top:not(.active):active {
  background-color: #277cbd !important;
}

/* OPEN state */
.menu-pill-top.active {
  background-color: green !important;
}

/* Hover when OPEN */
.menu-pill-top.active:hover {
  background-color: green !important;
}

/* Click when OPEN */
.menu-pill-top.active:active {
  background-color: green !important;
}

/* When top bar shrinks, hide the hamburger icon */
.top-bar.shrunk .menu-icon {
  display: none;
}

/* Optional: shrink the button padding */
.top-bar.shrunk .menu-pill-top {
  padding: 4px 12px !important;
  font-size: 14px;
    margin-right:10px !important;
}

.registration-box {
    max-width: 700px;
    margin: 0px auto;
    padding: 5px 22px;
    border-radius: 14px;
    background: #fafafa;
    border-left: 6px solid #277cbd;
    box-shadow: 0 10px 10px rgba(0,0,0,0.12);
    text-align: center;
    line-height: 1.6;
    font-size: 16px;
}

.registration-box.success {
    max-width:650px;
    border-left: 0px;
    background: #f4fff6;
}

.registration-box.info {
    max-width:650px;
    border-left: 0px;
    background: #f4fff6;
}

.registration-box.warning {
    max-width:650px;
    border-left: 0px;
    background: #fff8f1;
}

.registration-box.error {
    max-width:650px;
    border-left: 0px;
    background: #fff5f5;
}

.registration-box strong {
    font-weight: 700;
}

.registration-box select,
.registration-box input[type="submit"] {
    margin-top: 10px;
    padding: 5px 15px;
    border-radius: 8px;
    border: 1px solid #ccc;
    font-size: 15px;
}

.registration-box input[type="submit"] {
    background: #1e88e5;
    color: white;
    border: none;
    cursor: pointer;
    font-weight: 600;
    transition: 0.2s ease;
        margin-top: 15px;
}

.registration-box input[type="submit"]:hover {
    background: #1565c0;
    transform: translateY(-1px);
}

@media (max-width: 500px) {
    .registration-box {
        margin: 0px;
        padding: 5px 22px;
        font-size: 15px;
    }

/*    .registration-box select,
    .registration-box input[type="submit"] {
        width: 100%;
        margin-top: 10px;
    }*/
}

.event-details {
    position: relative;
    overflow: hidden;
    max-width: 800px;
    margin: 10px auto;
    padding-left: 20px;
    padding-right: 20px;

    border-radius: 28px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,0.97),
            rgba(248,250,252,0.96)
        );

    border: 1px solid rgba(255,255,255,0.65);

    backdrop-filter: blur(10px);

    box-shadow:
        0 25px 60px rgba(0,0,0,0.18),
        0 10px 25px rgba(0,0,0,0.10),
        inset 0 1px 0 rgba(255,255,255,0.8);
        
    font-family:
        Roboto,
        "Segoe UI",
        Inter,
        sans-serif;

    font-size: 17px;
    line-height: 1.4;
    color: #277cbd;
}

.event-details::before {
    content: "";

    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 6px;

    background:
        linear-gradient(
            90deg,
            #277cbd,
            #38bdf8,
            #277cbd
        );
        z-index:1;
}

.event-details::after {
    content: "";

    position: absolute;
    bottom: 0px;
    right: 0px;

    width: 100%;
    height: 100%;


    background-image: url('https://hitandroll.com/images/IMG_0043.png');
    background-repeat: no-repeat;

    background-size: cover;

    background-position: center;



    opacity: 0.5;

    pointer-events: none;

    z-index: 0;
}
.event-details > * {
    position: relative;
    z-index: 1;
}

.event-details h1,
.event-details h2,
.event-details h3 {
    font-weight: 700;
    letter-spacing: -0.5px;
    color: #111827;
}

.event-details p {
    margin-bottom: 16px;
    color: #374151;
}

.event-details strong {
    color: #000;
}

.event-details a {
    color: #1565c0;
    text-decoration: none;
    font-weight: 600;
}

.event-details a:hover {
    text-decoration: underline;
}

.event-details ul,
.event-details ol {
    padding-left: 24px;
}

.event-details img {
    max-width: 100%;
    border-radius: 10px;
}

.event-details hr {
    border: 0;
    border-top: 1px solid #ddd;
    margin: 24px 0;
}

.event-details-title {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 18px;
    padding-bottom: 10px;
    border-bottom: 2px solid #e2e8f0;
    color: #111827;
}

/*@media (max-width: 600px) {
    .event-details {
        margin: 14px;
        padding: 18px;
        font-size: 15px;
        line-height: 1.7;
    }

    .event-details-title {
        font-size: 20px;
    }
}*/

.about-container {
    max-width: 700px;
    margin: 0 auto;
    padding: 20px 20px;
    color: #222;
    line-height: 1.7;
    font-family: Arial, sans-serif;
}

.about-container h3 {
    text-align: center;
    font-size: 2rem;
    margin-bottom: 25px;
    color: #111;
}



.about-person img {
    width: 140px;
    height: 140px;
    object-fit: cover;
    border-radius: 12px;
    flex-shrink: 0;
    display: block; /* ðŸ”¥ IMPORTANT FIX */
}

.about-person-content {
    flex: 1;
    padding-left: 20px;
}

.about-person-content h4 {
    margin: 5px 0 0 0;
    font-size: 1.2rem;
    color: #111;
    text-align: left;
}

.about-person-content p {
    margin: 0;
    color: #444;
}

.about-person {
    display: flex;
    align-items: flex-start;
    background: #f7f7f7;
    border: 1px solid #ddd;
    border-radius: 14px;
    padding: 10px 20px 10px 10px;
}

/* default: image left of text */
.about-person-media img {
    width: 140px;
    height: 140px;
    object-fit: cover;
    border-radius: 12px;
}

/* when space gets tight â†’ stack nicely */
@media (max-width: 600px) {
    .about-person {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

        .about-person-content {
        padding-left: 0;
        text-align: center; /* ðŸ”¥ this centers title + text */
    }

    .about-person-content h4 {
        text-align: center;
    }
}
