/* dialog */
.scrollSettings {
    font-family: "Montserrat";
    height: 90vh;
    aspect-ratio: 2/3;
    background-color: var(--almost-invis);
    padding: 0.5vmin;
    color: white;
    user-select: none;
    outline: none;
    text-shadow: 0 0 5vh var(--vl-gray);
    border: 0.5vmin solid transparent;
    animation: zoomin 0.3s forwards ease;
    background-clip: padding-box;
    overflow: hidden;
}

.scrollSettings.closingAnimation {
    animation: zoomout 0.3s forwards ease;
}

.scrollSettings::backdrop {
    background-color: #000000b5;
    backdrop-filter: blur(5px);
    animation: fadein 0.4s forwards ease;
}

.scrollSettings.closingAnimation::backdrop {
    animation: fadeout 0.4s forwards ease;
}

/* border */
.scrollSettings::before,
.scrollSettings::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 0.3vmin;
    background: linear-gradient(to bottom, transparent, white 35%, white 65%, transparent);
    box-sizing: border-box;
}

.scrollSettings::before {
    left: 0;
}

.scrollSettings::after {
    right: 0;
}

/* top */
.settingsTop {
    font-size: 1.5em;
    text-align: center;
    height: 10%;
    width: 100%;
}

/* settings list */
.settingsBox {
    height: 70%;
    width: 100%;
    overflow-x: hidden;
    overflow-y: scroll;
    font-size: 1.1em;
    padding: 0px;
    margin: 0px;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    padding-top: 8vh;
    padding-bottom: 10vh;
}

.settingRow,
.closeDialogButton,
.settingsReset,
.gamemodeSelect {
    display: flex;
    align-items: center;
    height: 4.2vh;
    --s: 2vmin;
    --t: 0.3vmin;
    --g: 1vmin;

    padding: calc(var(--g) + var(--t));
    outline: var(--t) solid #ffffff;
    outline-offset: calc(var(--g)/-1);
    mask: conic-gradient(at var(--s) var(--s), #0000 75%, #000 0) 0 0/calc(100% - var(--s)) calc(100% - var(--s)),
        linear-gradient(#000 0 0) content-box;
    transition: scale 0.6s, opacity 0.6s, outline-offset 0.3s;
}

.settingRow:hover,
.closeDialogButton:hover,
.settingsReset:hover,
.gamemodeSelect:hover {
    outline-offset: calc(-1*var(--t));
    animation: jump 1.5s infinite ease 0.4s;
    transition: outline-offset 0.1s, scale 0.6s;
}

.settingRow>p {
    width: 50%;
    display: flex;
    justify-content: flex-end;
    text-align: right;
    padding-right: 1.5vw;
    pointer-events: none;
}

.settingRow>.option {
    position: unset;
    display: flex;
    justify-content: flex-start;
    transform: none;
}

/* footer */
.settingsFooter {
    height: 20%;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1vh;
}

.settingsFooter>p {
    margin: 0;
    font-size: 0.8em;
    opacity: 0.4;
    width: 100%;
    text-align: center;

}

.closeDialogButton,
.settingsReset {
    height: auto;
    background-color: var(--invis);
    border: none;
    padding: 2vh;
    font-size: 1.4em;
    color: white;
    transition: all 0.4s ease;
}

/* buttons and misc */
.settingsReset {
    position: absolute;
    right: 1vw;
    bottom: 1vh;
    padding: 1vh;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 6vh;
    aspect-ratio: 1/1;
}

#gamemodeDialog>.settingsBox {
    align-items: center;
    padding-top: 0;
    padding-bottom: 0;
}

.gamemodeSelect {
    height: 8vh;
    width: 80%;
    background-color: var(--invis);
    border: none;
    padding: 1.3vh;
    font-size: 1.3em;
    color: white;
    transition: all 0.4s ease;
    justify-content: center;
}

.gamemodeSelect:hover {
    outline-color: var(--p-green);
    color: var(--p-green);
}

.gamemodeSelect.selected {
    outline-color: var(--green);
    color: var(--green);
}

#editMenu>.settingsBox {
    padding-top: 0;
}

#gameStatsDialog>.settingsFooter {
    flex-direction: row;
    height: 15%;
}

#gameEnd>.settingsFooter {
    position: absolute;
    bottom: 10%;
    width: 100%;
    flex-direction: row;
    height: auto;
}

#changeRangeValue>.settingsBox {
    padding-top: 0;
    padding-bottom: 0;
    height: auto;
    align-items: center;
}

.settingRow:has(.dropdown) {
    animation: none;
}

.dropdown {
    width: 20%;
    margin: 1%;
    background: black;
    color: white;
}

#uploadReplay {
    width: 50%;
    justify-content: center;
    padding: 1.3vh;
    font-size: 1.3em;
    transition: all 0.4s ease;
}