/*** COLORING ****/
:root {
    --default-button-bg: #d9d9d9;
    --default-border-color: #C5C6C7;
    --default-text-color: white;
    --default-text-button-color: black;
    --default-button-i-color: white;
    --default-button-clr-hover: #FFF;
    --default-button-bg-hover: #A09A91;
    --default-button-focus: #BAB0A1;
    --default-button-box-shadow: #777;
    --default-button-bgr-disabled: #D3D3D3;
    --default-button-clr-disabled: #888;
    --default-button-active: #999589;
    --default-card-hover: #808080;
    --default-card-bg: #f0f0f0;
    --default-form-check-input-focus: #d9d9d9;
}


html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.card {
    width: 20em;
    margin: 10px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.card-img-top {
    width: 100%;
    height: 400px; /* Adjust the height as needed */
    object-fit: scale-down; /* Ensures the image covers the entire area */
}

.card-front {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.card:hover {
    box-shadow: 1px 9px 40px -12px var(--default-card-hover);
}

.short-button {
    width: auto;
}

.button-gap {
    margin-right: 10px;
}


/******** STANDARD BUTTON APPEARANCE **********/
button {
    background-color: var(--default-button-bg);
    border: 2px solid var(--default-border-color);
    color: var(--default-text-color);
    padding: 5px;       /* Reduce padding for a smaller button */
    width: 40px;        /* Set button width */
    height: 40px;       /* Set button height */
    cursor: pointer;
    display: flex;              /* Use flexbox to center the icon */
    align-items: center;        /* Vertically center icon */
    justify-content: center;    /* Horizontally center icon */
    transition: background-color 0.3s, color 0.3s; /* Smooth transitions */
    border-radius: 5px;         /* Add some border radius for rounded corners */
}

    button i {
        font-size: 18px; /* Adjust the icon size */
        color: Var(--default-button-i-color); /* Set icon color */
    }

    /* Hover state */
    button:hover {
        background-color: var(--default-button-bg-hover);
        color: var(--default-button-clr-hover);
    }

    /* Focus state */
    button:focus {
        outline: none;
        box-shadow: 0 0 5px 2px var(--default-button-box-shadow);
        background-color: var(--default-button-focus);
    }

    /* Inactive or disabled state */
    button:disabled {
        background-color: var(--default-button-bgr-disabled);
        color: var(--default-button-clr-disabled);
        cursor: not-allowed;
    }

    /* Active state */
    button:active {
        background-color: var(--default-button-active);
        color: var(--default-button-i-color);
    }

/* Default button style */
.btn-default {
    background-color: #CBC1AE;
    color: #000;
}

    .btn-default:hover {
        background-color: #A09A91;
        color: var(--default-button-i-color);
    }

/* Another button style */
.btn-primary {
    background-color: #007BFF;
    color: var(--default-button-i-color);
}

    .btn-primary:hover {
        background-color: #0056b3;
    }


/******** STANDARD CHECKBOX APPEARANCE **********/
.form-check {
    display: block;
    min-height: 1.5rem;
    padding-left: 1.5em;
    margin-bottom: 0.125rem;
}

    .form-check .form-check-input {
        float: left;
        margin-left: -1.5em;
    }

.form-check-input {
    width: 1em;
    height: 1em;
    margin-top: 0.25em;
    vertical-align: top;
    background-color: var(--default-button-i-color);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: 1px solid var(--default-border-color);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
}

    .form-check-input[type=checkbox] {
        border-radius: 0.25em;
    }

    .form-check-input[type=radio] {
        border-radius: 50%;
    }

    .form-check-input:active {
        filter: brightness(90%);
    }

    .form-check-input:focus {
        border-color: var(--default-form-check-input-focus);
        outline: 0;
        box-shadow: 0 0 1px 1px var(--default-form-check-input-focus);
    }

    .form-check-input:checked {
        background-color: var(--default-button-bg);
        border-color: var(--default-button-bg);
    }

        .form-check-input:checked[type=checkbox] {
            background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
        }

        .form-check-input:checked[type=radio] {
            background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
        }

    .form-check-input[type=checkbox]:indeterminate {
        background-color: var(--default-button-bg);
        border-color: var(--default-button-bg);
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
    }

    .form-check-input:disabled {
        pointer-events: none;
        filter: none;
        opacity: 0.5;
    }

        .form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
            opacity: 0.5;
        }

svg.hugo .node.male > rect {
    fill: var(--default-button-clr-disabled);
}

svg.hugo .node.female > rect {
    fill: var(--default-border-color);
}

.language-switcher {
    display: inline-flex;
    align-items: center;
    gap: .5rem; /* spacing instead of '|' */
}

    .language-switcher .fi {
        font-size: 1.275rem; /* ~15% smaller */
        line-height: 1;
        border-radius: 0; /* no rounded corners */
        border: 1px solid #ccc;
        background-color: #f8f8f8;
    }

.separator {
    width: 1px;
    height: 1.275rem; /* match flag height */
    background: #ccc;
}

