﻿/* Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification
for details on configuring this project to bundle and minify static web assets. */

html, body {
    overscroll-behavior: none;
    /* Or for specific scrolling elements: */
    /* overscroll-behavior-y: contain; */
}

a.navbar-brand {
    white-space: normal;
    text-align: center;
    word-break: break-all;
}

/* Sticky footer styles
-------------------------------------------------- */
html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

.border-top {
    border-top: 1px solid #e5e5e5;
}

.border-bottom {
    border-bottom: 1px solid #e5e5e5;
}

.background-medium {
    background: #f1e7e0;
}
.background-black, .list-group-item.active.background-black {
    background-color: #333333;
    border-color: #555555;
}

.no-padding {
    padding: 0;
}

.marginTop-10 {
    margin-top: 10px;
}

.marginTop-20 {
    margin-top: 20px;
}

.marginTop-30 {
    margin-top: 30px;
}

.marginTop-50 {
    margin-top: 50px;
}

.marginTop-60 {
    margin-top: 60px;
}

.marginTop-70 {
    margin-top: 70px;
}

.font-medium {
    font-size: 1.2em;
}

.bold {
    font-weight: bold
}

.box-shadow {
    box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);
}

button.accept-policy {
    font-size: 1rem;
    line-height: inherit;
}


.larger, .counterControl .larger {
    font-size: 1.6em;
}

/* Sticky footer styles
-------------------------------------------------- */
html {
    position: relative;
    min-height: 100%;
}

body {
    /* Margin bottom by footer height */
}

footer.footer {
    /*position: absolute;
    bottom: 0;*/
    width: 100%;
    white-space: nowrap;
    /* Set the fixed height of the footer here */
    height: 60px;
    line-height: 60px; /* Vertically center the text there */
    background: #a93300;
    color: #fff;
    border-top: none !important;
}


.hidden {
    display: none;
}

.oops {
    color: #ff550b;
    background-color: #fffaf8;
    border-color: #ff550b;
}

.game .score {
    text-align: center;
    font-size: 2em;
    color: #ff550b;
    border: 1px solid #ff550b;
    margin: 27px;
    background: #fffaf8;
    font-weight: bold;
}


.img-small {
    max-width: 50px;
}

.score-input {
    padding: 0 20%;
}

.min-height-38 {
    min-height: 38px;
}

.game-tag {
    font-family: monospace;
    font-size: 1.5em;
    text-align: center;
    border-top: 2px solid #ff550b;
    color: white;
    background: url(/img/Darts-in-board.png);
    background-color: #ff550b;
    background-repeat: no-repeat;
    background-size: 20%;
    background-position-x: 12%;
    background-position-y: 50%;
}

.player-status {
    background: #fffaf8;
    padding: 10px 39px 0px 0px;
    text-align: center;
    border: 1px solid #ff550b;
    border-right: none;
    font-style: italic;
    font-size: 1.2em;
}

.btn-keyboard {
    font-size: 1.5em;
    border: 1px solid #942d00;
    border-radius: 5px;
    margin: 5px;
    background: #e29d88;
}

.btn-default {
    background: #d2d2d2;
}


    .btn-default .active {
        background: #a5a5a5;
    }

.btn-danger {
    color: #fff;
    background-color: #f80000;
    border-color: #f80000;
}
.btn{
    z-index : 999;

}
.previous-throws {
    font-family: Indie Flower;
    font-size: 1.5em;
    color: #ff550b;
    border: 1px solid #c3b6b1;
    padding: 10px 0px 0px 40px;
    background: #fffaf8;
    -webkit-box-shadow: 7px 9px 23px -14px rgba(82,29,6,1);
    -moz-box-shadow: 7px 9px 23px -14px rgba(82,29,6,1);
    box-shadow: 7px 9px 23px -14px rgba(82,29,6,1);
}

    .previous-throws table {
        width: 90%;
    }

h2 {
    font-weight: bold;
}

.text-white {
    color: #fff;
}

.panel-img {
    background-image: url('/img/dart-board-2.jpg');
    background-position-y: -182px;
    background-position-x: -113px;
}

.background-panel {
    background: #0a0606;
    background: rgba(10, 6, 6, 0.69);
}

