@font-face {
    font-family: "Montserrat-Regular";
    src: url("../fonts/Montserrat/Montserrat-Regular.ttf") format("truetype");
}

@font-face {
    font-family: "Montserrat-SemiBold";
    src: url("../fonts/Montserrat/Montserrat-SemiBold.ttf") format("truetype");
}

@font-face {
    font-family: "Anybody-ExtraBold";
    src: url("../fonts/Anybody/Anybody-ExtraBold.ttf") format("truetype");
}

html,
body {
    background: #fff7ed;

    font-family: "Montserrat-Regular";
    font-size: 1em;

    /* color: #1b223a; */
    color: #707070;

    box-sizing: border-box;
    height: 100%;
    margin: 0px 0px 100px 0px;
}

@media screen and (max-width: 40em) {
    body {
        font-size: 0.8em;
    }
}

label {
    color: #505050;
    font-size: 1.1em;
}

h1 {
    font-size: 1.5em;
    margin: 0px;
    line-height: 1.1;
}

header {
    padding: 0px 10px;
    font-size: 1.5em;
}

footer {
    padding: 20px;
}

a {
    color: #505050;
}

a:hover {
    color: #f39200;
}

nav {
    display: flex;
    /* Use flexbox */
    flex-wrap: wrap;
    /* Allow items to wrap onto multiple lines */
    justify-content: flex-start;
    /* Align items to the start */
    gap: 6px; /* This adds spacing between items in all directions */
}

nav a {
    color: #505050;
    padding: 8px 12px;
    background-color: #fae7ce;
    border-radius: 12px;
    text-decoration: none;
    font-size: 12px;
    font-weight: 600;
}

nav a.orange {
    color: white;
    background-color: #f39200;
}

nav a.orange:hover {
    color: #1b223a; /* Same text color on hover */
    text-decoration: none; /* Prevent underline on <a> hover */
}

nav a.red {
    color: white;
    background-color: #e84038;
}

nav a.red:hover {
    color: white; /* Same text color on hover */
    background-color: #1b223a;
}

hr {
    margin: 2px 0px;
}

.wrapper {
    margin: 0px 10px;
}

@media print, screen and (min-width: 40em) {
    .wrapper {
        margin: 0px 40px;
    }
}

table {
    border-collapse: collapse;
    margin: 5px 0px;
    padding: 5px;
}

.score-table {
    font-size: 1.1em;
}

td {
    padding: 3px 0px;
}

tr {
    /* height: 40px; */
}

/* button {
    margin-right: 6px;
    color: white;
    padding: 8px 12px;
    background-color: #f39200;
    border-radius: 16px;
    text-decoration: none;
    font-weight: 600;
} */

.small-button {
    color: white;
    background-color: #f39200;
    padding: 4px 8px;
    font-size: 1em;
    font-weight: 800;
    border-radius: 8px;
    display: inline-block;
}

.small-button:hover {
    color: white;
    background-color: #e84039;
}

.rounded-button {
    background-color: #fae7ce; /* Green background */
    color: #505050; /* White text */
    padding: 12px 24px; /* Some padding */
    font-size: 1em;
    font-weight: 800;
    cursor: pointer; /* Add a mouse pointer on hover */
    border-radius: 16px; /* Rounded corners */
}
.rounded-button:hover {
    background-color: #f39200; /* Same background color on hover */
    color: white; /* Same text color on hover */
    text-decoration: none; /* Prevent underline on <a> hover */
}

.numbers {
    font-feature-settings: "tnum";
}
.red {
    color: #e84039;
}
.orange {
    color: #f39200;
}

.yellow {
    color: #fed300;
}

.blue {
    color: #1a223a;
}

.mybox {
    color: #505050;
    padding: 8px 12px;
    background-color: #fae7ce;
    border-radius: 12px;
    text-decoration: none;
    font-size: 12px;
    font-weight: 600;
}

@media (max-width: 80em) {
    font-size: 0.8em;
    padding: 0px;
}

