/* Font */ @font-face { font-family: Rubic; src: url(../resources/fonts/Rubik/static/Rubik-Regular.ttf); } /* Proměnné */ :root { --glow-color: hsl(186, 100%, 69%); --termLength: 17em; } /* Základ*/ *{ font-family: Rubic; padding: 0; margin: 0; box-sizing: border-box; line-height: 0; } body{ display: flex; justify-content: center; align-items: center; flex-direction: column; background-color: black; } section{ min-height: 100vh; display: flex; justify-content: center; align-items: center; flex-direction: column; } h1{ font-size: 1rem; line-height: normal; inline-size: fit-content; width: 60vw; } video{ width: 60vw; } /* Grid Template */ .grid { display: grid; padding: 3rem; grid-gap: 2em; grid-template-columns: repeat(2, 1fr); grid-template-areas: "t t" "d2 d9" "d11 d6" "d1 d7" "d10 d4" "d12 d3" "d8 d5"; } /* Hidden items */ [hidden]{ /*Pro zobrazeni hidden věcí (Containery na Vido a Otázky), zakomentovat*/ display:none !important; } #cinemaContainer, #questionContainer { position: fixed; display: flex; justify-content: center; align-items: center; width: 100vw; height: 100vh; z-index: 1; top: 0; left: 0; background: rgba(17, 17, 17, 0.85); z-index: 999; text-align: center; overflow: scroll; } #questionContainer { display: grid; gap: 1em; } #cinemaContainer #cinemaBox { max-width: 100%; border-radius: .45rem; } .button{ color: var(--glow-color); text-align: center; vertical-align: middle; cursor: pointer; font-size: 25px; border-radius: .45rem; border: 1px solid transparent; -moz-transition:all .4s ease; -o-transition:all .4s ease; -webkit-transition:all .4s ease; transition:all .4s ease; display: flex; justify-content: center; align-items: center; padding: 0.5em; } .button:hover { border: 1px solid var(--glow-color); background-color: black; } #close { right: 10px; top: 10px; width: 50px; height: 50px; position: fixed; bottom: 10px; } #skip { width: 5em; right: 10px; bottom: 10px; position: fixed; } .button img{ width: 100%; filter: invert(100%); } #questionLine { display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--glow-color); border: 1px solid var(--glow-color); background-color: black; border-radius: 0.5em; padding: 1em; line-height: 1rem; gap: 2em; } #questionLine img{ width: 30vw; } #answerBar { display: grid; gap: 2em; width: 100%; } #answerBar .button{ border: 1px solid var(--glow-color); background-color: black; line-height: 2rem; } #answerBar .button:hover{ background-color: orange; color: black; } #answerBar .validateRed { color: white; background-color: red; &:after { font-family:'FontAwesome'; content:" \f00d"; } } #answerBar .validateRed:hover { color:white; background-color: red; } #answerBar .validateGreen { color: white; background-color: green; &:after { font-family:'FontAwesome'; content:" \f00c"; } } #answerBar .validateGreen:hover { color:white; background-color: green; } /* individual grid items */ #title { grid-area: t; display: flex; justify-content: center; align-items: center; flex-direction: column; border-radius: 0.45em; } #box-0 { grid-area: d1; background: url("../resources/img/topicIcons/lesson1.svg") no-repeat center; } #box-0:hover{ background: url("../resources/img/topicIcons/lesson1black.svg") no-repeat center; } #box-1 { grid-area: d2; background: url("../resources/img/topicIcons/lesson2.svg") no-repeat center; } #box-1:hover{ background: url("../resources/img/topicIcons/lesson2black.svg") no-repeat center; } #box-2 { grid-area: d3; background: url("../resources/img/topicIcons/lesson3.svg") no-repeat center; } #box-2:hover{ background: url("../resources/img/topicIcons/lesson3black.svg") no-repeat center; } #box-3 { grid-area: d4; background: url("../resources/img/topicIcons/lesson4.svg") no-repeat center; } #box-3:hover{ background: url("../resources/img/topicIcons/lesson4black.svg") no-repeat center; } #box-4 { grid-area: d5; background: url("../resources/img/topicIcons/lesson5.svg") no-repeat center; } #box-4:hover{ background: url("../resources/img/topicIcons/lesson5black.svg") no-repeat center; } #box-5 { grid-area: d6; background: url("../resources/img/topicIcons/lesson6.svg") no-repeat center; } #box-5:hover{ background: url("../resources/img/topicIcons/lesson6black.svg") no-repeat center; } #box-6 { grid-area: d7; background: url("../resources/img/topicIcons/lesson7.svg") no-repeat center; } #box-6:hover{ background: url("../resources/img/topicIcons/lesson7black.svg") no-repeat center; } #box-7 { grid-area: d8; background: url("../resources/img/topicIcons/lesson8.svg") no-repeat center; } #box-7:hover{ background: url("../resources/img/topicIcons/lesson8black.svg") no-repeat center; } #box-8 { grid-area: d9; background: url("../resources/img/topicIcons/lesson9.svg") no-repeat center; } #box-8:hover{ background: url("../resources/img/topicIcons/lesson9black.svg") no-repeat center; } #box-9 { grid-area: d10; background: url("../resources/img/topicIcons/lesson10.svg") no-repeat center; } #box-9:hover{ background: url("../resources/img/topicIcons/lesson10black.svg") no-repeat center; } #box-10 { grid-area: d11; background: url("../resources/img/topicIcons/lesson11.svg") no-repeat center; } #box-10:hover{ background: url("../resources/img/topicIcons/lesson11black.svg") no-repeat center; } #box-11 { grid-area: d12; background: url("../resources/img/topicIcons/lesson12.svg") no-repeat center; } #box-11:hover{ background: url("../resources/img/topicIcons/lesson12black.svg") no-repeat center; } /* Terminal-like Screen */ .fakeScreen { border-radius: 0.45rem; } #title img{ width: 28vw; } .fakeScreen p { line-height: 2rem; position: relative; text-align: left; font-size: 1rem; font-family: monospace; white-space: nowrap; overflow: hidden; width: 0; } span { color: var(--glow-color); font-weight: bold; } .line1 { color: #9CD9F0; -webkit-animation: type 1 0.25s steps(20, end) forwards; -moz-animation: type 1s 0.25s steps(20, end) forwards; -o-animation: type 1s 0.25s steps(20, end) forwards; animation: type 1s 0.25s steps(20, end) forwards; } .cursor1 { -webkit-animation: blink 1s 1.25s 1 forwards; -moz-animation: blink 1s 1.25s 1 forwards; -o-animation: blink 1s 1.25s 1 forwards; animation: blink 1s 1.25s 1 forwards; } .line2 { color: #CDEE69; -webkit-animation: type 1s 2.25s steps(20, end) forwards; -moz-animation: type 1s 2.25s steps(20, end) forwards; -o-animation: type 1s 2.25s steps(20, end) forwards; animation: type 1s 2.25s steps(20, end) forwards; } .cursor2 { -webkit-animation: blink 1s 3.25s 2 forwards; -moz-animation: blink 1s 3.25s 2 forwards; -o-animation: blink 1s 3.25s 2 forwards; animation: blink 1s 3.25s 2 forwards; } .line3 { color: var(--glow-color); -webkit-animation: type 1s 3.5s steps(20, end) forwards; -moz-animation: type 1s 3.5s steps(20, end) forwards; -o-animation: type 1s 3.5s steps(20, end) forwards; animation: type 1s 3.5s steps(20, end) forwards; } .cursor3 { -webkit-animation: blink 1s 4.5s infinite; -moz-animation: blink 1s 4.5s infinite; -o-animation: blink 1s 4.5s infinite; animation: blink 1s 4.5s infinite; } @-webkit-keyframes blink { 0% { opacity: 0; } 40% { opacity: 0; } 50% { opacity: 1; } 90% { opacity: 1; } 100% { opacity: 0; } } @-moz-keyframes blink { 0% { opacity: 0; } 40% { opacity: 0; } 50% { opacity: 1; } 90% { opacity: 1; } 100% { opacity: 0; } } @-o-keyframes blink { 0% { opacity: 0; } 40% { opacity: 0; } 50% { opacity: 1; } 90% { opacity: 1; } 100% { opacity: 0; } } @keyframes blink { 0% { opacity: 0; } 40% { opacity: 0; } 50% { opacity: 1; } 90% { opacity: 1; } 100% { opacity: 0; } } @-webkit-keyframes type { to { width: var(--termLength); } } @-moz-keyframes type { to { width: var(--termLength); } } @-o-keyframes type { to { width: var(--termLength); } } @keyframes type { to { width: var(--termLength); } } #progress{ display: flex; width: 100%; } progress{ position: relative; width: 100%; background-color: var(--glow-color); border-radius: 0.45rem; } /*Glowing box*/ .box { position: relative; color: var(--glow-color); cursor: pointer; border: 0.15em solid var(--glow-color); border-radius: 0.45em; background: none; min-height: 3rem; -webkit-box-shadow: inset 0px 0px 0.5em 0px var(--glow-color), 0px 0px 0.5em 0px var(--glow-color); -moz-box-shadow: inset 0px 0px 0.5em 0px var(--glow-color), 0px 0px 0.5em 0px var(--glow-color); box-shadow: inset 0px 0px 0.5em 0px var(--glow-color), 0px 0px 0.5em 0px var(--glow-color); animation: border-flicker 2s linear infinite; } .box::before { content: ""; position: absolute; top: 0; bottom: 0; left: 0; right: 0; opacity: 0.7; filter: blur(1em); transform: translateY(100%) rotateX(90deg) scale(1); background: var(--glow-color); pointer-events: none; } .box::after { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; opacity: 0; z-index: -1; background-color: var(--glow-color); box-shadow: 0 0 2em 0.2em var(--glow-color); transition: opacity 100ms linear; } .box:hover { animation: none; } .box:hover:before { filter: blur(1.5em); opacity: 1; } .box:hover:after { opacity: 1; } @keyframes faulty-flicker { 0% { opacity: 0.1; } 2% { opacity: 0.1; } 4% { opacity: 0.5; } 19% { opacity: 0.5; } 21% { opacity: 0.1; } 23% { opacity: 1; } 80% { opacity: 0.5; } 83% { opacity: 0.4; } 87% { opacity: 1; } } @keyframes border-flicker { 0% { opacity: 0.1; } 2% { opacity: 1; } 4% { opacity: 0.1; } 8% { opacity: 1; } 70% { opacity: 0.7; } 100% { opacity: 1; } } /* Footer Animation -more-like-abomination- */ footer { position: relative; width: 100vw; margin-top: auto; background: linear-gradient(0deg, #000, #272727); display: flex; align-items: center; flex-direction: column; align-self: flex-end; color: var(--glow-color); } footer:before, footer:after { content: ''; position: absolute; top: -2px; background: linear-gradient(45deg, #fb0094, #0000ff, #00ff00,#ffff00, #ff0000, #fb0094, #0000ff, #00ff00,#ffff00, #ff0000); background-size: 400%; width: calc(100%); height: calc(100% + 2px); z-index: -1; animation: steam 20s linear infinite; } @keyframes steam { 0% { background-position: 0 0; } 50% { background-position: 400% 0; } 100% { background-position: 0 0; } } footer:after { filter: blur(1rem); } footer p{ color: var(--glow-color); line-height: 2em; } #cheatLine{ line-height: 0; } /* Responzivita */ /* media query */ @media only screen and (min-width: 500px) { .grid { grid-template-columns: repeat(4, 1fr); grid-auto-rows: 1fr; grid-template-areas: "t t d2 d7" "t t d1 d12" "d8 d11 d6 d9" "d5 d10 d3 d4"; } #answerBar { grid-template-columns: repeat(2, 1fr); } #title img{ width: 14vw; } .fakeScreen p { font-size: 1.5rem; } h1{ font-size: 1.5rem; } }