/* ----------------- Top ----------------- */

.top {
    margin: 0 0 2.0rem 0;
    width: 100%;
    height: 62.6rem;
}

.top .background {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-position: top center;
    background-image: url("/public/images/soutez/assets/bg-top.svg?v=2");
}

.kaufland .top .background {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-position: center 4rem;
    background-image: url("/public/images/soutez/assets/bg-top-kaufland.jpg?v=1");
}

.top .login,
.top .logged {
    display: flex;
    margin: 0;
    width: 100%;
    height: 4.0rem;
    background-color: #F2F4FB;
    justify-content: center;
    align-items: center;
}

.top .logged {
    padding: 0rem 3.3rem;
    flex-wrap: nowrap;
    justify-content: space-between;
}

.top .loginLink {
    display: flex;
    gap: 1.6rem;
    align-items: center;
    justify-content: center;
}

.top .login .icon {
    width: 2.2rem;
    height: 2.2rem;
    background-image: url("/public/images/soutez/icons/user.svg");
}

.top .login .text,
.top .logged .name {
    color: var(--clr-black);
    font-size: 1.6rem;
    line-height: 2.2rem;
    font-weight: 600;
    text-transform: uppercase;
}

.top .logged .name {
    padding-left: 3.6rem;
    background-image: url("/public/images/soutez/icons/user.svg");
    background-position: center left;
}

.top .logged .logout {
    width: 2.2rem;
    height: 2.2rem;
    background-image: url("/public/images/soutez/icons/logout.svg?v=2");
}

.top .headerLogo {
    width: 31.0rem;
    height: 16.9rem;
    background-image: url("/public/images/soutez/assets/logo-top.svg");
}

.top .buttonLink {
    bottom: 0rem;
    left: 50%;
    transform: translateX(-50%);
    position: absolute;
    width: 20.8rem;
}

.top .button {
    padding: 1.6rem 5.5rem;
    color: var(--clr-blue);
    font-size: 1.6rem;
    background-color: var(--clr-yellow);
    border: none;
    text-transform: uppercase;
    box-shadow: none;
}

.top .buttonLink .arrow {
    height: 100%;
    width: 100%;
    background-position: right center;
    background-image: url("/public/images/soutez/icons/arrow-down-blue.svg");
    background-size: 1.5rem 1.5rem;
    text-align: left;
}




/* ----------------- Switch Preference ----------------- */

#switch .switchContainer {
    display: flex;
    padding: 1.6rem 0 1.8rem 0;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: flex-end;
}

#switch .item {
    display: flex;
    width: 15.0rem;
    height: 10.0rem;
    flex-wrap: nowrap;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-end;
}


#switch .item .image {
    margin-bottom: 0.6rem;
    width: 100%;
    transition: background-image 0.4s;
}

#switch .item.pub .image {
    height: 5.3rem;
    background-image: url('/public/images/soutez/icons/switch-pub.svg');
}

#switch .item.store .image {
    height: 4.6rem;
    background-image: url('/public/images/soutez/icons/switch-store.svg');
}

#switch .item.pub.active .image {
    background-image: url('/public/images/soutez/icons/switch-pub-active.svg');
}

#switch .item.store.active .image {
    background-image: url('/public/images/soutez/icons/switch-store-active.svg');
}


#switch .item .name {
    color: var(--clr-blue);
    font-size: 1.6rem;
    line-height: 3.4rem;
    font-weight: 800;
    text-transform: uppercase;
    background-color: #F2F4FB;
    text-wrap: nowrap;
    transition: color 0.5s, background-color 0.5s;
}

#switch .item.pub .name {
    border-radius: 2.0rem 0 0 2.0rem;
}

#switch .item.store .name {
    border-radius: 0 2.0rem 2.0rem 0;
}

#switch .item.active .name {
    color: #F2F4FB;
    background-color: var(--clr-blue);
}




/* ----------------- How to participate? ----------------- */

.rules {
    display: flex;
    padding: 1.6rem 2.6rem 1.8rem 2.6rem;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 3rem;
}

.rules .item {
    display: flex;
    height: 6rem;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 2.6rem;
}

.rules .item .number {
    min-width: 3.5rem;
    width: 3.5rem;
    color: var(--clr-red);
    font-family: 'Cora', sans-serif;
    font-size: 1.6rem;
    line-height: 3.5rem;
    font-weight: 500;
    text-align: center;
    background-image: url('/public/images/soutez/assets/how-to-circle.svg');
}

.rules .item .image {
    min-width: 5.6rem;
    width: 5.6rem;
    height: 5.7rem;
}

.rules .item1 .image {
    background-image: url('/public/images/soutez/assets/how-to-img-01.png');
}

.kaufland .rules .item1 .image {
    background-image: url('/public/images/soutez/assets/how-to-img-01-kaufland.jpg');
    transform: scale(1.36);
}

.rules .item2 .image {
    background-image: url('/public/images/soutez/assets/how-to-img-02.svg');
}

.rules.store .item2 .image {
    background-image: url('/public/images/soutez/assets/how-to-img-03.svg');
}

