@font-face {
    font-family: "Primary";
    src: url("../fonts/ApercuPro-Regular.woff2");
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: "Primary";
    src: url("../fonts/ApercuPro-Bold.woff2");
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: "Secondary";
    src: url("../fonts/FrizQuadrataGwRO-Bold.woff2");
    font-display: swap;
}

@font-face {
    font-family: "LifeArtois-Ro";
    src: url("../fonts/LifeArtois-RO.woff2");
    font-display: swap;
}

@font-face {
    font-family: "Artois-Isabella";
    src: url("../fonts/ArtoisIsabella-Serif.woff2");
    font-display: swap;
}

@font-face {
    font-family: "Artois-Sebastian";
    src: url("../fonts/ArtoisSebastian-Sans.woff2");
    font-display: swap;
}

:root,
::before,
::after {
    --color-primary: #000;
    --color-red: #d50032;
    --grid-container-max-width: 115rem;
}

.snackbar__item, .snackbar__message {
    color: var(--color-white) !important;
}

.snackbar__item::before, .snackbar__item::after {
    opacity: 1 !important;
}


.font-secondary {
    font-family: "Secondary";
}

.font-isabella {
    font-family: "Artois-Isabella";
}

.font-sebastian {
    font-family: "Artois-Sebastian";
}

.underline a {
    color: var(--color-white) !important;
}

body {
    color: var(--color-primary);
    background: #F5F0E6;
    height: 100%;
    font-family: "Primary";
}

.my-custom-container {
    width: 100vw !important;
    max-width: unset !important;
}


.color-red {
    color: var(--color-red);
}

.text-shadow {
    text-shadow: -1px -1px 4px rgba(255, 255, 255, 0.25),
                    0 -1px 4px rgba(255, 255, 255, 0.25), 
                  1px -1px 4px rgba(255, 255, 255, 0.25), 
                     1px 0 4px rgba(255, 255, 255, 0.25), 
                   1px 1px 4px rgba(255, 255, 255, 0.25), 
                     0 1px 4px rgba(255, 255, 255, 0.25), 
                  -1px 1px 4px rgba(255, 255, 255, 0.25), 
                    -1px 0 4px rgba(255, 255, 255, 0.25);
}

.display-inline-block {
    display: inline-block;
}

.premiu-mic {
    margin-top: 2rem;
}

.svg-dec {
    position: fixed;
    right: 0;
    bottom: 0;
    width: 100vh;
    height: 100vh;
    z-index: -2;
}

.img-dec {
    height: 100vh;
    width: 100vw;
    position: fixed;
    left: 0;
    top: 0;
    z-index: -2;
    object-fit: contain !important;
}

.border-gradient {
    border-radius: 2rem;
    position: relative;
}

.custom-header {
    font-weight: 700;
    z-index: 9999;
    min-height: 2rem;
    max-width: var(--grid-container-max-width);
    background: var(--color-red);
    text-transform: uppercase;
    position: relative;
    border-radius: .5rem;
}

.custom-header ul {
    height: 100%;
    list-style-type: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    font-size: .875rem;
    row-gap: .5rem;
    padding: .5rem 2rem;
}

.custom-header ul li a {
    display: block;
    color: var(--color-white);
    position: relative;
}

.custom-header ul li a::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: .0625rem;
    background: var(--color-red);
    transition: var(--transition);
    transform: scaleX(0);
    transform-origin: left;
}

.custom-header .back {
    position: absolute;
    z-index: 999;
    display: flex;
    align-items: center;
    gap: .75rem;
    left: 1.375rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--color-white);
}

.back {
    cursor: pointer;
    align-items: center;
    gap: .75rem;
    font-size: .875rem;
}

.back svg{
    height: 1.5rem;
    width: .75rem;
}

.custom-header .back svg * {
    fill: var(--color-white);
}

.back.back--2 svg * {
    fill: var(--color-primary);
}

