/* ######################### */
/* #         FONTS         # */
/* ######################### */

@font-face {
    font-family: 'Gothic-Century';
    font-weight: normal;
    src: url(../../fonts/Gothic-Century-Regular.woff2) format('woff2'),
        url(../../fonts/Gothic-Century-Regular.woff) format('woff'),
        url(../../fonts/Gothic-Century-Regular.ttf) format('truetype');
}

@font-face {
    font-family: 'Gothic-Century';
    font-weight: bold;
    src: url(../../fonts/Gothic-Century-Bold.woff2) format('woff2'),
        url(../../fonts/Gothic-Century-Bold.woff) format('woff'),
        url(../../fonts/Gothic-Century-Bold.ttf) format('truetype');
}

@font-face {
    font-family: 'Rubik';
    font-weight: normal;
    src: url(../../fonts/Rubik-Medium.woff2) format('woff2'),
        url(../../fonts/Rubik-Medium.woff) format('woff'),
        url(../../fonts/Rubik-Medium.ttf) format('truetype');
}

@font-face {
    font-family: 'Rubik';
    font-weight: bold;
    src: url(../../fonts/Rubik-Bold.woff2) format('woff2'),
        url(../../fonts/Rubik-Bold.woff) format('woff'),
        url(../../fonts/Rubik-Bold.ttf) format('truetype');
}

/* ######################### */
/* #        GENERAL        # */
/* ######################### */

:root {
    --highlight-color: 132, 183, 102;
    --background-color: #001580;
    --secondary-color: #FF8259;
    --clear-color: #FFF;
}

* {
    margin: 0px;
    color: var(--clear-color);
    font-family: 'Gothic-Century';
    font-size: 15px;
    padding: 0px;
    box-sizing: border-box;
}

body {
    background-color: var(--background-color);
    scroll-behavior: smooth;
}

@media screen and (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}

body .content-container {
    display: block;
    margin: auto;
    padding: 0px 15px;
    width: min(95%, 350px);
}

h1 {
    display: block;
    float: left;
    color: rgb(var(--highlight-color));
    font-family: 'Rubik';
    font-size: 28px;
    text-align: center;
    text-transform: uppercase;
    line-height: 33px;
    width: 100%;
}

.intro-text {
    display: block;
    float: left;
    margin-top: 12px;
    font-size: 17px;
    text-align: center;
    width: 100%;
}

.intro-text span {
    display: block;
    font-size: 15px;
    font-weight: normal;
}

.center-img {
    display: block;
    margin: auto;
    width: 148px;
}

.center-img img {
    display: block;
    float: left;
    margin-top: 27px;
    width: 100%;
}

button {
    border: none;
    background-color: var(--secondary-color);
    color: var(--background-color);
    font-family: 'Rubik';
    font-weight: bold;
    text-transform: uppercase;
    cursor: pointer;
}

/* ######################### */
/* #         HEADER        # */
/* ######################### */

body header {
    display: block;
    float: left;
    position: relative;
    margin-bottom: 32px;
    border-bottom: 2px solid rgb(var(--highlight-color));
    width: 100%;
    height: 78px;
    z-index: 2;
}

header .menu-btn {
    display: block;
    position: absolute;
    top: 50%;
    left: 20px;
    border-radius: 15px;
    color: var(--background-color);
    transform: translateY(-50%);
    line-height: 30px;
    padding: 0px 24px;
}

header>a {
    display: block;
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    width: 112px;
}

header>a img {
    display: block;
    float: left;
    width: 100%;
}

header nav {
    display: block;
    position: fixed;
    top: 0px;
    left: calc(-100% - 2px);
    border-right: 2px solid rgb(var(--highlight-color));
    background-color: var(--background-color);
    padding: 0px 20px 20px;
    width: calc(100% + 2px);
    height: 100%;
    overflow: auto;
    z-index: 1;
    transition: left 500ms ease-in, box-shadow 500ms ease-in;
}

header nav.open {
    left: 0%;
    transition: left 500ms ease-out, box-shadow 250ms ease-out;
    box-shadow: 0px 0px 1000px 100px rgba(0, 0, 0, 0.5);
}

nav .top-menu {
    display: block;
    float: left;
    position: relative;
    width: 100%;
    height: 78px;
}

.top-menu .close-menu {
    display: block;
    position: absolute;
    top: 50%;
    left: 0px;
    border-radius: 50%;
    background-image: url(../../images/edition-7/close-btn.webp);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 12px 12px;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
}

