html, body {
    --bs-font-sans-serif: "Inter", sans-serif !important;
    font-family: "Inter", sans-serif !important;
    font-optical-sizing: auto;
    font-size: 1rem !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    letter-spacing: .03rem;
    color: black;
}

article {
    padding-left: unset !important;
    padding-right: unset !important;
}

a, .btn-link {
    color: #006bb7;
}

.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.content {
    /*padding-top: 1.1rem;*/
}

h1 {
    font-weight: 600;
}

h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

/*
    FRONTPAGE AND INTRO
*/

.bottom-right-button {
    color: #ffffff;
    font-size: 34px;
    font-weight: 500;
    z-index: 1000;
    border-radius: 50px;
    padding: 1rem 2rem;
    background-color: #000000;
    border: none;
    -webkit-box-shadow: 0px 0px 29px 1px rgba(0,0,0,0.38);
    box-shadow: 0px 0px 29px 1px rgba(0,0,0,0.38);
    transition: all 0.2s ease;
}

    .bottom-right-button:hover {
        color: #ffffff;
        background-color: #000000;
        transform: translateY(-5px);
        -webkit-box-shadow: 0px 0px 29px 1px rgba(0,0,0,0.38);
        box-shadow: 0px 0px 29px 1px rgba(0,0,0,0.38);
    }

/*.bottom-right-info-box {
    font-size: 15px;
    position: fixed;
    bottom: 1rem;
    right: 11rem;
    z-index: 1000;
    border-radius: 50px;
    padding: 0.75rem 2rem;
    white-space: pre-wrap;
    background-color: #333333;
    color: #D9D9D9;
    box-shadow: 0px 0px 29px 1px rgba(0,0,0,0.38);
}*/

svg {
    filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 1.4));
}

/* Mobile adjustments */
@media (max-width: 768px) {

    /* Adjust button position and size on mobile */
    .bottom-right-button {
        font-size: 21.3px;
        padding: 0.4rem 1.3rem;
    }
}

/*
    SHADOWS
*/

