@font-face {
    font-family: "medium";
    src: url("./assets/fonts/FerreroAbjad-NeroFondente.ttf");
}
@font-face {
    font-family: "regular";
    src: url("./assets/fonts/FerreroAbjad-TondoGentile.ttf");
}

@keyframes breathe {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.1); }
}

@keyframes rotate {
    0% {
        transform: rotate(0deg);
    }
    25% {
        transform: rotate(-5deg);
    }
    50% {
        transform: rotate(2.5deg);
    }
    75% {
        transform: rotate(-2.5deg);
    }
    100% {
        transform: rotate(0deg);
    }
}

@keyframes shake {
  0%   { transform: translateX(0); }
  25%  { transform: translateX(-4px); }
  50%  { transform: translateX(4px); }
  75%  { transform: translateX(-2px); }
  100% { transform: translateX(0); }
}

.breath {
    animation: breathe 2s infinite;
}

.shake {
    animation: shake 0.6s ease-in-out infinite;
}

.fade-out {
    opacity: 0;
    transition: opacity 1s ease;
}
.visible {
    opacity: 1;
    transition: opacity 1s ease;
}

.font-regular {
    font-family: "regular";
    direction: rtl;
}
.font-medium {
    font-family: "medium";
    direction: rtl;
}

.text-center {
    text-align: center;
}

.text-end {
    text-align: end;
}

.padding-small { padding: 1.5vw; }

.padding-xlarge { padding-top: 30vw; }

.margin-top-medium { margin-top: 20vw; }

.bold { font-weight: bold; }

.black { color: black; }

.red { color: red; }

