* {
    font-family: 'Open Sans', sans-serif !important;
}

body {
    background-color: #F0F0F0 !important;
}

*[id] {
    scroll-margin-top: 7rem;
}

.news-image {
    max-width: 100%;
    height: auto;
}

.flex-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

.flex-card-vcenter {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

.top-align-content {
    align-self: flex-start;
    flex-grow: 1;
}

.flex-center {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
}

.mud-link-no-underline:hover {
    text-decoration: none !important;
}

ul {
    list-style: disc inside;
    padding-left: 1.5em;
}

li {
    padding-left: 1em;
    text-indent: -1.5em;
}

/*----------------------------------------------------------------------*/
/*--- Dashboard Data Grid Tables ---*/
/*----------------------------------------------------------------------*/

/*--- Styling for the table ---*/
.integer-table {
    border-collapse: separate;
    border-spacing: 0;
}

/*--- General styling for the cells ---*/
.cell {
    width: 25px;
    padding: 5px;
    padding-left: 8px;
    padding-right: 8px;
    color: white;
    font-weight: bold;
    text-align: center;
    cursor: pointer; /* Added for clickable cells */
}

/*--- Styling for the first cell ---*/
.first-cell {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    padding-left: 10px;
}

/*--- Styling for the last cell ---*/
.last-cell {
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    padding-right: 10px;
}

/*----------------------------------------------------------------------*/
/*--- Colors ---*/
/*----------------------------------------------------------------------*/
.color-back-red {
    background-color: #FC3537 !important;
}

.color-border-red {
    border: 1px solid #FC3537 !important;
}

.color-back-yellow {
    /*background-color: #FCCC37 !important;*/
    background-color: #F5AF00 !important;
}

.color-back-green {
    background-color: #87BD4B !important;
}

.color-border-green {
    border: 1px solid #87BD4B !important;
}

.visibility-toggle-button,
.visibility-toggle-button:hover,
.visibility-toggle-button:focus {
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.24) !important;
    position: relative;
    z-index: 1;
}

.color-back-blue {
    background-color: #3A96CC !important;
}

.color-back-purple {
    background-color: #DA70D6 !important;
}

.color-back-grey {
    background-color: #7C7C7C !important;
}

.color-back-grey2 {
    background-color: #C0C0C0 !important;
}

.color-back-grey3 {
    background-color: #E7EBEE !important;
}


.color-text-red {
    color: #FC3537 !important;
}

.color-text-yellow {
    /*color: #FCCC37 !important;*/
    color: #F5AF00 !important;
}

.color-text-green {
    color: #87BD4B !important;
}

.color-text-blue {
    color: #3A96CC !important;
}

.color-text-purple {
    color: #DA70D6 !important;
}

.color-text-grey {
    color: #7C7C7C !important;
}

.color-text-white {
    color: #FFFFFF !important;
}

.color-text-white-bold {
    color: #FFFFFF !important;
    font-weight: bold !important;
}

.text-bold {
    font-weight: bold !important;
}

.outline-green {
    border: 1px solid #87BD4B;
    border-radius: 5px;
    padding: 10px;
    margin-bottom: 35px !important;
    margin-top: 10px !important;
}

.border-blue {
    border: 1px solid #3A96CC !important;
}

/*----------------------------------------------------------------------*/
/*--- Circle Overlays ---*/
/*----------------------------------------------------------------------*/
.image-container-with-title {
    position: relative;
    text-align: center; /* Centers the title */
    margin-bottom: 20px; /* Adds some space below each image */
}

.image-title {
    font-size: 16px; /* Adjust the font size as needed */
    color: black; /* Adjust the color as needed */
    padding: 10px; /* Adds some padding around the text */
    width: 100%; /* Ensures the title background spans the width of the container */
    margin-bottom: 10px; /* Space between title and image */
}

.overlay-circle {
    position: absolute;
    color: white; /* Text color */
    border-radius: 50%; /* Makes the div a circle */
    padding: 10px; /* Adjust to control the circle size */
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    width: 35px;
    height: 35px;
    transform: translate(-50%, -50%);
}

/*----------------------------------------------------------------------*/
/*--- Typography helpers ---*/
/*----------------------------------------------------------------------*/

.ef-text-uppercase {
    text-transform: uppercase !important;
}

