@font-face {
	font-family: "mont heavy";
	src: url("mont-heavy.otf") format("opentype");
}

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

p {
    font-family: Jost;
    font-size:   1.1rem;
    line-height: 1.4rem;
}

:root {
    --topbar-h:    5.8rem;
    --topbar-bg:   #2d2b2e;
    --topbar-bg2:  #e72f38;
    --topbar-bg3:  #FFFFFF;
    --topbar-fg:   #FFFFFF;
    --logo-fg:     #FFFFFF;
    --topbar-fsize: 1.1rem;

    --section-b-bg: #FFFFFF;
    --section-a-bg: #2d2b2e;

    --title-even-fg: #FFFFFF;
    --title-odd-fg:  #e72f38;

    --text-even-fg: #dadada;
    --text-odd-fg:  #2d2b2e;

    --footer-bg:  #e72f38;
    --footer-fg:  #FFFFFF;

    --to-top-bg: #e72f38;
    --to-top-fg: #FFFFFF;

    --to-top-bg2: #2d2b2e;
    --to-top-fg2: #FFFFFF;

    --popup-transition: 1s;
    --test-start-transition: 0.5s;

    --generic-transition: 0.15s;

/*
    --topbar-h:    5rem;
    --topbar-bg:   #39a1ddcc;
    --topbar-bg2:  #357975;
    --topbar-bg3:  #e6f4f1;
    --topbar-fg:   #FFFFFF;
    --logo-fg:     #FFFFFF;
    --topbar-fsize: 1.2rem;

    --section-b-bg: #FFFFFF;
    --section-a-bg: #e8f8ff;

    --title-even-fg: #39a1dd;
    --title-odd-fg:  #357975;
*/
}
#note {
    display: none;
}

@media screen and (max-width: 900px) {
    #note {
        display: block;
        padding: 10rem 1rem;
    }

    #note p {
        text-align: center;
        font-size: 90%;
        width: 100%;
        font-weight: bold;
    }
}

::-webkit-scrollbar {
	width: 12px;
}

::-webkit-scrollbar-track {
	background: var(--footer-fg);
}

::-webkit-scrollbar-thumb {
	transition: 0.3s;
	background: var(--footer-bg);
}

::-webkit-scrollbar-thumb:hover {
	background: var(--section-a-bg);
}

.clearfix {
    clear: both;
}

.redirect{
    display: block;
    text-decoration: none;
    padding: 0.7rem 1.2rem;
    font-family: Jost;
    width: max-content;
    border-radius: 0.1rem;
    background-color: var(--footer-bg);
    color: var(--footer-fg);
    transition: var(--generic-transition);
    margin-top: 1rem;
}

.redirect:hover {
    background-color: var(--footer-fg);
    color: var(--section-a-bg);
}

p {
    font-size: 1.2rem;
}

.big {
    font-size: 1.4rem;
    margin-bottom: 1rem;
}

#certif {
    display: none;
}

input {
    font-size: 1.1rem;
}

button {
    cursor: pointer;
    font-size: 1.1rem;
}

button.submit {
    padding: 0.5rem 1rem;
    font-family: Jost;
    width: 100%;
    margin-top: 0.5rem;
    border: 2px solid #aaaaaa;
    background-color: var(--section-b-bg);
    color: var(--text-odd-fg);
    transition: var(--generic-transition);
}

button.submit:hover {
    background-color: var(--section-a-bg);
    border: 2px solid var(--section-a-bg);
    color: var(--section-b-bg);
}

section#test-start {
    transition: var(--test-start-transition);
    position: absolute;
    width: 100%;
    z-index: 1023;
}

section#test-end {
    transition: var(--test-start-transition);
    position: absolute;
    width: 100%;
    z-index: 1023;
    display: none;
    opacity: 0;
}

button#a {
    display: none;
}

div.name-info {
    width: 20rem;
    display: block;
    margin: 0 auto;

    padding: calc(100vh / 2 - 16rem) 0;
}

