 @font-face {
    font-family: "Grotesk-Medium";
    src: url("fonts/OtoiwoGroteskCondensed-SemBd.otf");
}

@font-face {
    font-family: "Grotesk-Bold";
    src: url("fonts/OtoiwoGroteskCompressed-Black.otf");
}

* {
    outline: none;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

html {
    padding: 0;
    margin: 0;
    overflow: hidden;
    max-width: 100vw;
    max-height: 100vh;
}

body {
    font-family: "Grotesk-Medium", sans-serif;
    background-color: #f4f7f6;
    color: #333;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
}

#app {
    background-color: #fff;
    border-radius: 0;
    width: 100vw;
    height: 100vh;
    box-sizing: border-box;
    text-align: center;
}

.page {
    display: none;
    animation: fadeIn 0.5s ease-in-out;
}

.page.active {
    display: block;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.container {
    width: 90vw;
    height: 100vh;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.question-container {
    justify-content: flex-start;
}

.title {
    color: #000;
    font-family: "Grotesk-Bold", sans-serif;
    margin-top: 0;
    font-size: 7.8vh;
    text-transform: uppercase;
    margin-bottom: 6.25vh;
    font-weight: 400;
    margin-bottom: 2vh;
}

.description {
    font-size: 2.5vh;
    color: #000;
    margin-bottom: 2vh;
    margin-top: 0;
}

.btn {
    font-family: "Grotesk-Bold", sans-serif;
    background-color: transparent;
    color: #000;
    font-size: 4.67vh;
    height: 9.17vh;
    width: 40.63vw;
    border: 0.25vh solid #000;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    text-transform: uppercase;
    transition: all 0.3s ease;
    border-radius: 1px;
    letter-spacing: 0.5vw;
    margin: 0 auto;
    -webkit-tap-highlight-color: transparent;
}

#start-button {
    width: 52vw;
    font-size: 4.3vh;
    padding-right: 7.5vw;
    background-image: url(images/start-arrow-right.png);
    background-repeat: no-repeat;
    background-position: 95% 50%;
}

#welcome-page {
    width: 100vw;
    height: 100vh;
    background-color: #FCC015;
}

.btn:hover:not(:disabled) {
    background-color: transparent;
    transform: translateY(-2px);
}

.check-btn,
.next-btn {
    background-color: #FCC015;
    border-color: #FCC015;
    font-size: 3vh;
    height: 6.67vh;
    width: 31vw;
}


.next-btn {
    padding-right: 2.5vw;
    background-image: url(images/arrow-right.png);
    background-repeat: no-repeat;
    background-position: 80% 50%;
    background-size: 3.3vh;
}

.btn:disabled {
    background-color: transparent;
    border-color: #000;
    cursor: not-allowed;
}

.question-image {
    width: auto;
    height: 36.67vh;
    margin: 4vh 0 2vh;
}

.counter {
    font-family: "Grotesk-Bold", sans-serif;
    font-size: 3vh;
    color: #000;
    margin-bottom: 1vh;
    margin-top: 0;
    text-transform: uppercase;
}

.question-title {
    font-size: 1.5em;
    margin-bottom: 25px;
    line-height: 1.4;
}

.answer-options {
    display: flex;
    flex-direction: column;
    gap: 1vh;
    height: 42vh;
}

.answer-option {
    font-family: "Grotesk-Bold", sans-serif;
    background-color: transparent;
    color: #000;
    font-size: 4vh;
    height: 6.67vh;
    width: 85vw;
    border: 0.25vh solid #000;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    text-transform: uppercase;
    transition: all 0.3s ease;
    border-radius: 1px;
    letter-spacing: 0.5vw;
    margin: 0 auto;
    -webkit-tap-highlight-color: transparent;
}

.answer-option.correct {
    background-color: #000;
    color: #fff;
}

.answer-option.selected .answer-option-text {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.answer-option.selected .answer-option-text::after {
    content: '';
    width: 2vh;
    height: 2vh;
    background-color: #FCC015;
    position: absolute;
    right: -3vw;
    top: calc(50% - 0.4vh);
    transform: rotate(45deg) translateY(-50%);
}

.feedback {
    margin-top: 0;
    text-align: center;
    display: none;
    height: 42vh;
}

.feedback-title {
    font-family: "Grotesk-Bold", sans-serif;
    color: #000;
    font-size: 3.85vh;
    margin-bottom: 1vh;
    margin-top: 0;
    line-height: 3.85vh;
}

.feedback-text {
    color: #000;
    font-size: 1.83vh;
    margin-top: 0;
}

.result-title {
    font-family: "Grotesk-Bold", sans-serif;
    color: #FCC015;
    font-size: 3vh;
    margin-bottom: 2vh;
    text-transform: uppercase;
}

.result-text {
    font-family: "Grotesk-Bold", sans-serif;
    font-size: 5.33vh;
    color: #000;
    margin: 0;
    text-transform: uppercase;
}

#show-final-page-button {
    position: absolute;
    bottom: 5vh;
}

#final-page {
    background-color: #FCC015;
}

.final-title {
    font-family: "Grotesk-Bold", sans-serif;
    color: #000;
    font-size: 5.33vh;
    margin-bottom: 2vh;
    text-transform: uppercase;
}

.final-text {
    font-size: 2.33vh;
    color: #000;
    margin-bottom: 20px;
}

#restart-button {
    position: absolute;
    bottom: 5vh;
    padding-left: 8vw;
    background-image: url(images/arrow-left.png);
    background-repeat: no-repeat;
    background-position: 10% 50%;
    background-size: 3.3vh;
    width: 40vw;
    height: 8vh;
    font-size: 3vh;
    background-color: #fff;
    border: none;
}

.highlighted {
    color: #FCC015;
}


#idle-popup {
    display: none;
    position: fixed;
    width: 85vw;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #FCC015;
    color: #000;
    padding: 25px;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    text-align: center;
    z-index: 1000;
}

#idle-popup p {
    font-size: 6vh;
    font-weight: 800;
}

#idle-popup button {
    width: 50vw;
}