.overlay-circle-alpha {
    background-color: rgba(252, 53, 55, 0.8); /* #FC3537 with 50% transparency */
}

.overlay-circle-beta {
    /*background-color: rgba(252, 204, 55, 0.8);*/ /* #FCCC37 with 50% transparency */
    background-color: rgba(245, 175, 0, 0.8); /* #F5AF00 with 50% transparency */
}

.overlay-circle-gamma {
    background-color: rgba(135, 189, 75, 0.8); /* #87BD4B with 50% transparency */
}

.overlay-circle-delta {
    background-color: rgba(58, 150, 204, 0.8); /* #3A96CC with 50% transparency */
}

/* Alpha-Beta-Gamma-Delta Symbol circle style */
.symbol-circle {
    width: 40px;
    height: 40px;
    border: 2px solid white;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 24px; /* Larger font for symbol */
    color: white;
    margin-right: 8px; /* Space between circle and text */
}

/*----------------------------------------------------------------------*/
/*--- Dialog ---*/
/*----------------------------------------------------------------------*/

/*--- Hide the scrollbar on the overall dialog, keeping the scrollbar on the inner window */
.mud-dialog-width-full {
    overflow-y: hidden;
}

/*----------------------------------------------------------------------*/
/*--- Hot Reload: clear orphan dialog overlay --------------------------*/
/*----------------------------------------------------------------------*/
/*
   During Blazor hot reload, MudBlazor can occasionally leave a stale dialog
   overlay in the DOM. If no dialog exists, neutralize the overlay so it
   doesn't block pointer interactions.
*/
body:not(:has(.mud-dialog)) .mud-overlay.mud-overlay-dialog {
    pointer-events: none !important;
    opacity: 0 !important;
}

/*----------------------------------------------------------------------*/
/*--- Layout ---*/
/*----------------------------------------------------------------------*/
.center-content {
    display: flex;
    justify-content: center; /*--- Centers content horizontally ---*/
    align-items: center; /*--- Centers content vertically (if needed) ---*/
    text-align: center; /*--- Ensures text is centered if flex alignment doesn't apply ---*/
}

.mb-m15 {
    margin-bottom: -15px;
}

.mb-m10 {
    margin-bottom: -10px;
}

/*----------------------------------------------------------------------*/
/*--- MudTabPanel ---*/
/*----------------------------------------------------------------------*/

.tabpanel-tight {
    min-width: 10px !important;
    padding-right: 20px !important;
}

/*----------------------------------------------------------------------*/
/*--- Outline Group Border ---*/
/*----------------------------------------------------------------------*/

.outline-group-border {
    position: relative;
    padding: 15px;
    padding-left: 13px;
    border: 1px solid rgba(0, 0, 0, 0.23);
    border-radius: 4px;
}

.outline-group-label {
    position: absolute;
    top: -10px;
    left: 13px;
    background-color: white; /* Or match the background color of your component */
    padding: 0 4px;
    font-size: 10px;
    color: rgba(0, 0, 0, 0.9);
}

.outline-group-content {
    display: flex;
    gap: 8px;
}

/*----------------------------------------------------------------------*/
/*--- MudBlazor Controls ---*/
/*----------------------------------------------------------------------*/

.left-align-select .mud-input-slot {
    text-align: left !important;
}

.restriction-overlay-circle {
    position: absolute;
    color: white; /* Text color */
    border-radius: 50%; /* Makes the div a circle */
    padding: 10px; /* Adjust to control the circle size */
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 30px;
    font-weight: bold;
    width: 55px;
    height: 55px;
    transform: translate(-50%, -50%);
}

.restriction-overlay-circle-alpha {
    background-color: rgba(252, 53, 55, 0.8); /* #FC3537 with 50% transparency */
}

.restriction-overlay-circle-beta {
    /*background-color: rgba(252, 204, 55, 0.8);*/ /* #FCCC37 with 50% transparency */
    background-color: rgba(245, 175, 0, 0.8); /* #F5AF00 with 50% transparency */
}

.restriction-overlay-circle-gamma {
    background-color: rgba(135, 189, 75, 0.8); /* #87BD4B with 50% transparency */
}

.restriction-overlay-circle-delta {
    background-color: rgba(58, 150, 204, 0.8); /* #3A96CC with 50% transparency */
}
