﻿:root {
    --race-mode: #59aff8;
    --nomination: orange;
    --raceresult: #59aff8;
    --swimlynx-blue: #254259;
}

body {
    background-color: #1e1e1e;
    margin: 0px;
    padding: 0px;
    font-family: "Roboto", "Ubunutu", "Montserrat", "Helvetica", Arial, sans-serif;
    overflow-y: hidden;
    overflow-x: hidden;
}

.swimlynx-blue {
    color: #1b75bb
}

#app-wait {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: transparent;
    z-index: 999999;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 1;
    transition: opacity 0.5s ease-in-out; /* This will handle the fading effect */
}

    #app-wait .spinner {
        border: 5px solid #d9d9d9;
        border-top: 5px solid #3498db;
        border-radius: 50%;
        width: 30px;
        height: 30px;
        animation: spin 2s linear infinite;
    }

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}




form h1 {
    font-size: 14px;
    color: #fff;
    margin:15px 0px 10px 0px;
    padding:0;
    border-bottom: 1px solid #515151;
    text-transform: uppercase;

}
form h2 {
    font-size: 14px;
    color: #fff;
    margin: 0px 0px 10px 0px;
    padding: 0;
    
}



@keyframes slideInFromRight {
    from {
        transform: translateX(100%);
        opacity: 1;
    }

    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slideOutToLeft {
    from {
        transform: translateX(0);
        opacity: 1;
    }

    to {
        transform: translateX(-100%);
        opacity: 1;
    }
}

@keyframes slideInFromLeft {
    from {
        transform: translateX(-100%);
        opacity: 1;
    }

    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slideOutToRight {
    from {
        transform: translateX(0);
        opacity: 1;
    }

    to {
        transform: translateX(100%);
        opacity: 1;
    }
}

.view-slide-in-right {
    animation: slideInFromRight 0.3s forwards;
}

.view-slide-out-left {
    animation: slideOutToLeft 0.3s forwards;
}

.view-slide-in-left {
    animation: slideInFromLeft 0.3s forwards;
}

.view-slide-out-right {
    animation: slideOutToRight 0.3s forwards;
}

.hidden {
    display: none;
}




.box-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 10px 0px;
    width: 100%;
}

    .box-content i {
        width: 30px;
        height: 30px;
        font-size: 30px;
    }

    .box-content .number {
        font-size: 24px;
        font-weight: bold;
    }

    .box-content .text {
        font-size: 14px;
        color: #555;
    }

.row .column {
    border-right: none;
}

@media (min-width: 769px) {
    .box-content {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin: 10px 0px;
        width: 100%;
    }

        .box-content i {
            width: 30px;
            height: 30px;
            font-size: 30px;
        }

        .box-content .number {
            font-size: 24px;
            font-weight: bold;
        }

        .box-content .text {
            font-size: 14px;
            color: #555;
        }
}

.container {
    width: 100%;
    flex: 1;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

.row {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    background-color: #fff;
    margin-bottom: 20px;
}

.column {
    padding: 10px; /* Adjust as needed for gutter */
    text-align: center;
    box-sizing: border-box; /* Ensure padding and border are included in the width */
}

.box-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10px; /* Adjust as needed */
    box-sizing: border-box;
    border-right: 1px solid #ccc;
}

.row .column:last-child .box-content {
    border-right: none;
}

.box-content i {
    font-size: 24px;
}

.box-content .number {
    font-size: 24px;
    font-weight: bold;
}

.box-content .text {
    font-size: 14px;
    color: #555;
}

/* Responsive layout */
@media (max-width: 768px) {
    .column {
        flex: 1 1 100%;
        border-right: none;
    }

        .column:last-child {
            border-bottom: none;
        }

    .box-content {
        border-right: none;
        border-bottom: 1px solid #ccc;
    }

    .column:last-child .box-content {
        border-bottom: none;
    }
}

@media (min-width: 769px) {
    .column-16 {
        flex: 1 1 16.6666%; /* Subtract padding and gutter */
        max-width: 16.6666%;
    }

    .column-25 {
        flex: 1 1 25%; /* Subtract padding and gutter */
        max-width: 25%;
    }

    .column-50 {
        flex: 1 1 50%; /* Subtract padding and gutter */
        max-width: 50%;
    }
}

.banner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: orange;
    border: 1px solid #ccc;
    margin-bottom: 30px;
    border-radius: 5px;
    padding: 10px;
}

    .banner div {
        font-size: 14px;
    }

    .banner button {
        margin-left: 10px;
        margin-bottom:0;
        line-height:0;
    }

    .banner .button-group {
        margin-left: auto; /* This forces the buttons to align to the right */
        display: flex;
        gap: 5px; /* Adds space between the buttons */
        width: 200px;
        margin: 0px;
    }

        .banner .button-group button {
            padding: 5px 10px;
        }