.top-menu .languages-container {
    display: flex;
    position: absolute;
    top: 50%;
    right: 0px;
    border-radius: 15px;
    background-color: var(--secondary-color);
    transform: translateY(-50%);
    padding: 6px;
}

.languages-container a {
    display: block;
    color: var(--background-color);
    font-family: 'Rubik';
    font-weight: bold;
    text-decoration: none;
    text-transform: uppercase;
    line-height: 18px;
    padding: 0px 6px;
}

.languages-container a.selected {
    text-decoration: underline;
}

.languages-container a+a {
    border-left: 2px solid var(--background-color);
}

nav ul {
    display: block;
    float: left;
    border-top: 2px solid var(--clear-color);
    width: 100%;
}

nav ul li {
    display: block;
    float: left;
    border-bottom: 2px solid var(--clear-color);
    width: 100%;
}

nav ul li a {
    display: block;
    float: left;
    color: var(--clear-color);
    font-family: 'Rubik';
    font-size: 20px;
    font-weight: bold;
    text-decoration: none;
    line-height: 60px;
    width: 100%;
}

nav ul li a.yellow {
    position: relative;
    color: var(--clear-color);
    padding-left: 44px;
}

nav ul li a.yellow:before {
    display: block;
    position: absolute;
    top: 50%;
    left: 0px;
    background-image: url(../../images/edition-7/sprite-menu.webp);
    background-repeat: none;
    background-size: 100% auto;
    transform: translateY(-50%);
    content: '';
    width: 29px;
    height: 29px;
}

nav ul li a.yellow.prize:before {
    background-position: center top;
}

nav ul li a.yellow.history:before {
    background-position: center bottom;
}

nav ul li.old a {
    color: #8A6BD1;
    font-family: 'Gothic-Century';
    font-weight: normal;
}

nav ul li.old+li.old a {
    padding-left: 44px;
}

nav .legal-link {
    margin: 40px 0px 30px;
    background-color: transparent;
    font-family: 'Rubik';
    font-size: 17px;
    font-weight: bold;
    text-align: left;
    text-decoration: underline;
    text-transform: capitalize;
    width: 100%;
}

nav .legal-link+.legal-link {
    margin: 0px 0px 15px;
}

nav .banner-menu {
    display: block;
    margin: auto;
    width: min(95%, 320px);
}

.banner-menu img {
    display: block;
    float: left;
    margin-top: 33px;
    width: 100%;
}

/* ######################### */
/* #         MAIN          # */
/* ######################### */

body main {
    display: block;
    float: left;
    width: 100%;
}

main .how-to-container {
    display: block;
    float: left;
    margin-top: 45px;
    border-radius: 15px;
    background-color: var(--clear-color);
    background-image: url(../../images/edition-7/logo-condis-shade.webp);
    background-repeat: no-repeat;
    background-position: 10px 8px;
    background-size: 28px 22px;
    text-align: center;
    padding: 20px 25px 28px;
    width: 100%;
}

.how-to-container h3 {
    display: block;
    float: left;
    color: var(--background-color);
    font-size: 15px;
    font-weight: normal;
    line-height: 18px;
    padding: 0px 25px;
    width: 100%;
}

.how-to-container h3 strong {
    color: inherit;
    font-family: inherit;
    font-size: inherit;
}

.how-to-container p {
    display: block;
    float: left;
    margin-top: 8px;
    color: var(--background-color);
    font-size: 17px;
    font-weight: bold;
    line-height: 19px;
    width: 100%;
}

.how-to-container a {
    display: inline-block;
    margin-top: 18px;
    border-radius: 20px;
    background-color: var(--secondary-color);
    color: var(--background-color);
    font-family: 'Rubik';
    font-size: 13px;
    font-weight: bold;
    text-decoration: none;
    text-transform: uppercase;
    line-height: 40px;
    padding: 0px 40px;
}
.how-to-container a.point-list,
.how-to-container a.prize-list,
.how-to-container a.my-prize-list {
    display: inline-block;
    margin-top: 18px;
    border-radius: 20px;
    background-color: var(--secondary-color);
    color: var(--background-color);
    font-family: 'Rubik';
    font-size: 15px;
    font-weight: bold;
    text-decoration: none;
    text-transform: uppercase;
    line-height: 1.5em;
    padding: 8px 35px;
}



/* ######################### */
/* #        FOOTER         # */
/* ######################### */

