:root {
    --primary: #D21A7C;
    --primary-450: #DE7FB4;
    --primary-50: #FCE8F3;
    --secondary: #4E4E4E;
    --secondary-300: #B0B0B0;
    --secondary-400: #707070;
    --tertiary: #1082ff;
    --green: #0ab80a;
    --red: #f83c3c;
() --gray: #002540;
}

*, html, body, div, p, a {
    font-size: 16px;
    /*font-family: "Poppins", serif;*/
    font-family: "Open Sans", serif;
}

html, body {
    min-height: 100vh;
    color: var(--gray);
}

a {
    color: var(--primary);

    :hover {
        text-decoration: underline !important;
    }
}

a.bg-pink, a.bg-gray {
    color: white !important;
}

nav a.btn, nav a {
    color: var(--gray) !important;
    font-size: 26px;
    font-weight: bold;
}

nav li {
    margin-right: 0 !important;
}

/*nav .selected{
    border
}*/

.nickname {
    height: 54px;
    width: 54px;
    font-size: 20px;
    background-color: var(--primary);
    text-align: center;
    border-radius: 100%;
    line-height: 54px;
    color: white;
    font-weight: bold;
}

.link {
    color: var(--primary);
    text-decoration: underline;
}

h2 {
    font-size: 2rem !important;
    line-height: 1.3;
}

h3 {
    font-size: 1.6rem !important;
    line-height: 1.4 !important;
}

h4 {
    font-size: 1.4rem !important;
    line-height: 1.2 !important;
}

h5 {
    font-size: 1.2rem !important;
    font-weight: 700;
}

h6 {
    font-size: 11px !important;
    text-transform: uppercase;
}

p {
    margin: 0 0 20px 0 !important;
    font-weight: 300;
}

.generic-cta {
    padding: 5% 10%;
    min-height: 30em;
}


footer ul {
    list-style-type: none;
    margin: 0 0 0 40px;
    padding: 0;
    display: flex;
    justify-content: space-between;
}

footer ul li {
    margin: 0 0px;
}

footer ul li:not(:first-child):before {
    content: '|';
    color: var(--primary);
    padding: 0 10px;

}

footer a {
    color: inherit !important;
}

input:not([type="range"]):not([type="checkbox"]), select, textarea {
    border: 1px solid #D1D1D1;
    padding: 4px 8px !important;
    font-size: 1.2rem !important;
    border-radius: 0.25rem;
}


textarea {
    border: 1px solid #D1D1D1;
    padding: 4px 8px !important;
    text-align: left;
    font-size: 1rem !important;
}

input.datalist {
    border: none;
    text-align: left;
}

input:disabled, textarea:disabled, select:disabled {
    background-color: transparent !important;
    border: transparent !important;

}

/* Remove spinners for number inputs */
input[type="number"]:disabled::-webkit-inner-spin-button,
input[type="number"]:disabled::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="number"]:disabled {
    -moz-appearance: textfield; /* For Firefox */
}

/* Remove dropdown arrow for select elements */
select:disabled {
    -webkit-appearance: none; /* For WebKit browsers */
    -moz-appearance: none; /* For Firefox */
    appearance: none; /* Standard */
    background: none; /* Optional: Remove default background */
}

/* Optional: Add custom styling for select elements */
select:disabled::after {
    content: ''; /* Remove any default icons */
}


.cursor {
    cursor: pointer;
}

.input-login {
    width: 100%;
    height: 60px;
    font-size: 20px !important;
    padding: 0 10px;
    border: 1px solid #D1D1D1;
    border-radius: 0.25rem;
}

.input-grid {
    width: 100%;
    height: 60px;
    font-size: 20px !important;
    padding: 0;
    border: 1px solid #D1D1D1;
    border-radius: 0.25rem;
    display: flex;
}

.input-grid2 {
    height: auto;
}

.input-grid input {
    width: 100%;
    border: none;
    font-size: 20px !important;
    padding: 0 10px;
    border: none !important;
}

.euro::before {
    content: '€';
    font-size: 120%;
}