.back.back--2 {
    font-weight: 700;
}

.background-cnt {
    pointer-events: none;
    position: fixed;
    width: 100%;
    top: 5vh;
    left: 0;
    height: calc(100vh - 10vh);
}

.background-cnt .image-container {
    height: 100%;
    border-radius: .5rem;
}

.section-choose-market {
    padding: 5vh 0;
}

.section-choose-market .choose-market {
    padding-bottom: 15vh;
    padding-top: calc(5vh + 2rem);
    position: relative;
    text-align: center;
}

.section-choose-market .font-sebastian:not(.font-sebastian-2) {
   color: var(--color-red);
}

.section-choose-market .choose-market .market {
    display: inline-block;
    padding: 1.5rem;
}

.section-choose-market .choose-market .market svg {
    width: 100%;
    transition: var(--transition);
    max-width: 6.25rem;
}

.section-choose-market .choose-market .market svg.cf-logo {
    max-width: 15rem;
}

.section-choose-market .buy-now{
    display: flex;
    align-items: center;
    padding: 1rem 2rem;
    gap: 1.25rem;
}

.section-choose-market .choose-market .market-cnt {

    background: var(--color-white);
    border-radius: .5rem;

}

.section-choose-market .buy-now .buy-now__market-icon {
    height: 5rem;
    width: 5rem;
    min-height: 5rem;
    min-width: 5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-background);
    border-radius: 50%;
    border: solid .0625rem var(--color-primary);
    padding: .5rem;
}

.section-choose-market .buy-now .buy-now__market-icon svg {
    transition: var(--transition);
    height: 5rem;
    width: 5rem;
}

.section-choose-market .disclaimer {
    left: 50%;
    top: 50%;
    transform-origin: center;
    transform: translate(-47.5%, -50%) rotate(-90deg);
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
}

.section-choose-market .disclaimer img {
    max-width: 6.25rem;
}

.section-choose-market .prizes-cnt, .section-choose-market .form-container {
    padding-top: calc(5vh + 2rem);
}

.section-choose-market .prizes-cnt .all-prizes {
    margin: 5rem 0;
}

.section-choose-market .prizes-cnt .steps .steps__index {
    font-size: 3rem;
    margin-top: -1.5rem;
}

.step-cnt img{

    width: 2.5rem;

}

footer {
    margin-top: 0 !important;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  appearance: none;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    transition: background-color 5000s ease-in-out 0s;
    -webkit-text-fill-color: var(--color-primary)!important;
}


.form-age-cnt form{
    padding: 0 1.25rem;
}

.form-age-cnt input {
    width: 100%;
    text-align: center;
    background: var(--color-white);
    border: none !important;
    outline: none !important;
    font-size: 2rem;
    border-bottom: solid .0625rem var(--color-primary) !important;
    color: var(--color-primary) !important;

}

.form-age-cnt button {
    width: 100% !important;
    background: var(--color-primary);
    border: none;
    outline: none;
    color: var(--color-white);
    border-radius: 2rem;
    cursor: pointer;
    margin-top: 1rem !important;
    transition: var(--transition);
}

.form-age-cnt input[type='checkbox'] {
    display: none;
}

.form-age-cnt input[type='checkbox']:checked + .virtual-checkbox .checkbox__box svg {
    opacity: 1;
}

.form-age-cnt .virtual-checkbox {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin-top: 1rem;
    cursor: pointer;
}

.form-age-cnt .virtual-checkbox .checkbox__box {
    display: block;
    min-height: 1rem;
    min-width: 1rem;
    height: 1rem;
    width: 1rem;
    border: solid .0625rem var(--color-primary);
    position: relative;
}

.form-age-cnt .virtual-checkbox .checkbox__box svg {
    opacity: 0;
    height: 100%;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    transition: var(--transition);
}

.section-choose-market .market-footer {
    position: relative;
    padding: 1rem;
}