.kaufland .rules .item2 .image {
    background-image: url('/public/images/soutez/assets/how-to-img-03.svg');
}

.rules .item3 .image {
    background-image: url('/public/images/soutez/assets/how-to-img-03.svg');
}

.rules.store .item3 .image {
    background-image: url('/public/images/soutez/assets/how-to-img-05.svg');
}

.kaufland .rules .item3 .image {
    background-image: url('/public/images/soutez/assets/how-to-img-05.svg');
}

.rules .item4 .image {
    background-image: url('/public/images/soutez/assets/how-to-img-04.svg');
}

.rules .desc {
    color: var(--clr-black);
    font-size: 1.6rem;
    line-height: 2.2rem;
    font-weight: 400;
    text-align: left;
    text-transform: uppercase;
}

.rules .desc a,
.rules .desc a:hover, 
.rules .desc a:visited {
    color: var(--clr-blue);
    text-decoration: underline;
}

.rules .dottedLine {
    position: absolute;
    top: 0;
    left: 2.6rem;
    margin: 4.5rem 1.75rem 0 1.75rem;
    position:absolute;
    height: 75%;
    width: 0;
    border-left: dashed 0.1rem #2A41A433;
}


/* ----------------- Photo form ----------------- */

#formCont .text {
    margin-bottom: 2.6rem;
    color: var(--clr-dark-black);
    font-size: 1.8rem;
    line-height: 2.2rem;
    font-weight: 400;
}

#formCont .text a,
#formCont .text a:hover,
#formCont .text a:visited {
    color: var(--clr-blue);
}


/* ----------------- Lets Go ----------------- */

#letsGo .lightBlue {
    padding-top: 2.4rem;
    padding-bottom: 2.4rem;
}

#letsGo .text {
    color: #000000;
    font-size: 1.8rem;
    line-height: 2.2rem;
    font-weight: 400;
}

#letsGo .text.smaller {
    color: #999999;
    font-size: 1.6rem;
    line-height: 1.8rem;
}

#letsGo form {
    
}

#letsGo .button,
#letsGo .uploading,
#letsGo .photoInput {
    margin: 2.6rem 0;
    transition: background-color 0.4s, border 0.4s;
}

#letsGo .button,
#letsGo .uploading {
    box-shadow: none;
}

#letsGo .photoInput {
    margin: 2.6rem 0 -1rem 0;
}

#letsGo .button.disabled {
    background-color: #C7C7C7;
    border: solid #C7C7C7 0.2rem;
}

#letsGo .background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

#letsGo .background .item1 {
    position: absolute;
    top: -2rem;
    left: -0.8rem;
    width: 6.4rem;
    height: 8.2rem;
    background-image: url("/public/images/soutez/assets/beer-decor-01.png?v=1");  
}

#letsGo .background .item2 {
    position: absolute;
    top: 10rem;
    right: -1.3rem;
    width: 5.6rem;
    height: 6.6rem;
    background-image: url("/public/images/soutez/assets/beer-decor-02.png?v=1");  
}

#letsGo .foodBool {
    display: flex;
    margin-top: 4.2rem;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.2rem;
}

#letsGo .foodBool .left {
    padding-bottom: 1.6rem;
}

#letsGo .foodBool .right {
    margin-top: -0.9rem;
    padding-right: 1.6rem;
}

#letsGo .foodBool .right .meal {
    width: 13.8rem;
    height: 10.4rem;
    background-image: url("/public/images/soutez/assets/meal.jpg?v=1");  
}


/* ----------------- Winners ----------------- */

#winners .winnersContainer .category .title {
    display: block;
    margin: 2.6rem auto 1.2rem auto;
    color: var(--clr-black);
    font-size: 2.2rem;
    line-height: 2.8rem;
    font-weight: 800;
    text-transform: uppercase;
}

#winners .winnersContainer .items {
    display: flex;
    margin-left: auto;
    margin-right: auto;
    max-width: 80%;
    gap: 0 2.6rem;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

#winners .winnersContainer .items .item {
     color: var(--clr-black);
    font-size: 1.6rem;
    line-height: 2.6rem;
    font-weight: 400;
    text-align: left;
    text-transform: uppercase;
}


/* ----------------- Prices ----------------- */

#prices {
    margin-top: 1.0rem;
}


/* ----------------- Login ------------------------ */

#login .h3 {
    margin-top: 3.0rem;
    color: var(--clr-blue-bright);
    font-size: 2.8rem;
    line-height: 3.5rem;
    font-weight: 800;
    text-transform: uppercase;
}

#login form {
    margin: 0.0rem 0 0 0;
}

#login form .formBackground {
    position: absolute;
    margin: -1.7rem;
    bottom: 0;
    left: 0;
    width: calc(100% + 3.4rem);
    height: 56.0rem;
    background-color: #F2F4FB;
    border-radius: 0 0 4.5rem 4.5rem;
}


/* ----------------- Info and Error pages----------------- */

#status,
#error {

}

#status.kaufland,
#error.kaufland {
    background-image: url("/public/images/soutez/assets/bg-top-kaufland.jpg?v=2");
}