.main-shadow {
    box-shadow: 0px 0px 29px 1px rgba(0,0,0,0.38);
    -webkit-box-shadow: 0px 0px 29px 1px rgba(0,0,0,0.38);
}
/*
    ANIMATION
*/
.fade-in-text {
    animation: fadeIn 2s;
    -webkit-animation: fadeIn 2s;
    -moz-animation: fadeIn 2s;
    -o-animation: fadeIn 2s;
    -ms-animation: fadeIn 2s;
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-moz-keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-o-keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-ms-keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.word-wrap {
    /* Warning: Needed for oldIE support, but words are broken up letter-by-letter */
    -ms-word-break: break-all;
    word-break: break-all;
    /* Non standard for webkit */
    word-break: break-word;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
}

/* CUSTOM MODAL */
.customModal {
    border-radius: 25px;
    --bs-modal-border-width: 0px;
    --bs-modal-border-radius: 25px;
    --bs-modal-inner-border-radius: 25px;
}

.customIcon-close {
    width: 44px;
    height: 44px;
    background-image: url("resources/svg/x-circle-fill.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.customModal-header {
    --bs-modal-header-padding: 0rem 0rem;
    overflow: hidden;
    justify-content: center !important;
    background-color: black;
}

    .customModal-header img {
        max-width: 100%;
        max-height: 60vh;
        object-fit: contain;
    }

    .customModal-header i {
        position: absolute;
        top: 10px;
        right: 10px;
        font-size: 40px;
        color: black;
    }

.customModal-body {

}

    .customModal-body h5 {
        margin-top: 3em;
    }

    .customModal-body checkbox-group {
        margin: 20px 0;
    }

    .customModal-body label {
        display: block;
        margin: 10px 0;
        cursor: pointer;
        font-weight: normal;
        font-size: 16px;
        transition: font-weight 1s;
    }

    .customModal-body input[type="checkbox"] {
        margin-right: 10px;
        width: 20px;
        height: 20px;
        accent-color: rgba(0, 0, 0, 0.2);
    }

    .customModal-body input[type="checkbox"]:checked + span {
        font-weight: bold;
    }

/*
    Impress Modal
*/

.impress-dialog {
    max-width: 1024px;

}

    .impress-dialog .modal-content {
        border-radius: 0;
        border: 0;
    }

.impress-modal-body {
    padding-top: 0;
}

/*
    Akkordion Styling
*/

.accordion {
    --bs-accordion-border-radius: 10px;
    --bs-accordion-inner-border-radius: 10px;
    --bs-accordion-active-bg: #A3DCDE;
    --bs-accordion-btn-bg: #E9E9E9;
    --bs-accordion-border-color: #ffffff;
    --bs-accordion-border-width: 3px;
}

.accordion-collapse {
    background-color: #B9ECE9;
}

/* Removing the akkordeon highlighter */
.accordion-button:not(.collapsed) {
    background-color: #B9ECE9 !important;
    color: inherit;
}

button.accordion-button:focus {
    box-shadow: inherit;
}

/*
    Timeline View
*/

.timeline-grid-cell {
    transition: all 0.2s ease;
}

    .timeline-grid-cell:hover {
        filter: brightness(0.95);
    }

/*
    Timebar in Era View
*/

.era-timebar-container {
    height: clamp(10px, 1.2vw, 18px) !important;
}

.era-timebar-knobs-ddr1 {
    padding-left: 30% !important;
    padding-right: 0% !important;
}

    .era-timebar-knobs-ddr1 .timebar-year-1970 {
        color: grey !important;
    }

.era-timebar-knobs-brd1 {
    padding-left: 30% !important;
    padding-right: 0% !important;
}

    .era-timebar-knobs-brd1 .timebar-year-1970 {
        color: grey !important;
    }

.era-timebar-knobs-ddr2 {
    padding-left: 10% !important;
    padding-right: 0% !important;
}

    .era-timebar-knobs-ddr2 .timebar-year-1960 {
        color: grey !important;
    }

.era-timebar-knobs-brd2 {
    padding-left: 10% !important;
    padding-right: 0% !important;
}

    .era-timebar-knobs-brd2 .timebar-year-1960 {
        color: grey !important;
    }

.era-timebar-knobs-brd3 {
    padding-left: 5% !important;
    padding-right: 5% !important;
}

.era-timebar-knob {
    background-color: unset !important;
}

.era-timebar-years {
    font-size: clamp(23px, 3.2vw, 50px) !important;
    font-weight: 600;
    padding: 0 0.7rem;
    border-radius: 500px;
    background-color: black;
}

/* Mobile adjustments */
@media (max-width: 768px) {

    /* Make sure 1960 on the second phase isn't showing */

    .era-timebar-knobs-ddr2 {
        padding-left: 0% !important;
        padding-right: 0% !important;
        width: 115% !important;
        left: -7%;
    }

    .era-timebar-knobs-brd2 {
        padding-left: 0% !important;
        padding-right: 0% !important;
        width: 115% !important;
        left: -7%;
    }

    .era-timebar-knobs-ddr2 .timebar-year-1960 {
        display: none;
    }

    .era-timebar-knobs-brd2 .timebar-year-1960 {
        display: none;
    }

    .era-timebar-knob:has(.timebar-year-1960) {
        width: 0px !important;
    }
}

/*
    Tooltip
*/

.tooltip-inner {
    max-width: 400px !important;
}

/*
    NAV Menu
*/


.nav-menu-link {
    border: 1px solid #000000;
    border-radius: 500px;
    font-size: 20px;
    font-weight: 600;
}

.nav-menu-link {
    color: white;
    white-space: nowrap;
    padding: 0.3rem 1rem;
    border: 1px solid #000000;
    border-radius: 500px;
    text-decoration: none;
    cursor: pointer;
}

    .nav-menu-link:hover {
        border: 1px solid #555555;
    }

    .nav-menu-link.active {
        border: 1px solid #FFFFFF;
    }


/*
    SWIPE FEEDBACK
*/

/* Swipe Feedback CSS */
@keyframes swipeSuccess {
    0% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 1;
    }

    100% {
        transform: translate(-50%, -50%) scale(1.5);
        opacity: 0;
    }
}

/* Add some additional styles for touch devices */
@media (hover: none) and (pointer: coarse) {
    /* This only applies to touch screens */
    .page {
        touch-action: pan-y pan-x;
        overflow: hidden;
    }
}

/*
    Scrolling Behaviour
*/

/* Custom scrollbar styling */
::-webkit-scrollbar {
    -webkit-appearance: none;
}

    ::-webkit-scrollbar:vertical {
        width: 12px;
    }

    ::-webkit-scrollbar:horizontal {
        height: 12px;
    }

::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, .5);
    border-radius: 10px;
    border: 2px solid #ffffff;
}

::-webkit-scrollbar-track {
    border-radius: 10px;
    background-color: #ffffff;
}

 For Firefox 
.container-with-scroll {
    scrollbar-width: auto;
    scrollbar-color: white;
}

 /* Padding for Navbar */
.navbar-padding {
    padding-top: 5.55rem;
}