.large_button {
    font-size: 16px;
    display: inline-block;
    font-family: "Montserrat-SemiBold";
    color: white;
    padding: 15px;
    background-color: #1b223a;
    border-radius: 12px;
    text-align: center;
    text-decoration: none;
    width: 240px;
    word-wrap: break-word;
}

.beige {
    color: #fff7ed;
}

.topblock {
    margin-top: 20px;
}

.firstrow {
    border-bottom: 1pt solid #ccc;
}

.big {
    font-size: 1.5em;
    font-weight: 600;
}

.bold {
    font-weight: 600;
}

.matchtitle {
    font-family: "Anybody-ExtraBold";
    font-size: 1.2em;
    color: #1b223a;
    line-height: 24px; /* Match the height of flex-row */
}

.title {
    font-family: "Anybody-ExtraBold";
    font-size: 1.2em;
    color: #f39200;
}

.large {
    font-family: "Montserrat-SemiBold";
    font-size: 1.2em;
}

.very-large {
    font-family: "Montserrat-SemiBold";
    font-size: 1.4em;
}

@media screen and (max-width: 40em) {
    .large {
        font-size: 0.9em;
    }
}

.semibold {
    font-weight: 600;
}

.bold {
    font-family: "Montserrat-SemiBold";
    font-weight: 800;
}

.info {
    font-family: "Montserrat-SemiBold";
    font-size: 0.9em;
    color: #505050;
}

.small {
    font-size: 0.8em;
}

.minor-info {
    color: #505050;
    font-size: 0.85em;
}

.logo {
    height: 80px;
    margin: 20px 0px;
    /* padding: 5px 10px; */
}

.padding-bottom-small {
    padding-bottom: 4px;
}

.padding-bottom {
    padding-bottom: 20px;
}

.padding-top-small {
    padding-top: 4px;
}

.padding-left {
    padding-left: 10px;
}

.team-names-box {
    height: 60px;
}

.match-result {
    display: flex;
    align-items: center;
    padding: 8px 0px;
}

.player {
    position: relative;
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 3.2em; /* This ensures minimum height for 2 lines */
    justify-content: center;
    overflow: hidden;
}

/* Add this if you want empty lines to take up space */
.player div {
    min-height: 1.4em; /* Height for single line */
}

/* For single player teams */
.player.single-player .semibold {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.4em;
    text-overflow: ellipsis;
    max-height: 2.8em; /* 2 lines × 1.4em line-height */
}