#status .h3,
#error .h3,
#underage .h3 {
    margin-bottom: 2.6rem;
    font-size: 4.0rem;
    line-height: 5.0rem;
    font-weight: 900;
    text-transform: uppercase;
}

#error .h3,
#underage .h3 {
    margin-bottom: 2.0rem;
    font-size: 3.2rem;
    line-height: 4.0rem;
    text-transform: none;
}

#status.kaufland .h3,
#error.kaufland .h3 {
    text-shadow: 0.4rem 0.4rem 1.6rem #000000;
}

#status .text,
#error .text {
    margin-bottom: 4.0rem;
    font-size: 1.8rem;
    line-height: 2.3rem;
    font-weight: 400;
}

#status.kaufland .text,
#error.kaufland .text {
    font-size: 2.0rem;
    line-height: 2.3rem;
    font-weight: 600;
    text-shadow: 0.2rem 0.2rem 1.2rem #000000;
    opacity: 9;
}

#error .text {
    opacity: 50%;
}

#status .button,
#error .button {
    padding: 1.6rem 5.3rem;
    color: var(--clr-blue);
    font-size: 1.6rem;
    line-height: 2.0rem;
    font-weight: 900;
    background-color: var(--clr-yellow);
    border: none;
    text-transform: uppercase;
}

#error .button {
    padding: 1.6rem 6.4rem 1.6rem 3.7rem;
    background-image: url('/public/images/soutez/icons/arrows-double.svg?v=1');
    background-size: 1.5rem 1.5rem;
    background-position: right 3.7rem center;  
    text-align: left;
}

#error .bigCross,
#underage .bigCross {
    margin-bottom: 2.0rem;
    width: 100%;
    height: 7.7rem;
    background-image: url('/public/images/soutez/icons/cross-big.svg?v=1');
}


/* ----------------- Win Page ----------------- */
#win {
    padding-top: 12.6rem;
    padding-bottom: 3.8rem;
    margin-bottom: 2.6rem;
    background-position-y: bottom;
    background-color: #1B449C;
    background-image: url(/public/images/soutez/assets/bg-top-alter.svg?v=1);
}

#win .h3 {
    margin-bottom: 2.6rem;
    text-transform: uppercase;
}

#win .h3 span {
    color: var(--clr-white);
    font-size: 2.2rem;
    line-height: 2.2rem;
    font-weight: 800;
    text-transform: uppercase;
}

#win .priceName {
    margin: 0 auto 1.6rem auto;
    width: 66%;
    color: var(--clr-yellow);
    font-size: 2.0rem;
    line-height: 2.2rem;
    font-weight: 800;
    text-transform: uppercase;
}

#win .price {
    margin-bottom: 3.2rem;
    height: 13.0rem;
    width: 13.0rem;
}

#win .price.noWin {
    background-image: url('/public/images/soutez/prices/sad.svg?v=1');
}

#win .text {
    margin-bottom: 3.2rem;
}

#win .buttonLink.back .button {
    padding: 1.6rem 5.3rem;
    color: var(--clr-blue);
    font-size: 1.6rem;
    line-height: 2.0rem;
    font-weight: 900;
    background-color: var(--clr-yellow);
    border: none;
    text-transform: uppercase;
}

#win .infoForm {
    padding: 1.6rem;
    background-color: #F2F4FB;
    width: calc(100% + 3.4rem);
    border-radius: 3.4rem 3.4rem 4.5rem 4.5rem;
}

#win .infoForm {
    
}


/* ----------------- Download ticket ----------------- */

#ticket .priceDisplay,
#voucher .priceDisplay {
    display: flex;
    margin-bottom: 4rem;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    flex-direction: column;
}

#ticket .priceDisplay .image,
#voucher .priceDisplay .image {
    width: 60%;
    height: 16rem;
}

#ticket .priceDisplay .name,
#voucher .priceDisplay .name {
    max-width: 60%;
    padding: 0 0 1rem 0;
    width: auto;
    color: white;
    font-family: 'Degular Bold', sans-serif;
    font-weight: 300;
    font-size: 2.0rem;
    line-height: 2.4rem;
    border-bottom: solid 0.3rem var(--clr-yellow);
}


#ticket {
    padding-top: 0;
}

#ticket .h3 {
    padding-top: 14.0rem;
    text-transform: uppercase;
}

#ticket .priceDisplay {
    margin-bottom: 0rem;
}

#ticket .text {
    color: #000000;
    font-size: 1.8rem;
    line-height: 2.2rem;
    font-weight: 400;
}

#ticket form {
    margin: 2.4rem auto 1.4rem auto;
}

#ticket .uploading {
    transition: opacity 0.5s
}

#ticket .uploading.invisilbe {
    opacity: 0;
}

#ticket .newPassword {
    margin: 2.4rem 3.2rem 0rem 3.2rem;
}

#ticket .newPassword .text {
    margin-bottom: 3.2rem;
    color: var(--clr-white);
    font-size: 2.2rem;
    line-height: 2.6rem;
    font-weight: 500;
}