.Pending {
    color: darkgray;
    width: 75px;
}
.Nominating {
    color: orange;
    width: 75px;
}
.Complete {
    color: green;
    width: 75px;
}
.Cancelled {
    color: red;
    width: 75px;
}




view-meetsetup .data-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}


    view-meetsetup .data-row i {
        width: 2.4rem;
        height: 2.4rem;
        line-height: 2.4rem;
        border-radius: 0.4rem;
        border: 1px solid #d9d9d9;
        background-color: #fff;
        margin-left: 5px;
        text-align: center;
        cursor: pointer;
    }

view-meetsetup .section {
    margin: 10px 0px;
    padding: 0;
    color: var(--swimlynx-blue);
    font-weight: bold;
    border-bottom: 1px solid #cdcdcd;
    width: 100%;
}

view-meetsetup fieldset, view-meetsetup input, view-meetsetup select, view-meetsetup input[type="datetime-local"], view-meetsetup input[type="text"], view-meetsetup input[type="number"] {
    margin-bottom: 0.5rem;
    -webkit-appearance: none;
    background-color: #fff;
    border: 0.1rem solid #d1d1d1;
    border-radius: .4rem;
    box-shadow: none;
    box-sizing: inherit;
    height: 2.4rem;
    padding: .4rem .8rem; /* Use rem units consistently */
    width: 100%;
    display: block;
    color: #606c76;
    font-size: 1rem;
}

    
view-meetsetup .footer {
    width: 100%;
    border-top: 1px solid #cdcdcd;
    margin-top: 20px;
}

slad-races {
    display: block;
    width: 100%;
}
    slad-races label {
        color: #606c76;
        font-size: 1rem;

    }
    slad-races .header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 10px; /* Optional: Adjust padding as needed */
        margin: 10px 0px;
        padding: 0;
        color: var(--swimlynx-blue);
        font-weight: bold;
        border-bottom: 1px solid #cdcdcd;
        width: 100%;
    }

    slad-races .header-text {
        flex-grow: 1;
        text-align: left;
    }

    slad-races .header-icon {
        text-align: right;
        cursor: pointer;
    }

    slad-races .editor {
        display: flex;
        align-items: flex-start; /* Align items at the top */
        justify-content: flex-start; /* Align items starting from the left */
        width: 100%;
        gap: 10px; /* Adds space between the form groups */
    }

    slad-races .form-group {
        display: flex;
        flex-direction: column; /* Stack label above the input/select */
        width: auto;
    }

    slad-races .flex-fill {
        flex-grow: 1;
    }

    slad-races .fixed-width {
        width: 100px;
    }

    slad-races .fixed-width-small {
        width: 80px;
    }

    slad-races .button-width {
        height: 2.4rem;
        line-height: 2.4rem;
        padding: 0;
        width: 95px;
    }

slad-race {
    display: flex;
    align-items: flex-start; /* Align items at the top */
    justify-content: flex-start; /* Align items starting from the left */
    width: 100%;
    gap: 10px; /* Adds space between the form groups */
    background-color: #fff;
    margin-bottom: 2px;
    border-radius: 3px;
}


slad-race .value {
    padding: 7px;
}

slad-race .actions {
    padding-top: 6px;
    padding-right: 6px;
}
    slad-race .actions i {
        border: 1px solid #d9d9d9;
        background-color: #1b75bb;
        color: #fff;
        width: 25px;
        height: 25px;
        cursor: pointer;
        line-height: 25px;
        text-align: center;
    }
    slad-race .actions i.disabled {
        opacity: 0.5;
        cursor:default;
        
    }

slad-lanes {
    display: block;
    width: 100%;
}
    slad-lanes .header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 10px; /* Optional: Adjust padding as needed */
        font-size: 15px;
        margin: 10px 0px;
        padding: 0;
        color: var(--swimlynx-blue);
        font-weight: bold;
        border-bottom: 1px solid #cdcdcd;
        width: 100%;

    }

    slad-lanes .header-text {
        flex-grow: 1;
        text-align: left;
        font-size: 16px; /* Adjust font size as needed */
    }

    slad-lanes .header-icon {
        text-align: right;
        font-size: 16px; /* Adjust font size as needed */
        cursor: pointer;
    }