div.name-info2 {
    width: 20rem;
    display: block;
    margin: 0 auto;
    text-align: center;
}

div.name-info2 p {
    font-size: 1.3em;
}

#correct-answers {
    margin-bottom: 1rem;
    margin-top: 0.2rem;
}



div.name-info3 {
    display: block;
    padding: calc(100vh / 2 - 18rem) 0 !important;
}

div.name-info p {
    margin-bottom: 0.5rem;
}

div.name-info input {
    padding: 0.5rem 1rem;
    font-family: Jost;
    width: 100%;

    border: 2px solid #aaaaaa;
    background-color: var(--section-b-bg);
    color: var(--text-odd-fg);
}

#test-end h1 {
    text-align: center;
}

section {
    padding-bottom: 3rem;
}

section .wave {
    width: 100%;
    margin-bottom: 3rem;
    margin-top: -1px;
}

section:nth-child(even) .wave {
    transform: scaleX(-1);
    z-index: -1;
}

#certif-box {
    display: block;
}

section .content-box {
    padding: 3rem;
    max-width: 90rem;
    margin: 0 auto;
    display: block;
}

.center .content-box {
    padding: 3rem;
    max-width: 64rem;
    margin: 0 auto;
    display: block;

    text-align: center;
}

section:not(.slide) p {
    margin-top: 1rem;
}

section h2 {
    font-size: 2rem;
    font-family: Montserrat;
    margin-top: 1rem;
}

section header {
    margin-bottom: 1.5rem;
}

section.slide {
    position: relative;
    top: 0;
    opacity: 0;
    transition: var(--test-start-transition);
}

section header h1 {
    font-size: 4rem;
    font-family: Montserrat;
    line-height: 4.2rem;
    color: var(--title-odd-fg);
}

section:not(.b):not(.slide):nth-child(even) header h1, section:not(.b):not(.slide):nth-child(even) h2 {
    color: var(--title-even-fg);
}

section:not(.b):not(.slide):nth-child(odd) header h1, section:not(.b):not(.slide):nth-child(odd) h2 {
    color: var(--title-odd-fg);
}

section:not(.b):not(.slide):nth-child(even) p {
    color: var(--text-even-fg);
}

section:not(.b):not(.slide):nth-child(odd) p {
    color: var(--text-odd-fg);
}
section:not(.b):not(.slide):nth-child(even) {
    background-color: var(--section-a-bg);
}

section:not(.b):not(.slide):nth-child(odd) {
    background-color: var(--section-b-bg);
}

#site-header {
    position: sticky;
    top: 0;
    box-shadow: 4px 4px 10px #00000022;
    z-index: 1024;

    backdrop-filter: blur(10px);
    margin-bottom: 2rem;
}

#site-nav {
    background-color: var(--topbar-bg);

    width: 100%;
    height: var(--topbar-h);

    transition: var(--generic-transition);
}

.right {
    float: right;
}

.left {
    float: left;
}

#logo {
    font-size: 3rem;
    font-family: mont heavy;
    color: var(--logo-fg);

    padding-left: 3rem;
}

#site-nav ul {
    height: 100%;
    list-style-type: none;

    background-color: var(--topbar-bg2);

    padding-right: 3rem;
    padding-left:  1rem;
}

#site-nav li {
    height: 100%;
    display: inline-block;
}

#site-nav a.active:not(.skip) {
    background-color: var(--topbar-bg3);
    transition: var(--generic-transition);
}

#site-nav a.active:not(.skip) {
    color: var(--topbar-bg2) !important;
    transition: var(--generic-transition);
}

#site-nav a.active:not(.skip)::after {
    background-color: var(--topbar-bg2);
    transition: var(--generic-transition);
}

#site-nav a:not(.skip), #logo {
    height: 100%;

    display: flex;
    justify-content: center;
    align-items: center;
}