/* For two player teams */
.player.two-players .semibold {
    line-height: 1.4em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.scores {
    display: flex;
}

.separator {
    height: 1px;
    background-color: #505050;
    margin: 5px 0px;
}

.score {
    display: inline-block;

    font-size: 1.3em;
    vertical-align: middle;
    text-align: center;
    /* width: 30px; */
}

.winner {
    color: #f39200;
}

.qualified {
    color: #f9d348;
}

.ws {
    font-family: "Montserrat-SemiBold";
    /* text-align: right; */
    /* background-color: red; */
}

.center {
    text-align: center;
    margin: 0 auto;
}

.red {
    background-color: #e84038;
}

svg {
    border-radius: 16px;
}

.padding20 {
    padding: 20px;
}

.padding {
    padding: 100px;
}

h-margin {
    margin: 100px;
}

.bubble {
    padding: 20px;
    background-color: white;
    border-radius: 24px;
    box-shadow: 0 0 10px 5px #f9e7cf;
}

.dark_bubble {
    padding: 20px;
    background-color: #1b223a;
    color: white;
    border-radius: 24px;
    /* box-shadow: 0 0 10px 5px #f9e7cf; */
}

.white {
    color: white;
}

.test {
    display: flex;
    justify-content: space-between;
    align-items: center;
    /* width: 25%; */
}

.fit {
    width: fit-content;
}

.inline {
    display: inline-block;
    vertical-align: middle;
}

.horizontal-padding {
    padding: 0px 20px;
}

.horizontal-margin {
    margin: 0px 10px;
}

.margin10 {
    margin: 10px;
}

.left-margin {
    margin-left: 10px;
}

.vert-middle {
    vertical-align: middle;
}

.club {
    font-family: "Anybody-ExtraBold";
    font-size: 1.3em;
    color: #f39200;
}

.event {
    font-family: "Anybody-ExtraBold";
    font-size: 2em;
    color: #1b223a;
}

.bottom-border {
    border-bottom: 1px solid #ccc;
}

.dark-bottom-border {
    border-bottom: 1px solid #485170;
}

.bubble-bottom {
    font-size: 0.9em;
}

.duration {
    width: 100%;
    background-color: #fcc;
}

.clear {
    clear: both;
}

.teamname {
    width: 100%;
}

.top-margin {
    margin-top: 10px;
}

.smatch {
    padding-top: 20px;
    width: 800px;
    margin: 0 auto;
}

.scontainer {
    display: flex;
    align-items: center;
}

.verticalmargin {
    margin: 10px 0px;
}

.vertical-padding {
    padding: 8px 0px;
}

.tight {
    line-height: 1.1;
}

.flex-row {
    display: flex;
    justify-content: space-between;
    height: 24px;
    align-items: center;
    /* vertical-align: middle; */
}

.left-label {
    /* align-self: flex-start; */
    /* Aligns the left label to the top */
}

.right-label {
    /* align-self: flex-end; */
    /* Aligns the right label to the bottom */
}

.left-column {
    flex-grow: 1;
}

.right-column {
    flex-grow: 1;
    text-align: right;
}

.team_image {
    height: 40px;
    width: 40px;
}

.table-row-1-colum {
    display: grid;
    grid-template-columns: 1fr;
    /* Vertically center the content within each column */
    padding: 5px 0px;
}

.table-row-2-column-header {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    /* Vertically center the content within each column */
    padding: 5px 0px;
}

.table-row-2-colums {
    display: grid;
    grid-template-columns: 2fr 60px;
    align-items: center;
    /* Vertically center the content within each column */
    padding: 5px 0px;
}

.table-row-2-colums-test {
    display: grid;
    grid-template-columns: 1px auto 100px;
    align-items: center;
    /* Vertically center the content within each column */
    padding: 5px 0px;
}

.table-row-3-colums {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    /* Vertically center the content within each column */
    padding: 5px 0px;
}

.table-row-5-colums-tournament {
    display: grid;
    grid-template-columns: 75px 95px 1fr 120px;
    align-items: center;
    gap: 4px;
}

.very-large.club-name {
    font-size: 1.2em;
}

.table-row-5-colums-tournament.header {
    grid-template-columns: 1fr;
    justify-content: space-between;
}

.table-row-5-colums-tournament.footer {
    grid-template-columns: 1fr; /* Override to just 2 columns for header */
    text-align: center; /* Center the text content */
    width: 100%;
    color: gray;
    text-decoration: underline !important; /* Ensures the link is underlined */
}

@media screen and (max-width: 64em) {
    /* Adjust breakpoint as needed */
    .table-row-5-colums-tournament {
        grid-template-columns: 80px 100px 1fr 120px;
        gap: 4px;
    }

    .small {
        font-size: 1em;
    }

    .very-large {
        font-size: 1.4em;
    }

    .very-large.club-name {
        font-size: 1.2em;
    }
}

@media screen and (max-width: 40em) {
    /* Adjust breakpoint as needed */
    .table-row-5-colums-tournament {
        grid-template-columns: 60px 70px 1fr 80px;
        gap: 2px;
    }

    .small {
        font-size: 1em;
    }

    .very-large {
        font-size: 1.4em;
    }

    .very-large.club-name {
        font-size: 1.2em;
    }
}

@media screen and (max-width: 400px) {
    /* Adjust breakpoint as needed */
    .table-row-5-colums-tournament {
        grid-template-columns: 55px 65px 1fr 75px;
        gap: 2px;
    }

    .small {
        font-size: 0.9em;
    }

    .very-large {
        font-size: 1.3em;
    }

    .very-large.club-name {
        font-size: 1em;
    }
}

.light-green {
    background-color: #90ee90 !important;
}

.light-yellow {
    background-color: #fed300 !important;
}

.light-orange {
    color: white !important;
    background-color: #f39200 !important;
}

.light-red {
    background-color: #e84039 !important;
    color: white !important;
}

.light-gold {
    background-color: gold !important;
}

.light-silver {
    background-color: silver !important;
}

.light-bronze {
    background-color: #cd7f32 !important;
    color: white !important;
}

.light-beige {
    background-color: #fae7ce !important;
}

.table-row-element {
    width: 100%;
    line-height: 1.2;
    padding: 8px 8px;
    align-items: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap; /* Prevents text from wrapping to a new line */
    max-width: 100%; /* Ensures children don't overflow */
}

.table-row-element.tournament-date {
    grid-column: 1;
    color: #505050;
    background-color: #fae7ce;
    border-radius: 12px;
}

.table-row-element.tournament-type {
    grid-column: 2;
}

.table-row-element.tournament-name {
    grid-column: 3;
    align-self: center; /* Align in grid cell vertically */
    margin: auto 0; /* Alternative vertical centering */
}

.very-large.club-name {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3; /* Limit to 2 lines */
    -webkit-box-orient: vertical;
    white-space: normal;
    /* Keep any existing styling for .large */
}

.small.event-name {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.table-row-element.tournament-status {
    grid-column: 4;
}

.box {
    color: #505050;
    border-radius: 12px;
    padding: 4px;
}

.table-row-6-colums-club-tournament {
    display: grid;
    grid-template-columns: 100px 80px 100px 80px 1fr auto;
    align-items: center;
    /* Vertically center the content within each column */
    padding: 5px 0px;
}

.table-row-4-colums {
    display: grid;
    grid-template-columns: 1px auto 50px 70px 100px;
    /* first column is a hack */
    align-items: center;
    /* Vertically center the content within each column */
    padding: 5px 0px;
}

@media print, screen and (min-width: 80em) {
    .table-row-4-colums {
        display: grid;
        grid-template-columns: 1px auto 50px 160px 180px;
        /* first column is a hack */
        align-items: center;
        /* Vertically center the content within each column */
        padding: 5px 0px;
    }
}

.table-row-3-colums-ranks {
    display: grid;
    grid-template-columns: 80px 1fr auto;
    /* first column is a hack */
    align-items: center;
    /* Vertically center the content within each column */
    padding: 5px 0px;
}

.table-row-3-colums-teams {
    display: grid;
    grid-template-columns: 1px auto auto 80px;
    /* first column is a hack */
    align-items: center;
    /* Vertically center the content within each column */
    padding: 5px 0px;
}

/* Summons */
.table-row-3-colums-summons {
    grid-template-columns: 50% 25% 25%;
    align-items: center;
    display: grid;
}

.summons-left,
.summons-right {
    flex: 1;
    padding: 5px 0px;
}

@media (min-width: 80em) {
    .summons-right {
        display: flex;
        gap: 20px;
    }

    .summon-cell {
        flex: 1;
    }
}

@media (max-width: 80em) {
    .summons-right {
        text-align: center;
        display: flex;
        flex-direction: column;
    }
}

.table-row-5-colums {
    display: grid;
    grid-template-columns: 60px auto 50px 70px 130px;
    align-items: center;
    /* Vertically center the content within each column */
    padding: 5px 0px;
}

.table-cell {
    flex-grow: 1;
    /* text-align: center; */
    /* padding: 5px; */
}

.table-cell-large {
    grid-column: 2 / span 1;
    /* Center column spans from column 2 to column 3 */
    text-align: left;
}

.table-cell-responsive-large {
    flex-grow: 1;
    display: none;
}

.table-cell-responsive-short {
    flex-grow: 1;
    display: block;
}

@media print, screen and (min-width: 80em) {
    .table-row-4-colums-tournament {
        grid-template-columns: 50px 1fr auto auto;
    }

    .table-cell-responsive-large {
        display: block;
    }

    .table-cell-responsive-short {
        display: none;
    }
}

.flex {
    display: flex;
    align-items: center;
}

.flex-left {
    flex: 1;
    text-align: left;
    justify-content: center;
    min-height: 4em;
    padding-right: 5px;
}

.flex-right {
    flex: initial;
    text-align: right;
    justify-content: center;
}

#header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 40px;
}

.left-content {
    display: flex;
    align-items: center;
}

.right-content {
    margin-left: auto;
}

/* CRM form */
.filter-form {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-bottom: 20px;
}

.filter-group {
    display: flex;
    align-items: center;
}

.filter-label {
    margin-right: 5px;
    font-size: 0.9em;
}

.filter-buttons {
    display: flex;
    gap: 5px;
}

.btn {
    padding: 5px 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    cursor: pointer;
}

.btn-primary {
    background-color: #007bff;
    color: white;
}

.btn-secondary {
    background-color: #6c757d;
    color: white;
}
.styled-link {
    text-decoration: underline; /* Ensures the link is underlined */
    color: #f39200; /* Use your main color variable if defined */
    font-weight: bold; /* Optional: To make the link more prominent */
}

.styled-link:hover {
    color: #f39200; /* Optional: Define a hover color */
    text-decoration: none; /* Optional: Remove underline on hover */
}

.sup {
    font-size: x-small;
    vertical-align: super;
}

.alert {
    color: #e84038; /* Make the text red */
    font-weight: bold; /* Optional: Make the text bold */
}

.destructive-button {
    background-color: #ff4d4d; /* Red background */
    color: white; /* White text */
}

.destructive-button:hover {
    background-color: #cc0000; /* Darker red on hover */
    color: white; /* White text on hover */
}
.download-button {
    margin-right: 6px;
    color: #fff7ed;
    padding: 8px 12px;
    background-color: #1a223a;
    border-radius: 12px;
    text-decoration: none;
    font-size: 12px;
    font-weight: 600;
}

.download-button:hover {
    color: #f39200;
}

.match-result a {
    text-decoration: none;
    color: inherit;
    display: block;
    border-radius: 6px;
}

.match-result a:hover {
    background-color: #fae7ce;
    color: #505050;
}

.group-stage-link {
    text-decoration: none;
    color: inherit;
}

.group-stage-link:hover {
    color: #f39200; /* Or whatever hover color you prefer */
}

.tournament-info a {
    color: #f39200;
    text-decoration: underline;
    font-weight: bold;
}
.tournament-info a:hover {
    color: #f39200;
}

.top-border {
    border-top: 1px solid #ccc;
}

.strikethrough {
    text-decoration: line-through;
}

.match-status-container {
    align-items: center;
    display: flex;
    height: 100%;
    margin-left: -20px;
    margin-right: -20px;
    padding-left: 20px;
    padding-right: 20px;
}

.match-status-container-header {
    margin-top: -20px;
    height: 40px;
    text-align: left;
}

.match-status-container-header-bottom {
    margin-bottom: -20px;
    height: 40px;
    text-align: left;
}

.match-status-container.running,
.status-container.running {
    background-color: #90ee90;
    border-radius: 0 0 24px 24px;
}

.overlay-text {
    position: absolute;
    top: 50%;
    right: 0%;
    transform: translate(-50%, -50%);
    white-space: nowrap;
}

.even-row {
    background-color: #ffffff; /* White */
}

.odd-row {
    background-color: #e6f2ff; /* Light blue */
}

.player-flex-row {
    display: flex;
    justify-content: space-between;
    height: 24px;
    align-items: center;
    gap: 8px;
    margin-right: 8px;
}