.section-choose-market .market-footer::before{
    content: "";
    position: absolute;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    z-index: -1;
    opacity: .75;
}

.section-choose-market form input,
.section-choose-market form select {
    outline: none;
    border: solid .15rem var(--color-red);
    height: 2.5rem;
    padding: 0 .75rem;
    background: var(--color-white);
    border-radius: .5rem;
}

.section-choose-market form .checkbox-virtual .checkbox-virtual__checkbox {
    border-color: var(--color-primary);
}

.section-choose-market form .checkbox-virtual .checkbox-virtual__checkbox svg * {
    fill: var(--color-primary);
}

.section-choose-market form .checkbox-virtual .checkbox-virtual__text {
    color: var(--color-primary);
}

.section-choose-market form select,
.section-choose-market form select option {
    color: var(--color-primary);
}

.section-choose-market form button {
    width: auto;
    margin-top: 0;
    padding: 1rem 3rem;
}

.section-choose-market form .ticket-image {
    background: var(--color-white);
    border-radius: .25rem;
    display: flex;
    align-items: center;
    height: 2.5rem;
    padding: 0 .75rem;
    gap: 1rem;
    cursor: pointer;
    border: solid .15rem var(--color-red);
    font-weight: 400 !important;
}

.snackbar__message {
    color: var(--color-black);
    font-weight: 700;
}

.section-choose-market form .ticket-image input {
    display: none;
}

.section-choose-market form .ticket-image svg {
    width: 2rem;
    height: 1.5rem;
}

.section-choose-market form .ticket-image svg *{
    fill: var(--color-red);
}

.section-choose-market form input,
.section-choose-market form label:not([data-active]) {
    color: var(--color-primary);
}

.section-choose-market .market-footer .content .disclaimer {
    justify-content: flex-end;
}

.custom-footer {
    font-weight: 700;
    color: var(--color-white);
    background: var(--color-red);
    padding: 1.25rem 0;
    border-radius: .5rem;
}

.custom-footer ul{
    list-style-type: none;
    display: flex;
    justify-content: center;
    gap: 1.5rem;
}

.underline a,
.underline span {
    cursor: pointer;
    position: relative;
    color: var(--color-white)
}

.underline a::after,
.underline span::after,
.underline a::before,
.underline span::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    height: .0625rem;
    width: 100%;
    background: var(--color-white);
    transition: var(--transition);
    transform-origin: left;
}

.underline a::before,
.underline span::before {
    transform: scaleX(0);
    transition-delay: 100ms;
    transform-origin: right;
}

.underline.c-black a::after,
.underline.c-black span::after,
.underline.c-black a::before,
.underline.c-black span::before {
    background: var(--color-black);
}

.c-title {
    font-size: 1.5rem;
    margin: 4rem 0;
    font-weight: 700;
}

.line-height-1 {
    line-height: 1;
}

#modal {
    color: var(--color-black);
    font-weight: 700;
}

#modal .modal__btn-close {
    background-color: var(--color-primary);
    padding-bottom: .25rem;
}

#modal.contact-modal .modal__content-container {
    padding: 2rem 2rem;
}

#modal.contact-modal a.underline span{
    color: var(--color-primary) !important;
}

body:not([data-market="carrefour"]) .carrefour-display,
body:not([data-market="kaufland"]) .kaufland-display,
body:not([data-market="mega"]) .mega-display,
body:not([data-market="cora"]) .cora-display{
    display: none;
}

.btn {
    text-transform: uppercase;
    font-weight: 700;
    color: var(--color-white);
    background: var(--color-red);
    border-radius: .5rem;
    font-size: 2rem;
    padding: 1rem 2rem;
    line-height: 1;
    display: inline-flex;
    transition: var(--transition);
    cursor: pointer;
    outline: none;
    border: none;
}

.prize-text {
    padding: 0 3rem;
    line-height: 1.25;
}