.disabled-button { color: #eb8989 !important}

.width-100 {
    width: 100%;
}

.height-100 {
    height: 100%;
}

.size-xsmall {
    font-size: 2vw;
}

.size-small {
    font-size: 4.5vw;
}

.size-medium {
    font-size: 5.5vw;
}

.size-large {
    font-size: 9.5vw;
    line-height: 9vw;
}

.size-xlarge {
    font-size: 14.35vw;
}

.align-self-center {
    align-self: center;
}

.relative {
    position: relative;
}

.flex-row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.flex-col {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.space-around {
    justify-content: space-around;
}

.flex-end {
    justify-content: flex-end;
}

.hide {
    display: none !important;
}

.spinner {
    width: 60px;
    height: 60px;
    border: 4px solid rgb(0 0 0 / 52%);
    border-top: 5px solid #0a36e1;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

.container-nutella {
    background-color: white;
    height: 100vh;
    width: 100%;
    position: relative;
    overflow-x: hidden;
}

.content {
    top: 0;
    left: 0;
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    visibility: hidden;
}

.content.active {
    visibility: visible;
}

.top-red-bar {
    background-color: #ff0000;
    min-height: 8.89vw;
    width: 100%;
    display: flex;
    align-items: center;
    padding-left: 2vw;
    gap: 0.5vw;
    z-index: 1;
}

.top-red-bar > * {
    padding: 0.1vw;
}

textarea { resize: none; }


.link-button {
    background-color: transparent;
    color: black;
    text-decoration: none;
    border: none;
    cursor: pointer;
}

.top-content {
    min-height: 47.13vw;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 0 1vw;
}

.middle-content {
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: url(./assets/images/bg-mob.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 69.63vw;
    width: 100%;
}

.jar1 {
    width: 33.24vw;
    object-fit: contain;
}

.pom-l {
    position: absolute;
    width: 16.67vw;
    top: 19vw;
    right: 35vw;
    filter: drop-shadow(2px 4px 6px black);
    animation: rotate 3s infinite;
}
.pom-r {
    position: absolute;
    width: 21.76vw;
    top: 20vw;
    left: 36vw;
    filter: drop-shadow(2px 4px 6px black);
    animation: rotate 3s infinite;
}
       
.jar2 {
    width: 284.5vw;
    position: absolute;
    top: -29vw;
    right: -95vw;
}

.jar3 {
    width: 76.43vw;
    object-fit: contain;
    position: absolute;
    top: 13vw;
    right: 18vw;
}

.jar3-canvas {
    width: 284.5vw;
    position: absolute;
    top: -23vw;
    right: -90vw;
    visibility: hidden;
}

.resolution-text {
    position: absolute;
    z-index: 2;
    left: 33vw;
    top: 39vw;
}
.reason-text {
    position: absolute;
    z-index: 2;
    left: 25vw;
    top: 39vw;
}

.submit-first-form {
    margin: 1vw;
}

.second-step {
    visibility: hidden;
}
.second-text {
    display: none;
}

.bottom-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 2vw;
    min-height: 60.56vw;
    width: 100%; 
}

.line {
    width: 96.02vw;
    object-fit: contain;
    padding: 2vw;
}

.enter-button {
    background-color: red;
    color: white;
    text-align: center;
    padding: 2vw 0.75vw 0.75vw 0.75vw;
    border: 0px solid transparent;
    border-radius: 10px;
    width: 50.56vw;
    object-fit: contain;
    cursor: pointer;
    z-index: 1;
}

.arrow-down {
    width: 11vw;
    object-fit: contain;
    margin: 3vw;
    margin-bottom: -2vw;
}

form {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7.59vw;
}

.form-radios {
    align-self: flex-end;
}

.win-reason {
    position: absolute;
    top: 47vw;
    right: 29.5vw;
    width: 41vw;
    height: 18vw;
    border: 1px solid;
    border-radius: 2vw;
    padding: 1vw;
}

.form-input {
    width: 91.3vw;
    height: 12.31vw;
    direction: rtl;
    padding: 6.3vw;
    border: 0.1vw solid rgb(65, 65, 65);
    border-radius: 1vw;
}

input[type="checkbox"] {
    width: 3vw;
    height: 3vw;
    margin-left: 1vw;
    accent-color: red;
}

.end-content {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    text-align: center;
    width: 74.07vw;
    height: 96.39vw;
    border: red 0.5vw solid;
    border-radius: 8vw;
    margin-top: 20.65vw;
    padding: 4vw 0vw;
    position: relative;
}

.end-button {
    position: absolute;
    bottom: -5vw;
    left: 25vw;
    width: 26.07vw;
    height: 9vw;
    cursor: pointer;
}

.whatsapp-icon, .link-icon {
    width: 17.31vw;
    object-fit: contain;
}

.error {
    border: 2px solid red !important;
    border-radius: 4px;
    padding: 2px;
}

.error-checkbox {
    color: red !important;
}

.mobile {
    display: block;
}

.desktop {
    display: none;
}

@media (min-width: 768px) {
    .mobile {
        display: none;
    }

    .desktop {
        display: block;
    }

    .flex-row {
        display: flex;
        flex-direction: row;
    }

    .flex-col {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .space-around {
        justify-content: space-around;
    }

    .width-100 {
        width: 100%;
    }

    .height-100 {
        height: 100%;
    }

    .size-xsmall {
        font-size: 0.8vw;
    }

    .size-small {
        font-size: 1.3vw;
    }

    .size-medium {
        font-size: 1.7vw;
    }

    .size-large {
        font-size: 3.5vw;
        line-height: 4.5vw;
    }

    .size-xlarge {
        font-size: 5.5vw;
        line-height: 5.5vw;
    }

    .padding-small {
        padding: 0.5vw;
    }

    .spinner {
        margin-right: 24vw;
    }

    .content {
        min-height: 100vh;
        background-size: cover;
    }

    #screen2, #screen3 {
        overflow-y: hidden;
    }

    .top-red-bar {
        min-height: 2.45vw;
        width: 100%;
    }

    .top-content {
        background-image: url(./assets/images/bg-top-desk.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        min-height: 8.02vw;
        width: 100%;
    }

    .middle-content {
        background-image: unset;
        background-color: white;
        min-height: 25.89vw;
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-direction: row;
        padding-right: 3vw;
        flex-grow: 1
    }

    .line {
        width: 34.53vw;
        object-fit: contain;
        padding: 0;
        position: absolute;
        left: 3vw;
        bottom: 3.8vw;
    }

    .enter-button {
        width: 13.8vw;
        height: 3vw;
        padding: 0.3vw 1vw 0.1vw 1vw;
        border-radius: 0.5vw;
    }

    .jar1 {
        width: 23.54vw;
        object-fit: contain;
        position: absolute;
        left: 16vw;
        bottom: -17vw;
    }

    .poms {
        bottom: 1vw;
    }
    .pom-lt {
        width: 12.76vw;
        position: absolute;
        bottom: 5vw;
        left: 3vw;
        filter: drop-shadow(2px 4px 6px black);
        animation: rotate 3s infinite;
    }
    .pom-rt {
        width: 10.42vw;
        position: absolute;
        left: 87vw;
        bottom: 8vw;
        filter: drop-shadow(2px 4px 6px black);
        animation: rotate 2.9s infinite;
    }
    .pom-lb {
        width: 10.57vw;
        position: absolute;
        left: 3vw;
        top: 7vw;
        filter: drop-shadow(2px 4px 6px black);
        animation: rotate 3.3s infinite;
    }
    .pom-rb {
        width: 10.42vw;
        position: absolute;
        left: 88vw;
        top: 6vw;
        filter: drop-shadow(2px 4px 6px black);
        animation: rotate 2.8s infinite;
    }

    .jar2 {
        width: 132.21vw;
        top: -31vw;
        right: 0vw;
        padding-top: 0;
        position: absolute;
    }
    .jar3 {
        width: 35.21vw;
        object-fit: contain;
        position: absolute;
        margin-top: unset;
        left: 2vw;
        top: -4vw;
    }
    .jar3-canvas {
        width: 131vw;
        top: -20.5vw;
        right: 13vw;
        padding-top: 0;
        position: absolute;
    }

    .resolution-text {
        position: absolute;
        z-index: 2;
        left: 17vw;
        top: 9vw;
    }
    .reason-text {
        position: absolute;
        z-index: 2;
        left: 15vw;
        top: 9vw;
    }

    .win-reason {
        top: 11.4vw;
        width: 22vw;
        height: 7.3vw;
        border: 1px solid;
        border-radius: 0.5vw;
        padding: 0.3vw;
        z-index: 1;
        position: absolute;
        left: 11.5vw;
    }

    .middle-content-button {
        align-self: flex-end;
        position: absolute;
        left: 41vw;
        bottom: -0.3vw;
    }

    .middle-content-text {
        margin-right: 11vw;
        position: relative;
    }

    .arrow-left {
        width: 3vw;
        object-fit: contain;
        position: relative;
        bottom: 1vw;
        left: 1vw;
    }

    .bottom-content {
        min-height: 8.02vw;
        background-image: url(./assets/images/bg-bottom-desk.jpg);
        background-repeat: no-repeat;
        background-size: cover;
    }

    form {
        display: flex;
        justify-content: space-around;
        gap: 2.34vw;
    }

    .padding-children > * {
        padding: 0.5vw;
    }

    #screen4, #screen5 {
        background-image: unset;
    }

    .form-input {
        width: 28.02vw;
        height: 3.75vw;
        padding: 1.3vw;
        border: 0.1vw solid black;
        border-radius: 0.5vw;
    }

    input[type="checkbox"] {
        width: 1.5vw;
        height: 1.5vw;
        margin-left: 1vw;
    }

    .end-content {
        width: 23.44vw;
        height: 35.42vw;
        display: flex;
        flex-direction: column;
        justify-content: space-around;
        align-items: center;
        text-align: center;
        border: unset;
        margin-top: unset;
        position: relative;
    }

    .end-content > * {
        padding: 0.5vw;
    }

    .end-button {
        margin-top: 1vw;
        position: unset;
        bottom: -5vw;
        width: 9.9vw;
        height: 3vw;
    }

    .whatsapp-icon, .link-icon {
        width: 6.25vw;
        object-fit: contain;
    }
}