#site-nav a:not(.skip) {
    font-family: Jost;
    font-size:   var(--topbar-fsize);
    color: var(--topbar-fg);

    position: relative;
    padding: 0 1.5rem;

    --h: 2.5rem;

    height: var(--h);
    margin-top: calc(var(--topbar-h) / 2 - var(--h) / 2);

    /*height: calc(100% - 1.8rem);
    margin-top: 0.9rem;*/

    border-radius: 0.1rem;

    text-decoration: none;

    transition: var(--generic-transition);
}

#site-nav a:not(.active):not(.skip) {
    color: var(--topbar-bg3);
}

#site-nav a.active:not(.skip) {
    font-weight: bold;
}

#site-nav a:not(.skip)::after {
    content: '';
    position: absolute;
    width: calc(100% - 3rem);
    transform: scaleX(0);
    height: 2px;
    bottom: 0;
    left: 1.5rem;
    background-color: var(--topbar-fg);
    transform-origin: bottom right;
    transition: transform 0.25s ease-out;
    top: calc(50% + var(--topbar-fsize) / 2);
}

#site-nav a:not(.skip):hover::after, #site-nav a:not(.skip).active::after {
    transform: scaleX(1);
    transform-origin: bottom left;
}

i.icon-prefix {
    margin-right: 0.4rem;
}

#site-nav ul::after{
    content: "";
    position: absolute;
    display: block;

    top: 0;
    width: 0;
    height: 0;
    margin-left: calc(var(--topbar-h) * -1 - 1rem + 1px);
    border-bottom: solid var(--topbar-h) transparent;
    border-right: solid var(--topbar-h) var(--topbar-bg2);

    transition: var(--generic-transition);
}

.sect {
    --a: 50%;
}

.sect:first-child {
    width: calc(var(--a) - 2rem);
}

.sect:last-child {
    width: calc(100% - var(--a) - 2rem);
}

.sect img.border {
    width: 100%;
    border: 4px solid var(--title-odd-fg);
    box-shadow: 4px 4px 10px #00000022;
    border-radius: 0.2rem;
}

section:not(.slide):nth-child(even) .sect img.border  {
    border: 4px solid var(--title-even-fg);
}

ul.partners {
    margin-top: 3rem;
    list-style-type: none;

    display: block;
    margin: 2rem auto 0 auto;
    width: max-content;
}

.text-center {
    text-align: center;
}

ul.partners li {
    display: inline-block;
    height: 5rem;
    width:  11rem;

    background-color: var(--section-b-bg);
    border-radius: 0.1rem;
    box-shadow: 4px 4px 10px #00000011;
    padding: 0.5rem 1rem;

    margin: 0rem 1rem;

    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;

    background-origin: content-box;
}

ul.partners li img {
    margin: 0 auto;
    display: block;
    height: 100%;
}

#site-footer {
    background-color: var(--footer-bg);
    color: var(--footer-fg);
}

#site-footer .wave {
    width: 100%;
}

.footer-content {
    padding: 3.5rem;
}

#site-footer div.center {
    margin: 0 auto;
    display: block;
    width: max-content;
}

#site-footer h1.icon {
    font-size: 5rem;
    text-align: center;
    margin-bottom: 1rem;
}

#site-footer p.desc {
    text-align: center;
    margin-bottom: 0.2rem;
}

#back-to-top {
    font-size: 1.5rem;
    color: var(--to-top-fg);
    background-color: var(--to-top-bg);

    border: 0;
    padding: 1rem 1.2rem;
    border-radius: 50rem;

    cursor: pointer;

    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;

    transition: var(--generic-transition);

    opacity: 0;
    z-index: 2048;
}

#back-to-top:hover {
    color: var(--to-top-fg2);
    background-color: var(--to-top-bg2);
}

.question{
    width: 100%;
    height: 6rem;
    border-radius: 0.2rem;
    font-family: jost;
    font-size: 1.5rem;
}

