/*----------------- Basic Classes -----------------*/
body {
    --font-size-xl: 24px;
    --font-size-l: 20px;
    --font-size-m: 16px;
    --font-size-base: 13px;

    margin: 0;
    padding: 0;
}

#body-div {
    width: 100vw;
    height: 100svh;
    display: grid;
    grid-template-columns: auto;
    grid-template-rows: 90px auto 60px;
    grid-template-areas:
        "header"
        "main"
        "footer";
    overflow-y: hidden;
}

.qa-center {
    display: grid;
    justify-content: center;
    align-items: center;
}

.qa-left {
    display: grid;
    justify-content: left;
    align-items: center;
}

.qa-right {
    display: grid;
    justify-content: right;
    align-items: center;
}

.select {
    cursor: pointer;
}

/*----------------- Header Area -----------------*/
#header-index {
    --ca-logo-maxwidth: 280px;
    --ca-logo-margin: 20px;
    --espi-logo-maxwidth: 60px;
    --espi-logo-margin: 20px;
    --gradient-bar-height: 4px;

    width: 100%;
    grid-area: header;
    display: grid;
    grid-template-columns:
        calc(var(--ca-logo-maxwidth) + var(--ca-logo-margin)) 1fr calc(var(--espi-logo-maxwidth) + var(--espi-logo-margin));
    grid-template-rows: auto var(--gradient-bar-height);
    gap: 0px 60px;
}

#header-index:after {
    content: '';
    grid-column: span 3;
    background: var(--eurospi-gradient);
    height: var(--gradient-bar-height);
}

#header-index-toollogo img,
#header-index-branding img {
    max-height: 60px;
}

#header-index-toollogo img {
    margin-left: var(--ca-logo-margin);
    max-width: var(--ca-logo-maxwidth);
}

#header-index-branding img {
    margin-right: var(--espi-logo-margin);
    max-width: var(--espi-logo-maxwidth);
}

#header-index-navbar {
    display: flex;
    flex-direction: row-reverse;
    font-size: var(--font-size-l);
    gap: 30px;
}

/*----------------- Main Area -----------------*/
#content-index {
    grid-area: main;
}

.landing-center-content {
    display: grid;
    align-items: center;
    justify-content: center;
    height: 100%;
}

#login-layout-grid {
    border-style: border-box;
    border: 1px solid rgba(0, 0, 0, 0.116);
    padding: 20px 20px 40px 20px;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.253);
}

.login-frame iframe {
    height: 245px;
    width: 400px;
    border: none;
}

.role-info-box {
    margin-top: 20px;
    font-size: var(--font-size-base);
}

.role-info-box ul {
    display: inline-block;
    padding-left: 18px;
}

/*----------------- Footer Area -----------------*/
#footer-index {
    grid-area: footer;
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
    align-items: center;

}

#theme-toggle {
    margin-left: 50px;
    font-size: var(--font-size-m);
}

#update-highlight {
    display: none;
    position: absolute;
    right: 148px;
    bottom: 39px;
    padding: 7px;
    border-radius: 12px;
    cursor: pointer;
    font-weight: bold;
    color: white;
    background-color: red;
    animation: jackInTheBox 2s;
}

#version-footer {
    margin-right: 50px;
    font-size: var(--font-size-m);
    font-weight: bold;
    cursor: pointer;
}