@font-face {
    font-family: "Sky";
    src: url("https://s3.sky.ch/firebird/fonts/SkyText-Regular.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Inter";
    src: url("https://s3.sky.ch/firebird/fonts/Inter-Regular.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

html {
    box-sizing: border-box;
}

body {
    box-sizing: inherit;
    padding: 0;
    margin: 0;
    background: #ffffff;
}

.lang-en,
.lang-de {
    display: none;
}

body[data-lang="en"] .lang-en {
    display: block;
}

body[data-lang="en"] .lang-de {
    display: none;
}

body[data-lang="de"] .lang-de {
    display: block;
}

body[data-lang="de"] .lang-en {
    display: none;
}
.container {
    overflow: hidden;
}

.top {
    position: relative;
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.bg-particles {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;

    -webkit-mask-image: linear-gradient(to bottom, black 75%, transparent 100%);
    mask-image: linear-gradient(to bottom, black 75%, transparent 100%);
}

.gift {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}

.logo {
    text-align: center;
    padding-top: 17rem;
    z-index: 2;
    width: 32rem;
    height: auto;
    position: relative;
}

.title {
    background: var(--Sky-Rainbow-Gradient-Typo, linear-gradient(90deg, #FF7800 8.33%, #F80032 29.17%, #FF00A0 42.19%, #8C28FF 64.58%, #0023FF 81.77%, #1798FF 100%));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    z-index: 2;
    position: relative;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
    font-size: 3rem;
    font-weight: 600;
    font-family: "Sky", sans-serif;
}

.language-switch {
    margin-top: 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    position: relative;
    z-index: 2;
    color: #16181E;
    font-size: 1.5rem;
    font-family: "Sky", sans-serif;
}

.lang-label {
    cursor: pointer;
    opacity: 0.6;
}

.btn-switch.btn {
    position: relative;
    flex-shrink: 0;

    height: 1.6rem;
    width: 3.1rem;

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

    background-color: #9BB6D9;
    border-radius: 999px;
    cursor: pointer;
    transition: background 0.25s ease;
    border: none;
}

.btn-switch.btn::after {
    position: absolute;
    content: "";
    top: 0.12rem;

    left: 0.12rem;

    height: 1.36rem;
    width: 1.36rem;

    background-color: #ffffff;
    border-radius: 50%;
    transition: all 0.25s ease;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
}



.btn-switch.btn.selected::after {
    left: calc(3.1rem - 1.36rem - 0.12rem);
}

.magic {
    z-index: 2;
    width: 41.875rem;
    text-align: center;
    margin-bottom: 1.5rem;
    font-size: 1.125rem;
    margin-top: 0;
    font-weight: 400;
    font-family: "Inter", sans-serif;
}

.sign {
    font-family: "Sky", sans-serif;
    z-index: 2;

    display: inline-flex;
    padding: 0.75rem 4rem;
    justify-content: center;
    align-items: center;
    border: none;
    outline: none;
    border-radius: 0.35rem;

    color: #ffffff;
    font-size: 1.125rem;
    font-weight: 600;
    text-align: center;
    background: none;
    cursor: pointer;

    background: linear-gradient(178deg, rgba(255, 255, 255, 0.00) 6%, rgba(255, 255, 255, 0.32) 51%, rgba(255, 255, 255, 0.00) 54.81%), #0072C9;
}

.presents {
    background: var(--Sky-Rainbow-Gradient-Typo, linear-gradient(90deg, #FF7800 8.33%, #F80032 29.17%, #FF00A0 42.19%, #8C28FF 64.58%, #0023FF 81.77%, #1798FF 100%));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    z-index: 2;
    position: relative;
    margin-top: 5rem;
    margin-bottom: 2rem;
    font-size: 3rem;
    font-weight: 600;
    font-family: "Sky", sans-serif;
}

.prizes-grid {
    max-width: 73rem;
    margin: auto;
    gap: 1rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    justify-items: center;
    z-index: 2;
    position: relative;
}

.prize {
    width: 100%;
    text-align: center;
}

.prize img {
    width: 100%;
    max-height: 16.9rem;
    cursor: pointer;
}

.prize p {
    text-align: left;
    margin-top: 0.5rem;
    font-size: 1.5rem;
    color: #16181E;
    font-weight: 500;
    font-family: "Sky", sans-serif;
}

.gift-solo {
    justify-self: center;
    align-self: center;
    width: 13.25rem;
    height: auto;
    z-index: 2;
}

.gift-solo img {
    width: 100%;
    height: auto;
    display: block;
    cursor: pointer;
}


.partners-title {
    background: var(--Sky-Rainbow-Gradient-Typo, linear-gradient(90deg, #FF7800 8.33%, #F80032 29.17%, #FF00A0 42.19%, #8C28FF 64.58%, #0023FF 81.77%, #1798FF 100%));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    z-index: 2;
    position: relative;
    margin-top: 5rem;
    font-size: 3rem;
    font-weight: 400;
    font-family: "Sky", sans-serif;
}


.partners {
    width: 100%;
    max-width: 73rem;
    margin: 2rem auto;
    padding: 0 1rem;
    box-sizing: border-box;
}

.partners-row {
    display: flex;
    flex-directon: row;
    justify-content: center;
    align-items: center;
    flex-wrap: no-wrap;      
    column-gap: 4rem;
    row-gap: 3rem;
    margin-bottom: 3rem;
}

.partner {
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.partner img {
    display: block;
    max-width: 100%;
    height: auto;
    cursor: pointer;
}


.logo-eufy {
    width: 4rem;
    height: 2.5rem;
}

.logo-continental {
    width: 8.75rem;
    height: 5rem;
}

.logo-uber {
    width: 4.6875rem;
    height: 4.375rem;
}

.logo-salt {
    width: 4.375rem;
    height: 4.375rem;
}

.logo-swisstennis {
    width: 8.75rem;
    height: 5rem;
}

.logo-padel {
    width: 13rem;
    height: 5rem;
}

.logo-sunrise {
    width: 4.375rem;
    height: 4.375rem;
}

.logo-bluecinema {
    width: 10rem;
    height: 5rem;
}

.logo-samsung {
    width: 7.5625rem;
    height: 4.375rem;
}

.logo-quickline {
    width: 7.4375rem;
    height: 4.875rem;
}

.logo-supergutschein {
    width: 8.125rem;
    height: 4.625rem;
}

.logo-allianz {
    width: 7.4375rem;
    height: 4.25rem;
}

.logo-zattoo {
    width: 8.8125rem;
    height: 4.375rem;
}


.terms {
    padding-top: 5rem;
    max-width: 73rem;
    margin: 0 auto;
    text-align: left;
    line-height: normal;
    font-weight: 400;
    font-family: "Sky", sans-serif;
    margin-bottom: 3.1rem;
}

.terms-title {
    line-height: normal;
    font-size: 1rem;
    font-weight: 400;
    color: #004479;
}

.separator-line {
    margin-top: 5rem;
    width: 73rem;
    margin-left: auto;
    margin-right: auto;
    height: 0.06rem;
    background-color: #E5E7EB;
}


@media (min-width: 768px) and (max-width: 1199px) {


    .top,
    .prizes-grid,
    .partners,
    .terms {
        width: 100%;
        max-width: 52rem;
        margin: 0 auto;
        padding: 0 1rem;
        box-sizing: border-box;
    }

    .logo {
        padding-top: 10rem;
        width: 27rem;
        height: auto;
    }

    .title,
    .partners-title {
        font-size: 2.3rem;
        text-align: center;
    }

    .presents {
        font-size: 2.3rem;
        margin-top: 4rem;
        text-align: center;
    }

    .magic {
        width: 100%;
        max-width: 32rem;
        font-size: 1rem;
        padding-bottom: 1.5rem;
        margin: 0 auto;
    }

    .sign {
        padding: 0.65rem 3.5rem;
        font-size: 1rem;
    }

    .prizes-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem;
        justify-items: center;
    }

    .prize {
        max-width: 24rem;
        width: 100%;
    }

    .gift-solo {
        display: none;
    }

    .partners {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        column-gap: 2.5rem;
        row-gap: 2rem;
    }

    .partners-row {
        display: contents;   
        margin-bottom: 0;
    }

    .partner {
        flex: 0 1 28%;   
    }

    .terms {
        font-size: 1rem;
        padding-top: 5rem;
    }

    .separator-line {
        margin-top: 5rem;
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        height: 0.06rem;
        background-color: #E5E7EB;
    }
}


@media (max-width: 767px) {



    .top,
    .prizes-grid,
    .partners,
    .terms {
        width: 100%;
        max-width: 24rem;
        margin: 0 auto;
        padding: 0 1rem;
        box-sizing: border-box;
    }

    .top {
        max-width: unset;
    }


    .logo {
        width: 20rem;
        height: auto;
        padding-top: 5rem;
    }

    .language-switch {
        font-size: 1rem;
    }

    .title {
        font-size: 2rem;
        text-align: center;
        width: 100%;
    }

    .magic {
        width: 100%;
        font-size: 1rem;
        padding: 0 0.5rem;
        text-align: center;
    }

    .sign {
        font-size: 1rem;
        padding: 0.6rem 2rem;
    }

    .presents {
        font-size: 2rem;
        margin-top: 3rem;
        margin-bottom: 1.5rem;
        text-align: center;
    }

    .prizes-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1rem;
        justify-items: center;
    }

    .prize {
        width: 100%;
        max-width: 22rem;
    }

    .prize p {
        font-size: 1.15rem;
        text-align: left;
    }

    .gift-solo {
        display: none;
    }

    .partners-title {
        font-size: 1.7rem;
        margin-top: 3rem;
        text-align: center;
    }

 .partners {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        column-gap: 1.5rem;
        row-gap: 1.5rem;
    }

    .partners-row {
        display: contents;    
        margin-bottom: 0;
    }

    .partner {
        flex: 0 1 46%;       
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .logo-padel {
        width: 12rem;
        aspect-ratio: 4 / 1;
    }


    .terms {
        padding-top: 5rem;
        font-size: 0.75rem;
        line-height: 1.15rem;
        margin-bottom: 3rem;
        text-align: left;
    }

    .terms-title {
        font-size: 1rem;
    }

    .separator-line {
        margin-top: 5rem;
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        height: 0.06rem;
        background-color: #E5E7EB;
    }
}