.question h1{
    text-align: center;

    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.answers{
    width: 100%;
    list-style: none;
}

.answers li button {
    border: 2px solid #bbbbbb;
    border-radius: 100rem;
    background-color: var(--section-b-bg);
    width: 100%;
    padding: 1rem;
    margin: 1rem 0;
    margin-top: calc(1rem + 1px);
    cursor: pointer;
    color: var(--text-odd-fg);
    transition: var(--generic-transition);
}

.answers li button:hover {
    border: 2px solid var(--text-odd-fg);
    background-color: var(--text-odd-fg);
    color: var(--section-b-bg);
}

.answers li button.correct {
    border: 2px solid #96e493 !important;
    background-color: #deffde !important;
    color: var(--text-odd-fg) !important;
}

.answers li button.incorrect {
    border: 2px solid #e49393 !important;
    background-color: #ffdede !important;
    color: var(--text-odd-fg) !important;
}

.answers li button.hover-off {
    border: 2px solid #bbbbbb;
    background-color: var(--section-b-bg);
    color: var(--text-odd-fg);
}

.next, .previous {
    cursor: pointer;
    padding: 0.5rem 2rem;
    font-size: 1.5rem;

    background-color: var(--section-b-bg);
    color: var(--section-a-bg);
    border: 2px solid #bbbbbb;
    border-radius: 100rem;

    transition: var(--generic-transition);
}

.next:hover, .previous:hover {
    border: 2px solid var(--section-a-bg);
    background-color: var(--section-a-bg);
    color: var(--title-even-fg);
}

.popup{
    width: 100%;
    height: 6rem;
    border: 2px dashed #E49C93;
    background-color: #FFE5DE;
    border-radius: 0.2rem;
    transition: var(--popup-transition);
    margin-top: 1rem;
}

.popup p{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 1rem;
}

.question-num {
    color: #777777 !important;
}

.stuff {
    list-style-type: none;
    max-width: 80%;
    margin: 0 auto;
    display: block;
}

.stuff li {
    padding: 1rem;
    margin-bottom: 1rem;
}

section:not(.slide):nth-child(even) .stuff li:nth-child(odd) {
    width: 45%;
}

section:not(.slide):nth-child(even) .stuff li:nth-child(even) {
    width: 55%;
}

section:not(.slide):nth-child(odd) .stuff li:nth-child(odd) {
    width: 55%;
}

section:not(.slide):nth-child(odd) .stuff li:nth-child(even) {
    width: 45%;
}

.stuff li p {
    text-align: justify;
    padding: 1.5rem;
    border-radius: 0.2rem;
}

section:not(.slide):nth-child(even) .stuff li p {
    background-color: var(--footer-bg);
    color: var(--footer-fg) !important;
}

section:not(.slide):nth-child(odd) .stuff li p {
    border: 3px dotted var(--footer-bg);
}

.stuff li:nth-child(even) {
    float: right;
    border-radius: 1rem;
}

.stuff li:nth-child(odd) {
    clear: both;
    float: left;
}

.stuff li:nth-child(odd) div {
    clear: both;
}

/* CERTIFICATE */

#certificate {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
    font-size: 1.5rem !important;
    text-align: center !important;
    background-color: #FFFFFF !important;
    padding: 20px !important;
    height: calc(297mm - 1px) !important;
    width: 100% !important;
    box-sizing: border-box !important;
    border: 5px solid #e72f38 !important;
    margin-left: -1.6mm !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

#certificate .header {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#certificate h1 {
    color: #e72f38 !important;
    font-size: 3em !important;
}

#certificate h2, #certificate h3 {
    color: #333 !important;
}

#certificate p {
    color: #555454 !important;
    padding: 1rem 0rem;
}

#certificate .date {
    font-style: italic !important;
    color: #888 !important;
}

#certificate .logo {
    font-family: mont heavy !important;
    font-size: 2em !important;
}