.line-height-1-25{
    line-height: 1.25;
}

.ticket-image[data-invalid]{
    border-color: var(--color-error) !important;
    border-style: solid;
    animation: shake 500ms linear;
}

.section-choose-market .before,
.section-choose-market .after {
    padding: 10vh 0;
}

.section-choose-market .before .title,
.section-choose-market .after .title {
    font-size: 2rem;
}

.section-choose-market .title{
    font-size: 4rem;
    font-weight: 700;
    text-transform: uppercase;
    margin: 3rem 0 1rem 0;
}

body:not([data-interval="before"]) .before,
body:not([data-interval="after"]) .after,
body:not([data-interval="on-time"]) .on-time {
    display: none;
}

.datepicker-cell.day:not(.disabled) {
    color: var(--color-white);
    background: var(--color-red);
}

.datepicker {
    color: var(--color-primary);
}

.text-uppercase {
    text-transform: uppercase;
}

#modal.modal-response .modal__content-container {
    background: rgba(213, 0, 50, .75);
    backdrop-filter: blur(.25rem);
    color: var(--color-white);
    text-align: center;
    padding: 3rem;
    font-size: 1.5rem;
}

#modal.modal-response .modal__btn-close {
    transform: none;
    background: transparent;
    font-size: 3rem;
    font-weight: 400;
    width: 3rem;
    height: 3rem;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: -.5rem;
}

#modal.contact-modal .modal__content-container .modal__content,
#modal.modal-response .modal__content-container .modal__content {
    overflow: hidden;
}

@media (min-width: 64em) {

    .form-age-cnt button:hover {
        background: var(--color-red) !important;
    }

    .btn:hover{
        background: var(--color-primary);
        color: var(--color-white);
    }

    .custom-header .back {
        position: absolute;
    }

    .custom-header ul li a:hover::before {
        transform: none;
    }

    
    .section-choose-market .choose-market .market:hover svg,
    .section-choose-market .buy-now .buy-now__market-icon:hover svg {
        transform: scale(1.05);
    }

    .underline:hover a::after,
    .underline:hover span::after {
        transform: scaleX(0);
    }

    .underline:hover a::before,
    .underline:hover span::before {
        transform: scaleX(1);
    }

    #modal.contact-modal .modal__content-container .modal__content {
        max-width: 40vw;
    }

}

select {
    appearance: none;
    background: var(--color-white);
    border-radius: 0;
}