table.calc {
    background: linear-gradient(90deg, rgb(189, 59, 2) 0%, rgb(255, 85, 11) 100%);
    cursor: pointer;
    -moz-box-shadow: 7px 9px 25px -6px #521d06;
    -moz-box-shadow: 7px 9px 25px -6px rgba(82,29,6,1);
    box-shadow: 7px 9px 25px -6px rgba(82,29,6,1);
}

.calc td {
    border: 2px solid #e26e3c;
    font-size: 1.7em;
    color: #ffd9c8;
    width: 20%;
}

    .calc td.sum {
        border: 2px solid #e66e39;
        background: linear-gradient(90deg, rgb(181, 77, 31) 0%, rgb(210, 62, 0) 100%);
    }

.throw {
    font-size: 1.7em;
    font-weight: bold;
}

.border1px {
    border: 1px solid #e26e3c;
}


.counterControl .player {
    font-size: 2em;
    margin-top: 10px;
}

.counterControl .punten {
    font-size: 6em;
    font-family: "Kanit", system-ui;
}
.counterControl .firstItem {
    font-size: 2.0em;
    font-weight: 300;
}
.counterControl .puntenHistory{
    font-size: 2em;
    font-family: "Kanit", system-ui;
    font-weight: 100;
}
.counterControl .score {
    font-size: 4em;
    font-weight: bold;
}

.counterControl .throw-img {
    width: 6%;
    height: auto;
    max-width: 32px;
}
.counterControl li.firstItem .throw-img {
    width: 20%;
    height: auto;
    max-width: 32px;
    padding-top: 14px;
}

.counterControl .throwHistory {
    font-size : 0.5em;

}

.counterControl .throw {
    font-size: 2em;
    border: 1px solid var(--orange);
    text-align:center  ;
}

.counterControl .btn-rewind {
    position: absolute;
    top: 35px;
    left: 20px;

    vertical-align: middle;
    margin: 13px 0px 0px 40px;
    color: #ff550b;
}
.counterControl .posFix {
    position: absolute;
    top: 10px;
    left: 20px;
}
.counterControl .teamAtPlay {
    background-color: #fff0e9;
    border: 1px dotted #ff550b;
    color: #ff550b;
    border-radius: 10px;
}
.counterControl .btn.btn-gold {
    background: gold;
    border: 1px solid #403c24;
    color: #000000;
}

.counterControl tr.submit td {
    background-color: #ff550b;
    color: white;
    border: 1px solid #ff4e00;
}

.counterControl .busted {
    color: #851929;
    background-color: #ffd6dc;
    border-color: #ffc5ce;
    border-radius: 20px;
    padding-top: 10px;
    padding-bottom: 10px;
}
.counterControl .bustedSign {
    padding-left: 10px;
    padding-top: 20px;
    font-family: 'Kanit';
}

#legWinAnimation {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.8);
    background: gold;
    color: #111;
    padding: 100px 60px;
    font-size: 2em;
    font-weight: bold;
    border-radius: 20px;
    box-shadow: 0 0 20px rgba(255, 215, 0, 0.8);
    opacity: 0;
    /*pointer-events: none;*/
    z-index: 2;
    transition: opacity 0.5s ease, transform 0.5s ease;
    text-align: center;
}
#legWinAnimation .trophy {
    font-size:7em;
}
#legWinAnimation.show {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
    animation: pulse 1.2s cubic-bezier(0.4, 0, 1, 1) infinite alternate;
}

#gameWinAnimation {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.8);
    background: white;
    color: #111;
    padding: 100px 60px;
    font-size: 2em;
    font-weight: bold;
    border-radius: 20px;
    box-shadow: 0 0 20px rgba(255, 215, 0, 0.8);
    opacity: 0;
    /*pointer-events: none;*/
    z-index: 2000;
    transition: opacity 0.5s ease, transform 0.5s ease;
    text-align: center;
    
}

    #gameWinAnimation .trophy {
        font-size: 7em;
        color: #000000;
    }

    #gameWinAnimation.show {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
        animation: pulses 1.2s cubic-bezier(0.4, 0, 1, 1) infinite alternate;
        background: #ffd42a;
        color: #000000;
    }
