*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

:root {
    --border-radius: .8rem;
    --clr-body: rgb(157, 168, 171);
    --clr-wrapper: rgba(108, 117, 125, 0.42);
    --clr-success: rgba(19, 117, 27, 0.5);
    --clr-loader-border: #FF3D00;
    --clr-success-font: white;
    --clr-btn: #1656e0;
    --clr-btn-hover: purple;
    --clr-danger: rgba(255, 0, 0, 0.23);
    --clr-warning: rgba(255, 193, 7, 0.48);
    --score-color: black;
}

html {
    font-family: "Roboto", sans-serif;
    font-size: 18px;
    line-height: 1.5;
}

body {
    background-color: var(--clr-body);
}

main {
    /*height: 100vh;*/
}

input, select, textarea, button {
    font-family: inherit;
    font-size: inherit;
    color: inherit;
    border-radius: var(--border-radius);
    padding: .3rem;
}

header {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    justify-content: center;
    margin-inline: auto;
}

.alerts {
    max-width: min(100% - 3rem, 1400px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-inline: auto;
}

.alert {
    display: flex;
    width: 100%;
    line-height: 2rem;
    font-size: 1.5rem;
    border-radius: .5rem;
    text-align: center;
    /*border-color: red;*/
}

h1 {
    /*text-align: center;*/
    font-size: 1.4rem;
}

.main_div {
    display: grid;
    grid-template-rows: auto auto 1fr;
    gap: 1vh;
    grid-template-areas:
        "alerts"
        "content-top"
        "content-main";
    height: 100vh;
    width: 100vw;
}


.wrapper {
    display: grid;
    border-radius: 1rem;
    border: 1px solid black;

    /*margin-block: .5rem;*/
    padding-block: .5rem;
    padding-inline: 1rem;
    max-width: min(100% - 3rem, 1000px);
    margin-inline: auto;
    gap: 1rem;
    background-color: var(--clr-wrapper);
}


#alert_bar {
    padding-top: 1vh;
    grid-area: alerts;
}

#content_top {
    padding-top: 1vh;
    grid-area: content-top;
}

#content_main {
    grid-area: content-main;
}

.infinite {
    height: 1px;
    visibility: hidden;
}


button {
    border: none;
    border-radius: 4px;
    cursor: pointer;
    padding-inline: 5px;
    padding-block: 2px;
    background-color: var(--clr-btn);
    color: var(--clr-success-font);
    font-size: 1.5rem;
    line-height: 2rem;
}

button.submit-request {
}

.submit-confirm-btn {
}

button:hover {
    background-color: var(--clr-btn-hover);
}


/*input:focus,*/
/*select:focus {*/
/*    border: 3px solid #186d9a;*/
/*    outline: none;*/
/*    box-shadow: 0 0 5px rgba(0, 123, 255, 0.5);*/
/*}*/

/*select {*/
/*    border-radius: 1rem; !* Adjust the value as needed *!*/
/*}*/
.loading-spinner {
    display: none;
    justify-content: center;
}

.loader {
    width: 48px;
    height: 48px;
    border: 3px solid #FFF;
    border-radius: 50%;
    display: inline-block;
    position: relative;
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
}

.loader::after {
    content: '';
    box-sizing: border-box;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 56px;
    height: 56px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-bottom-color: var(--clr-danger);
}

@keyframes rotation {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}


.checkbox-group {
    display: flex;
    flex-direction: column;
    padding: 1rem;
    gap: .5rem;
}


.alert__ERROR {
    background-color: var(--clr-danger);
}

.alert__NOTIFICATION {
    background-color: cornflowerblue;
}

.alert__WARNING {
    background-color: var(--clr-warning);
}