label {
    font-size: 20px !important;
    padding: 0 10px;
}

.button-login {
    height: 60px;
}


.button {
    padding: 0.4rem 2rem;
    font-size: 20px;
    font-weigh: bold;
    text-align: center;
    border-radius: 0.25rem;
}

.button-ico {
    padding: 0.2rem .8rem;
    font-size: 20px;
    font-weigh: bold;
    text-align: center;
    border-radius: 0.25rem;
}

.button-sm {
    padding: 0.2rem 1rem;
    font-size: 12px;
    border-radius: 6px;
}

.button-primary {
    background-color: var(--primary);
    color: white;
}

.button-secondary {
    background-color: var(--secondary);
    color: white;
}

.button-tertiary {
    background-color: var(--tertiary);
    color: white;
}

.button-outline-primary {
    border: 1px solid var(--primary);
    background-color: white;
    color: var(--primary);
}

.button-outline-tertiary {
    border: 1px solid var(--tertiary);
    background-color: white;
    color: var(--tertiary);
}

.button-outline-secondary-300 {
    border: 1px solid var(--secondary-300);
    background-color: white;
    color: var(--secondary-300);
}

.button-outline-secondary {
    border: 1px solid var(--secondary);
    background-color: white;
    color: var(--secondary);
}

.button:disabled,
.button-ico:disabled {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
}

.button-green {
    background-color: var(--green);
    color: white;
}

.button-red {
    background-color: var(--red);
    color: white;
}


.pill {
    padding: 0.3rem 1.2rem;
    border-radius: 999px;
}

.pill-sm {
    padding: 0.05rem 0.8rem;
    font-size: 70%;
}

.pill-primary {
    background-color: var(--primary);
    color: white;
}

.pill-secondary {
    background-color: var(--secondary);
    color: white;
}

.pill-secondary-300 {
    background-color: var(--secondary-300);
    color: white;
}

.pill-tertiary {
    background-color: var(--secondary);
    color: white;
}

.pill-green {
    background-color: var(--green);
    color: white;
}

.pill-red {
    background-color: var(--red);
    color: white;
}

.text-xs {
    font-size: .7rem !important;
    line-height: .9rem !important;
    font-weight: 300 !important;
}


@media (min-width: 1600px) {

}

@media (max-width: 960px) {

}

@media (max-width: 960px) {
    nav a.btn, nav a {
        font-size: 14px;
        font-weight: bold;
    }
}


.runner {
    width: 100%;
    height: 1rem;
    background-color: #ccc;
    border-radius: .5rem;
    overflow: hidden;
    margin: 5px;
}

.runner span {
    display: block;
    height: 100%;
    background-color: var(--primary-450);
    position: relative;
}

.runner span i {
    position: absolute;
    color: white;
    font-size: 8px;
    font-weight: 400;
}

table {
    border-top-right-radius: 20px;
    border-top-left-radius: 20px;
    color: var(--gray);
}

table * {
    font-size: 14px !important;
}

table td {
    padding: 4px 20px;
    color: var(--gray);
    border-bottom: 1px solid var(--secondary-300);
    padding: 10px 20px;
}

table th {
    font-weight: 700;
    text-align: left;
    /*font-size: 14px;*/
    height: 50px;
    background-color: #CACACA;
    color: var(--gray);
    position: relative;
    width: auto;
}

table thead tr {
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}

table tfoot tr {
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

table tr th {
    border-left: rgba(255, 255, 255, 0.2) 1px solid;
    padding: 0px 20px;

}

table thead tr th:first-child {
    border-top-left-radius: 20px;
    border-left: none;
}

table thead tr th:last-child {
    border-top-right-radius: 20px;
}

table tfoot tr th:first-child {
    border-bottom-left-radius: 20px;
    border-left: none;

}

table tfoot tr th:last-child {
    border-bottom-right-radius: 20px;
}

/*table th::before {
    content: '|';
    color: white;
    font-size: 200%;
    font-weight: 100;
}

table th:first-child::before {
    content: ' ';
    margin-right: 20px;

}*/

input[type="range"] {
    -webkit-appearance: none; /* Remove default WebKit styles */
    width: 100%;
    margin: 4px 0;
    background: transparent;
}

/* WebKit track */
input[type="range"]::-webkit-slider-runnable-track {
    height: 8px;
    background: #ddd; /* Color of the track */
    border-radius: 4px;
}

/* WebKit thumb */
input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    height: 20px;
    width: 20px;
    border-radius: 50%;
    background: var(--primary); /* Color of the thumb */
    margin-top: -6px; /* Centers the thumb on the track */
    cursor: pointer;
    border: none;
}