slad-lanes label {
    color: #606c76;
}

    slad-lanes .section {
        font-size: 15px;
        margin: 10px 0px;
        padding: 0;
        color: var(--swimlynx-blue);
        font-weight: bold;
        border-bottom: 1px solid #cdcdcd;
        width: 100%;
    }

    slad-lanes .race-controls {
        display: flex;
        align-items: flex-start; /* Align items at the top */
        justify-content: flex-start; /* Align items starting from the left */
        width: 100%;
        gap: 10px; /* Adds space between the form groups */
    }

    slad-lanes .form-group {
        display: flex;
        flex-direction: column; /* Stack label above the input/select */
        width: auto;
    }

    slad-lanes .flex-fill {
        flex-grow: 1;
    }

    slad-lanes .fixed-width {
        width: 100px;
    }

    slad-lanes .fixed-width-small {
        width: 80px;
    }

    slad-lanes .button-width {
        height: 33px;
        line-height: 33px;
        width: 95px;
    }

slad-lane {
    display: block;
    width: 100%;
}

slad-lane .lane {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

    slad-lane .index {
        width: 2.4rem;
        height: 2.4rem;
        border-radius: 3px;
        border: 1px solid #d9d9d9;
        background-color: #fff;
        line-height: 2.4rem;
        text-align: center;
    }

    slad-lane i {
        width: 2.4rem;
        height: 2.4rem;
        line-height: 2.4rem;
        border-radius: 0.4rem;
        border: 1px solid #d9d9d9;
        background-color: #fff;
        margin-left: 5px;
        text-align: center;
        cursor: pointer;
        padding-top: 10px;
    }


view-club {
    
}
view-club .club {
    display: flex;
    justify-content: space-between; /* Ensures the left and right divs are on opposite ends */
    width: 100%; /* Ensures the container takes up 100% of the available width */
}




slad-club {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 20px;
}

    slad-club .club, slad-club .logo {
        width: 50%; /* Adjust width as needed */
        box-sizing: border-box;
    }

    /* Ensure .club div stacks its child elements vertically */
    slad-club .club {
        display: flex;
        flex-direction: column;
        order: 1;
    }

    slad-club .logo {
        order: 2;
        flex: 1; /* Allows the right div to grow and take up available space */
        text-align: right; /* Aligns text to the right */
        position: relative;
        display: inline-block;
    }

        slad-club .logo:hover .logo-edit-icon {
            display: block;
        }

    slad-club .logo-edit-icon {
        position: absolute;
        top: -5px;
        right: -5px;
        font-size: 21px;
        color: #000000;
        border-radius: 50%;
        display: none;
        cursor: pointer;
    }


    slad-club .club .name {
        font-size: 1.5rem;
        margin-bottom: 0.8rem;
        color: var(--swimlynx-blue);
        font-weight:bold;
        cursor: pointer;
    }

/* Responsive layout for screen sizes less than 768px */
@media screen and (max-width: 768px) {
    slad-club {
        flex-direction: column-reverse;
    }

        slad-club .club, slad-club .logo {
            width: 100%; /* Full width for each div */
        }

        slad-club .logo {
            order: 2;
            text-align:center;
        }

        slad-club .club {
            order: 1;
            text-align: center;
        }
}






slad-nominations {
    display: block;
    width: 100%;
}

    slad-nominations label {
        color: #606c76;
    }

    slad-nominations .header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 10px; /* Optional: Adjust padding as needed */
        font-size: 15px;
        margin: 10px 0px;
        padding: 0;
        color: var(--swimlynx-blue);
        font-weight: bold;
        border-bottom: 1px solid #cdcdcd;
        width: 100%;
    }
    slad-nominations .information {
        display: flex;
        align-items: center; /* Center vertically */
        justify-content: center; /* Optionally center horizontally */
        height: 300px;
        font-size: 16px;
    }
        slad-nominations .information .content {
            max-width: 500px; /* Set the maximum width */
            word-wrap: break-word; /* Ensure text wraps when exceeding max-width */
            text-align:center;
        }
    slad-nominations .header-text {
        flex-grow: 1;
        text-align: left;
        font-size: 16px; /* Adjust font size as needed */
    }

    slad-nominations .header-icon {
        text-align: right;
        font-size: 16px; /* Adjust font size as needed */
        cursor: pointer;
    }

    slad-nominations .filters {
        display: flex;
        align-items: flex-start; /* Align items at the top */
        justify-content: flex-start; /* Align items starting from the left */
        width: 100%;
        gap: 10px; /* Adds space between the form groups */
    }

    slad-nominations .form-group {
        display: flex;
        flex-direction: column; /* Stack label above the input/select */
        width: auto;
    }

    slad-nominations .flex-fill {
        flex-grow: 1;
    }

    slad-nominations .fixed-width {
        width: 100px;
    }

    slad-nominations .fixed-width-small {
        width: 80px;
    }

    slad-nominations .button-width {
        height: 33px;
        line-height: 33px;
        width: 95px;
    }