@media (max-width: 64em) {
    
    .c-title {

        font-size: 1.25rem;

    }

    .section-choose-market .prizes-cnt, .section-choose-market .form-container {
        padding-top: 2rem;
    }

    .section-choose-market .prizes-cnt .all-prizes {
        margin-top: 2rem;
    }


    .small-display-block {
        display: block;
    }

    .langs-2 {
        margin-bottom: 2rem;
    }

    .custom-header .back {
        color: var(--color-white);
    }

    .custom-header .back svg * {
        fill: var(--color-white);
    }

    .section-choose-market .choose-market {
        padding: 3rem 0;
    }

    .section-choose-market .choose-market .market {
        height: 7rem;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .section-choose-market .choose-market .market svg.k-logo,
    .section-choose-market .choose-market .market svg.m-logo,
    .section-choose-market .choose-market .market svg.co-logo,
    .section-choose-market .choose-market .market svg.mega-logo {
        width: 4.9rem;
    }

    .section-choose-market .choose-market .market svg.cf-logo {
        width: 11.5rem;
        max-width: 100%;
    }

    .section-choose-market .disclaimer {
        text-align: center;
        display: block;
    }

    .section-choose-market .disclaimer img {
        margin-top: .5rem;
    }

    .custom-header{
        display: flex;
        align-items: center;
        justify-content: flex-end;
        padding: 0 .9375rem;
        position: fixed;
        height: auto;
        top: .9375rem;
        left: .9375rem;
        width: calc(100% - 1.875rem);
        background: transparent !important;
        transition: var(--transition);
    }

    .custom-header, .custom-header[data-active] {
        background: var(--color-red) !important;
    }

    .custom-header ul {
        font-size: 1rem;
        transition: var(--transition);
        position: absolute;
        height: auto;
        width: 100%;
        bottom: 0;
        right: 0;
        display: block;
        background: var(--color-red);
        border-radius: 0 0 .5rem .5rem;
        transform: translateY(90%);
        text-align: left;
        opacity: 0;
        pointer-events: none;
        padding: 2rem .9375rem;
    }

    .custom-header ul li + li {
        margin-top: 1rem;
    }

    .custom-header .hamburger {
        height: 2.5rem;
        width: 2.5rem;
        position: relative;
        border-radius: 50%;
    }

    .custom-header ul li a {
        color: var(--color-white);
    }

    .custom-header .hamburger::after,
    .custom-header .hamburger::before {
        content: "";
        position: absolute;
        height: .0625rem;
        width: 75%;
        background: var(--color-white);;
        left: 50%;
        transform: translateX(-50%);
        transition: var(--transition);
    }

    .custom-header .hamburger::after {
        top: calc(50% - .25rem);
    }

    .custom-header .hamburger::before {
        top: calc(50% + .25rem);
    }

    .custom-header[data-active] .hamburger::after{
        transform: translate(-50%, .25rem) rotate(-45deg);
    }

    .custom-header[data-active] .hamburger::before{
        transform: translate(-50%, -.25rem) rotate(45deg);
    }

    .custom-header[data-active] ul {
        opacity: 1;
        pointer-events: all;
    }

    .custom-footer ul {
        display: block;
        text-align: center;
    }

    .custom-footer ul li + li{
        margin-top: 1rem;
    }
    

    .c-title {
        line-height: 1.2;
    }
    
    #modal.contact-modal .modal__container{
        width: calc(99vw - 2rem);
    }

    .section-choose-market {
        padding-top: 2rem;
    }

    .section-choose-market form button {
        width: 100%;
        justify-content: center;
    }

    .btn {
        font-size: 1.5rem;
    }

    .section-choose-market .market-footer {
        flex-wrap: wrap;
        justify-content: center;
        gap: 1.875rem;
        padding: 1.875rem 0;
        text-align: center;
    }

    .section-choose-market .market-footer .content {
        padding: 0;
    }

    .section-choose-market .disclaimer {
        position: static;
        transform: none;
        margin-top: 1rem;
    }

    .section-choose-market .market-footer .content .disclaimer {
        margin-bottom: 1.875rem;
    }

    .section-choose-market .before,
    .section-choose-market .after {
        padding: 10vh 0;
    }

    .section-choose-market .title{
        font-size: 2rem;
    }

    .section-choose-market .market-footer::before {
        opacity: 1;
    }

    #modal.modal-response .modal__content-container {
        font-size: 1.5rem;
        padding: 3rem 1rem;
    }

    .background-cnt {
        position: static;
        height: 50vh;
    }

}

.langs-message {
    font-size: 1.25rem;
}

@media all and (min-width: 1023px)  {

    .large-font-64 {

        font-size: 4rem;

    }

    .large-display-block {
        display: block;
    }
    .custom-header{
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
    }
}

@media all and (min-width: 1023px) and (max-width: 1480px) {
    html {
        font-size: 75%;
    }
}

@media all and (min-width: 1536px) and (-webkit-min-device-pixel-ratio: 1.25) {
    html {
        font-size: 1.7075773746vmin;
    }
}

@media all and (min-width: 1280px) and (-webkit-min-device-pixel-ratio: 1.5) {
    html {
        font-size: 1.7075773746vmin;
    }
}

@media all and (min-width: 1097px) and (-webkit-min-device-pixel-ratio: 1.75) {
    html {
        font-size: 1.7075773746vmin;
    }
}