@keyframes pulses {
    from {
        box-shadow: 0 0 20px rgb(208, 191, 0);
    }

    to {
        box-shadow: 0 0 800px rgb(225, 239, 0);
    }
}
@keyframes pulse {
    from {
        box-shadow: 0 0 20px rgba(255, 215, 0, 0.8);
    }

    to {
        box-shadow: 0 0 800px rgba(255, 215, 0, 1);
    }
}

.modal-dialog-centered {
    background: #ffffffe8;
}
.modal {
    --bs-modal-width: 800px;
}
.counterControl .modal-dialog, .counterControl .modal-content{
    max-width : var(--bs-modal-width);
    width: 80%;
}

.counterControl .modal-xl
{
    max-width:none;
}

.counterControl .throwCorrection {
    margin: 0 auto;
    margin-left: auto;
    margin-right: auto;
    text-align: center;

}

.counterControl .scoreToEdit {
    border-radius: 10px;
    background: #f1f0ef;
    width: 50%;
    margin: 24px auto;
    padding: 10px;
    font-family: 'Quicksand';
    font-size: 1.5em;
}


/* Volledige overlay */
.loading-overlay {
    position: fixed;
    inset: 0; /* top:0; right:0; bottom:0; left:0; */
    background: rgba(15, 23, 42, 0.55); /* donkere translucent achtergrond */
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

/* Het panel in het midden */
.loading-panel {
    background: linear-gradient(135deg, #ffffff, #f3f4f6);
    border-radius: 16px;
    padding: 24px 32px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.45);
    min-width: 260px;
    max-width: 320px;
    text-align: center;
    border: 1px solid rgba(148, 163, 184, 0.4);
    animation: panel-pop 0.3s ease-out;
}

    /* Titel & tekst */
    .loading-panel h2 {
        margin: 16px 0 6px;
        font-size: 1.2rem;
        color: #0f172a;
    }

    .loading-panel p {
        margin: 0;
        font-size: 0.9rem;
        color: #64748b;
    }

/* Spinner */
.loading-spinner {
    width: 42px;
    height: 42px;
    border-radius: 999px;
    border: 3px solid #e5e7eb;
    border-top-color: #ff7d5d;
    border-right-color: #ffae00;
    animation: spin 1.2s linear infinite;
    margin: 0 auto;
}

/* Animaties */
@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes panel-pop {
    from {
        transform: translateY(8px) scale(0.96);
        opacity: 0;
    }

    to {
        transform: translateY(0) scale(1);
        opacity: 1;
    }
}

/* Volledige overlay */
.error-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.65);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

/* Error panel */
.error-panel {
    background: linear-gradient(135deg, #fef2f2, #fee2e2);
    border-radius: 16px;
    padding: 24px 32px;
    box-shadow: 0 18px 45px rgba(127, 29, 29, 0.4);
    min-width: 280px;
    max-width: 360px;
    text-align: center;
    border: 1px solid rgba(248, 113, 113, 0.7);
    animation: error-pop 0.25s ease-out;
}

/* Icon */
.error-icon {
    width: 42px;
    height: 42px;
    border-radius: 999px;
    margin: 0 auto;
    border: 3px solid #b91c1c;
    color: #b91c1c;
    font-weight: 700;
    font-size: 1.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Titel & tekst */
.error-panel h2 {
    margin: 16px 0 6px;
    font-size: 1.2rem;
    color: #7f1d1d;
}

.error-panel p {
    margin: 0 0 16px;
    font-size: 0.9rem;
    color: #9f1239;
}

/* Button */
.error-button {
    padding: 8px 18px;
    border-radius: 999px;
    border: none;
    cursor: pointer;
    background: #b91c1c;
    color: #fef2f2;
    font-size: 0.9rem;
    font-weight: 600;
    box-shadow: 0 4px 10px rgba(127, 29, 29, 0.4);
    transition: transform 0.08s ease, box-shadow 0.08s ease, background 0.08s ease;
}

    .error-button:hover {
        background: #991b1b;
        transform: translateY(-1px);
        box-shadow: 0 6px 14px rgba(127, 29, 29, 0.5);
    }

    .error-button:active {
        transform: translateY(0);
        box-shadow: 0 3px 8px rgba(127, 29, 29, 0.4);
    }

/* Animaties */
@keyframes error-pop {
    from {
        transform: translateY(8px) scale(0.96);
        opacity: 0;
    }

    to {
        transform: translateY(0) scale(1);
        opacity: 1;
    }
}