slad-nomination {
    display: flex;
    align-items: stretch; /* Align items at the top */
    justify-content: flex-start; /* Align items starting from the left */
    width: 100%;
    gap: 10px; /* Adds space between the form groups */
    background-color: #fff;
    margin-bottom: 2px;
    border-radius: .4rem;
    
}


    slad-nomination .value {
        padding: 7px;
    }

    slad-nomination .actions {
        padding-top: 6px;
        padding-right: 6px;
        width: 95px;
        text-align:center;
    }

        slad-nomination .actions i {
            border: 1px solid #d9d9d9;
            background-color: #1b75bb;
            color: #fff;
            width: 25px;
            height: 25px;
            cursor: pointer;
            line-height: 25px;
            text-align: center;
        }

            slad-nomination .actions i.disabled {
                opacity: 0.5;
                cursor: default;
            }


    slad-nomination .cell {
        display: flex;
        align-items: center; /* Center the text vertically */
        justify-content: left; /* Optional: Center the text horizontally */
    }
        slad-nomination .cell a {
            cursor:pointer;
            color: orange;
        }

    slad-nomination.unpublished {
        /*border: 1px dashed orange;*/
        background-color: #fbd6d6;
        border: 1px solid #fff;
    }
    slad-nomination.confirmed {
        /*border: 1px dashed orange;*/
        background-color: #c2fbc2;
    }
    slad-nomination.published {
        background-color: #fff6e7;
    }
slad-nominate-member {
    width: 100%;
    display: flex;
    align-items:center;
    position:relative;
    cursor:pointer;
    padding-right:25px;
    width:100%;
}
slad-nominate-member .dropdown-item:hover {
    background-color: var(--swimlynx-blue);
    color: #fff;
}




slad-meet {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
}

slad-meet .club, slad-meet .logo {
    width: 50%; /* Adjust width as needed */
    box-sizing: border-box;
}

/* Ensure .club div stacks its child elements vertically */
slad-meet .club {
    display: flex;
    flex-direction: column;
    order: 1;
}

slad-meet .logo {
    order: 2;
    flex: 1; /* Allows the right div to grow and take up available space */
    text-align: right; /* Aligns text to the right */
    position: relative;
    display: inline-block;
    height: 150px;
}
    slad-meet .logo img {
        height: 150px;
    }


/* Ensure the overall container takes up the full height */
view-carnival {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}

/* The scrollable content area below the fixed header */
    view-carnival .content {
        flex-grow: 1; /* Makes the content take up the remaining space */
        width: 100%;
        overflow-y: auto; /* Enable scrolling within this area */
        padding: 0px 10px 0px 0px;
        box-sizing: border-box;
        margin-top: 10px;
    }
    view-carnival .header {
        width: 100%;
        z-index: 1;
        flex-shrink: 0; /* Prevents shrinking */
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        padding-bottom: 10px;
        border-bottom: 1px solid #cdcdcd;
    }

    view-carnival .club, view-carnival .links {
        width: 50%; /* Adjust width as needed */
        box-sizing: border-box;
    }

    /* Ensure .club div stacks its child elements vertically */
    view-carnival .club {
        display: flex;
        flex-direction: column;
        order: 1;
    }

    view-carnival .links {
        order: 2;
        flex: 1; /* Allows the right div to grow and take up available space */
        justify-content: flex-end; /* Aligns the buttons to the right */
        display: flex;
        gap: 10px
    }


    view-carnival .club .name {
        font-size: 1.5rem;
        margin-bottom: 0.8rem;
        color: var(--swimlynx-blue);
        font-weight: bold;
        cursor: pointer;
    }

/* Responsive layout for screen sizes less than 768px */
@media screen and (max-width: 768px) {
    slad-meet .header {
        flex-direction: column-reverse;
    }

    slad-meet .club, slad-meet .logo {
        width: 100%; /* Full width for each div */
    }

    slad-meet .logo {
        order: 2;
        text-align: center;
        width: 100%;
    }

    slad-meet .club {
        order: 1;
        text-align: center;
    }
}




slad-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 1rem 0.5rem 0.8rem 0rem;
    padding: 0;
    color: var(--swimlynx-blue);
    font-weight: bold;
    border-bottom: 1px solid #cdcdcd;
    width: 100%;
}

slad-header .title {
    flex-grow: 1;
    text-align: left;
    font-size: 1rem;
}

slad-header .icon {
    text-align: right;
    font-size: 1rem;
    cursor: pointer;
}