/* Focus outline removal */
input[type="range"]:focus {
    outline: none;
}

/* Mozilla track */
input[type="range"]::-moz-range-track {
    height: 8px;
    background: #ddd;
    border-radius: 4px;
}

/* Mozilla thumb */
input[type="range"]::-moz-range-thumb {
    height: 20px;
    width: 20px;
    border-radius: 50%;
    background: var(--primary);
    cursor: pointer;
    border: none;
}

/* Internet Explorer */
input[type="range"]::-ms-track {
    height: 8px;
    background: transparent;
    border-color: transparent;
    color: transparent;
}

input[type="range"]::-ms-fill-lower {
    background: #ddd;
    border-radius: 4px;
}

input[type="range"]::-ms-fill-upper {
    background: #ddd;
    border-radius: 4px;
}

input[type="range"]::-ms-thumb {
    height: 20px;
    width: 20px;
    border-radius: 50%;
    background: var(--primary);
    cursor: pointer;
    border: none;
    margin-top: 0; /* Adjust if needed */
}

input:focus, textarea:focus {
    outline: none;
    background-color: var(--primary-50);
    animation: fadeOutBg 0.5s ease-in-out forwards;
}

@keyframes fadeOutBg {
    0% {
        background-color: var(--primary-50);
    }
    100% {
        background-color: white; /* or transparent */
    }
}

input.danger {
    border: 1px solid var(--red) !important;
}


/* TASKS*/

.bg-task {

    background: linear-gradient(to bottom, #abe18e 0%, #d0f3bd 100%);

}

.calendar {
    display: flex;
    /*height: 100%;*/
    width: 100%;
}

.time-col {
    border-right: 1px solid #ccc;
}

.hour-cell {
    border-bottom: 1px solid #eee;
    font-size: 12px;
    text-align: right;
    padding-right: 5px;
    box-sizing: border-box;
}

.days-col {
    flex: 1;
    display: flex;
}

.day-column {
    flex: 1;
    border-right: 1px solid #ccc;
    position: relative;
    cursor: pointer;
}

.day-column:last-child {
    border-right: none;
}

.day-label {
    text-align: center;
    padding: 5px;
    background: #f0f0f0;
    border-bottom: 1px solid #ccc;
    position: sticky;
    top: 0;
    z-index: 2;
}

.project-block {
    position: absolute;
    left: 5px;
    right: 5px;
    color: #000;
    padding: 4px 8px;
    font-size: 12px !important;
    border-radius: 4px;
}

.project-block.selected {
    border-left: 4px solid var(--primary);
}

.table-tasks tr.selected {
    border-left: 4px solid var(--primary);
}

.ente a {
    border-left: 4px solid transparent;
    font-size: 12px;
    font-weight: lighter;
    text-align: left;

}

.ente .selected {
    border-left: 4px solid var(--primary);
}


.day-column.selected {
    background: #e0f7fa;
}

label {
    font-size: 120%;
}


/* transitions */
.fade-enter-active,
.fade-leave-active {
    transition: opacity 0.3s ease;
}

.fade-enter-from,
.fade-leave-to {
    opacity: 0;
}

ul:not(nav ul):not(.no-bullet),
ol:not(nav ol) {
    list-style: initial !important;
    padding-left: 1.5rem !important;
    margin-top: 1em !important;
    margin-bottom: 1em !important;
}

ol:not(nav ol) {
    list-style: decimal !important;
}

li:not(nav li):not(.no-bullet li) {
    margin-bottom: 0.25em !important;
}
