:root{
  --text: #000000;
  --background: #ffffff;
  --primary: #c91829;
  --secondary: #e3e3e3;
  --accent: #737373;
}

/* Handle dark mode */
@media (prefers-color-scheme: dark) {
    :root {
        --text: #ffffff;
        --background: #000000;
        --primary: #e73648;
        --secondary: #1c1c1c;
        --accent: #8c8c8c;
    }
}
@font-face {
    font-family: oswald;
    src: url(../fonts/Oswald-Regular.ttf);
}
body{
    font-family: 'oswald', Arial, Helvetica, sans-serif;
    font-size: 13px;
    background-color: var(--background);
    color: var(--text);
}
h1, h2, h3, h4, h5, h6{
    letter-spacing: 1px;
    padding: 0;
    margin: 0;
    margin-bottom: 10px;
}
input, textarea, select{
    padding: 8px;
    color: var(--text);
    background-color: var(--background);
    border: 1px solid var(--text);
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    -o-border-radius: 3px;
}

button{
    padding: 12px 22px;
    background-color: transparent;
    border: 1px solid var(--text);
    color: var(--text);
    position: relative;
    overflow: hidden;
    transition: left 300ms ease-in-out;
    cursor: pointer;
}
button::before{
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    transition: left 300ms ease-in-out;
    z-index: -1;
}
button:hover::before{ left: 0; }
.mdf-button_prime:hover{ color: var(--background); }
.mdf-button_prime:before{ background-color: var(--primary); }
.mdf-button_sec:hover{ color: var(--text); }
.mdf-button_sec:before{ background-color: var(--secondary); }


/* LOGIN LAYOUT */
.md-centerpage{
    display: grid;
    grid-template-columns: 99%;
    grid-template-rows: auto 30px;
    justify-items: center;
    white-space: pre-line;
    grid-gap: 10px;
    z-index: 9;
    position: fixed; left: 0; right: 0; top: 0; bottom: 0;
    align-items: center; justify-content: center;
}
.mdf_login_content{
    display: flex;
    align-items: center;
    flex-direction: column;
}
.md-login-form{
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: auto auto auto auto auto;
    width: 100%;
    gap: 12px;
}
.mdf_loginbuttons{
    display: flex;
    gap: 12px;
    width: 100%;
    justify-content: space-between;
}

/* MAIN Framework */
.md-layout{
    display: grid;
    align-content: stretch;
    justify-content: stretch;
    grid-template-columns: auto 60px;
    grid-template-rows: 70px auto;
    position: fixed;
    top: 0; bottom: 0; left: 7px; right: 7px;
    align-items: center;
    justify-items: center;
}
.md-menu-icon{
    cursor: pointer;
    height: 47px; width: 47px;
    text-align: center;
    box-sizing: border-box;
    padding: 7px;
    background-color: var(--primary);
    border-radius: 3px;
    margin-right: 10px;
    transition: box-shadow 200ms ease-in-out;
}
.md-menu-icon:hover{
    box-shadow: 0px 0px 10px var(--primary);
}
.md-page-header{
    width: calc(100% - 16px);
    height: calc(100% - 16px);
    box-sizing: border-box;
    display: flex;
    gap: 5px;
}
.md-main-page{
    grid-column: span 2;
    width: calc(100% - 16px);
    height: 100%;
    box-sizing: border-box;
    overflow: auto;
    border-top: 1px solid var(--accent);
    position: relative;
}

/* MENU */
.mdf_menu_cage_holder {
    display: grid;
    grid-template-columns: repeat(auto-fit, 200px);
    grid-auto-flow: row;
    box-sizing: border-box;
    gap: 3%;
    align-content: center;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    justify-content: space-around;
}
.mdf_navbutton {
    position: relative;
    width: 200px;
    height: 200px;
    box-sizing: border-box;
    color: var(--background);
    border-radius: 8px;
    cursor: pointer;
    background-color: var(--primary);
    box-shadow: 0 7px 10px 0 rgb(0 0 0 / 20%);
    opacity:1;
    transition: 0.3s ease-in-out;
    box-shadow: 0 0 0 0 var(--primary);
}
.mdf_navbutton:hover {
    opacity:0.9;
    box-shadow: 0 0 0px 8px var(--primary);
}
.mdf_navbutton_content {
    display: block;
    height: fit-content;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 100%;
    text-align: center;
    font-size: 24px;
    letter-spacing: 2px;
}
.mdf_navbutton_content img {
    display: block;
    margin: auto;
    width: 33%;
    margin-bottom: 12px;
    max-width: 150px;
}

/* LOADING */
.md-loading-screen{
    position: fixed;
    top: 0; bottom: 0; left: 0; right: 0;
    margin: auto;
    background-color: rgba(255,255,255,0.5);
    backdrop-filter: blur(3px);
    z-index: 9999;
}
.md-loading{
    position: fixed;
    top: 0; bottom: 0; left: 0; right: 0;
    margin: auto;
    width: 100px; height: 60px;
    display: flex; gap: 5px;
    align-items: flex-start;
    justify-content: space-between;
}
.md-loading div{
    width: 10px;
    height: 10px;
    background-color: var(--primary);
    border-radius: 5px;
    animation: bounce 1s infinite ease-in-out;
}
.md-loading div:nth-child(2){ animation-delay: 0s; }
.md-loading div:nth-child(2){ animation-delay: 0.1s; }
.md-loading div:nth-child(3){ animation-delay: 0.2s; }
.md-loading div:nth-child(4){ animation-delay: 0.3s; }
.md-loading div:nth-child(5){ animation-delay: 0.4s; }
@keyframes bounce {
    0%, 80% { 
        transform: translateY(0); 
        height: 10px;
    }
    40% { 
        height: 50px;
    }
}

.md-search-details{
    display: block;
    box-sizing: border-box;
    padding: 8px;
    font-family: Arial, Helvetica, sans-serif;
    border: 1px solid var(--secondary);
    margin-bottom: 8px;
    margin-top: 8px;
    border-radius: 4px;
}
.md-search-details summary{
    font-size: 1.2em;
}
.md-search-details summary:hover{
    cursor: pointer;
    color: var(--primary);
}
.md-search-details div{
    margin-bottom: 8px;
    margin-top: 8px;
}