view-terms h2 {
    font-size: 1.4rem;
}
view-terms label {
    color: #000;
}
view-terms textarea {
    flex: 1;
    width: 100%;
    margin-bottom: 10px;
    box-sizing: border-box;
}

view-terms .button-group {
    display: flex;
    justify-content: flex-end; /* Align buttons to the right */
    gap: 10px; /* Add space between the buttons */
    margin-top: 10px;
    align-self: flex-end; /* Make sure the button group stays at the right of the container */
}

/* Media query for small screens */
@media (max-width: 768px) {
    view-terms .button-group {
        flex-direction: column;
        width: 100%; /* Ensure buttons take full width */
        align-items: stretch; /* Stretch buttons to full width */
    }

        view-terms .button-group button {
            width: 100%; /* Make each button 100% wide */
        }
}



slad-import .container {
    display: flex;
    flex-direction: column;
    height: 100%;
}

slad-import .upload-area {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-grow: 1;
    width: 100%;
    height: 100%;
    border: 2px dashed #aaa;
    border-radius: 8px;
    color: #aaa;
    font-size: 24px;
    cursor: pointer;
    text-align: center;
}

    slad-import .upload-area.dragover {
        background-color: #f0f0f0;
    }

slad-import .hidden-input {
    display: none;
}


slad-import .table-container {
    flex-grow: 1;
    overflow-y: auto;
    margin-top: 8px;
}

slad-import .table-info {
    padding: 10px 0px;
}

slad-import table {
    width: 100%;
    border-collapse: collapse;
}

slad-import th, slad-import td {
    border: 1px solid #ddd;
    padding: 8px;
    text-align: left;
    background-color: #fff;
}

slad-import th {
    background-color: #f2f2f2;
}

slad-import select {
    width: 100%;
    padding: 4px;
    background-color: #ffeece !important;
}

slad-import .footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding-top: 10px;
}



slad-sidebar-swimmer form {
    padding: 0px;
}

    slad-sidebar-swimmer form .title {
        color: #1b75bb;
        border-bottom: 1px solid #252525;
        padding: 0px 5px 5px 5px;
        margin: 5px 0px 10px 0px;
    }

    slad-sidebar-swimmer form input[type=text] {
        margin-bottom: 0;
        height: auto;
        padding: 7px;
        font-size: 13px;
    }

        slad-sidebar-swimmer form input[type=text]:disabled {
            background-color: #333;
            border: none;
            color: #fff;
        }

        slad-sidebar-swimmer form input[type=text]:focus {
            outline: 2px solid #59aff8;
        }

    slad-sidebar-swimmer form input[type=checkbox] {
        height: 28px;
        width: 28px;
        border-radius: 3px;
    }

    slad-sidebar-swimmer form select {
        margin-bottom: 0;
        height: auto;
        padding: 7px;
        font-size: 13px;
    }

        slad-sidebar-swimmer form select option {
            padding: 15px; /* Match padding with select */
            background-color: #eee; /* Match background-color with select */
        }

        slad-sidebar-swimmer form select:disabled {
            background-color: #333;
            color: #fff;
        }

        slad-sidebar-swimmer form select:focus {
            outline: 2px solid #59aff8;
        }

    slad-sidebar-swimmer form .input-group {
        display: flex;
        justify-content: space-between;
        align-items: center;
        position: relative;
        margin: 10px 0px 10px 0px;
        padding: 0;
    }

        slad-sidebar-swimmer form .input-group .left {
            width: 100px; /* Take up remaining space */
        }

            slad-sidebar-swimmer form .input-group .left p {
                margin: 0;
                padding: 5px;
                color: #fff;
            }

            slad-sidebar-swimmer form .input-group .left .lane {
                margin: 0;
                background-color: #333;
                border-radius: 4px;
                color: #fff;
                width: 30px;
                height: 31px;
                line-height: 31px;
                padding: 0;
                vertical-align: middle;
                text-align: center;
            }

            slad-sidebar-swimmer form .input-group .left .flags {
                margin: 0;
                background-color: #333;
                border-radius: 4px;
                color: #555;
                width: 30px;
                height: 31px;
                line-height: 31px;
                padding: 0;
                vertical-align: middle;
                text-align: center;
            }

        slad-sidebar-swimmer form .input-group .right {
            flex-grow: 1
        }

            slad-sidebar-swimmer form .input-group .right p {
                margin: 0;
                background-color: #333;
                padding: 5px 5px;
                border-radius: 4px;
                color: #fff
            }

    slad-sidebar-swimmer form .button-group {
        border-top: 1px solid #252525;
        margin-top: 20px;
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        padding: 20px 0px;
    }