body footer {
    display: block;
    float: left;
    margin-top: 40px;
    background-color: var(--secondary-color);
    padding: 22px 0px;
    width: 100%;
}

footer .footer-logo {
  display: block;
  margin: auto;
  color: var(--background-color);
  width: 78px;
}

.footer-logo img {
    display: block;
    margin: auto;
    width: 78px;
    height: 78px;
}

/* ######################### */
/* #        BANNERS        # */
/* ######################### */

body .background-popup {
    display: none;
    position: fixed;
    top: 0px;
    left: 0px;
    background-color: #0f1c1adb;
    width: 100%;
    height: 100dvh;
    overflow: auto;
    z-index: 2;
}

body.monday-modal-open .background-popup.monday-popup,
body.finish-modal-open .background-popup.finish-popup {
    display: block;
}

.background-popup .popup {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    border-radius: 15px;
    background-color: var(--clear-color);
    transform: translate(-50%, -50%);
    padding: 52px 27px 37px;
    width: min(90%, 320px);
}

.background-popup .popup.legal-popup {
    border-radius: 0px;
    background-color: rgb(var(--highlight-color));
    padding: 0px 3px 3px;
}

.background-popup .popup h2 {
    display: block;
    float: left;
    color: var(--background-color);
    font-family: 'Rubik';
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    text-transform: uppercase;
    text-wrap: balance;
    line-height: 36px;
    width: 100%;
}

.background-popup.monday-popup .popup h2 {
    font-size: 22px;
    line-height: 27px;
}

.background-popup .popup h2 span {
    color: var(--secondary-color);
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
}

.background-popup .popup .popup-image {
    display: block;
    margin: auto;
    width: min(100%, 145px);
}

.background-popup.monday-popup .popup .popup-image {
    width: min(100%, 117px);
}

.popup .popup-image img {
    display: block;
    float: left;
    margin-top: 20px;
    width: 100%;
}

.background-popup .popup p {
    display: block;
    float: left;
    margin-top: 20px;
    color: var(--background-color);
    font-size: 17px;
    text-align: center;
    text-wrap: balance;
    line-height: 22px;
    width: 100%;
}

.background-popup .popup p.small {
    margin-top: 15px;
    font-size: 14px;
    line-height: 18px;
}

.background-popup .popup p strong {
    display: block;
    color: inherit;
    font-family: inherit;
    font-size: inherit;
    font-weight: bold;
}

.background-popup.monday-popup .popup p strong {
    display: inline;
}

.background-popup .popup p.small span {
    display: block;
    float: left;
    margin-top: 16px;
    color: inherit;
    font-family: inherit;
    font-size: 16px;
    font-weight: bold;
    width: 100%;
}

.background-popup .popup .btn-container {
    display: block;
    margin: auto;
    width: min(100%, 214px);
}

.popup .btn-container a {
    display: block;
    float: left;
    margin-top: 18px;
    border-radius: 20px;
    background-color: var(--secondary-color);
    color: var(--background-color);
    font-family: 'Rubik';
    font-size: 15px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    line-height: 40px;
    width: 100%;
}

.background-popup .popup .close-popup {
    display: block;
    position: absolute;
    top: 13px;
    right: 15px;
    border-radius: 50%;
    background-color: var(--secondary-color);
    background-image: url(../../images/edition-7/close-btn.webp);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 12px 12px;
    width: 26px;
    height: 26px;
}

.background-popup .popup.legal-popup h2 {
    display: block;
    float: left;
    color: var(--background-color);
    font-family: 'Rubik';
    font-size: 24px;
    font-weight: bold;
    text-align: left;
    line-height: 56px;
    padding: 0px 64px 0px 22px;
    width: 100%;
}

.popup.legal-popup .legal-text-container {
    display: block;
    float: left;
    background-color: var(--clear-color);
    padding: 0px 20px 20px;
    width: 100%;
    overflow: auto;
    max-height: 460px;
}

.legal-text-container>* {
    text-align: left !important;
    text-wrap: wrap !important;
}

.legal-text-container a,
.legal-text-container strong,
.legal-text-container em {
    display: inline !important;
    color: inherit;
    font-family: inherit;
    font-size: inherit;
}

.legal-text-container ul {
    display: block;
    float: left;
    margin-top: 15px;
    padding-left: 17px;
}

.legal-text-container li {
    color: var(--background-color);
    font-family: 'Gothic-Century';
    font-size: 17px;
}