@font-face {
    font-family: 'heebo';
    src: url('./fonts/Heebo.ttf');
    font-weight: 100 900;
}
* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}
html,
body {
    font-family: 'heebo';
    line-height: 1;
    min-height: 100svh;
    background: white;
    color: #ffffff;
    direction: rtl;
}
.main {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1vw;
    position: relative;
    width: 100%;
    aspect-ratio: 1920 / 960;
    overflow: hidden;
    background: black;
    background-image: url('./images/desktop-bg.jpg');
    background-size: 100% 100%;
}
.top {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 1;
}
.top-inner {
    padding: 0vw 0 0 0;
    width:80%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.bike {
    width: 50vw;
}
.title-image {
    width: 30vw;
}
.form-section {
    display: flex;
    justify-content: center;
    width: 100%;
    gap: 2.24vw;
}
.right {
    position: relative;
    background: #000000;
    color: #ffffff;
    border-radius: 3.6vw;
    padding: 1.15vw 3.43vw;
    font-size: 1.667vw;
    display: flex;
    align-items: center;
    gap: 2vw;
    z-index: 3;
}
.form {
    display: grid;
    grid-template-columns: 1fr 1fr 12.29vw;
    grid-template-rows: 1fr 1fr auto;
    grid-template-areas: 
        "name email submit" 
        "phone select checkbox"
        "terms terms terms";
    flex-wrap: wrap;
    width: 40vw;
    gap: 0.47vw 2vw;
}
.input {
    font-family: 'heebo';
    border-radius: 2vw;
    border: none;
    font-size: 0.9vw;
    flex: 1;
    background-color: #d9d8d8;
    color: #2a2929;
    padding: 0vw 0.573vw;
    z-index: 2;
    &::placeholder {
        color: #2a2929;
    }
}
.name { grid-area: name; }
.email { grid-area: email; }
.phone { grid-area: phone; }
.select { grid-area: select; }
.checkbox-container {
    grid-area: checkbox;
    width: 100%;
    display: flex;
    gap: 1vw;
    justify-content: flex-start;
    align-items: center;
    font-size: 0.733vw;
}
.checkbox-container p {
    padding-right: 2vw;
}
.checkbox {
    width: 1.5vw;
    height: 1.5vw;
    z-index: 5; 
    position: absolute;
}
.submit {
    grid-area: submit;
    position: relative;
    background: #0442c3;
    border: none;
    color: #ffffff;
    font-family: 'heebo';
    font-size: 1.667vw;
    border-radius: 2vw;
    padding: 0vw 2.2vw;
    font-weight: 700;
    align-items: center;
    justify-content: center;
    z-index: 1;
    cursor: pointer;
}
.terms {
    grid-area: terms;
    font-size: 0.733vw;
    text-align: center;
}
.terms a {
    color: white;
}
.left {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.198vw;
    font-size: 1.667vw;
    z-index: 5;
}
.left a {
    color: #2a2c2d;
}
.zontes-logo {
    width: 11vw;
}
.logos {
    width: 17.604vw;
}
.legal-section {
    width: 100%;
    font-size: 1.2vw;
    letter-spacing: -1px;
    font-weight: 300;
    color: #131c22;
    text-align: center;
}
.strip-section {
    width: 100%;
    background: white;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.2vw;
    color: #000000;
    font-size: 1vw;
    text-decoration: none;
    gap: 0.5vw;
}
.pollution-number {
    padding: 0.2vw 0.5vw;
    background-color: #ff6600;
}

.right.thanks {
    width: 60%;
    justify-content: center;
}
.error { outline: 1px solid tomato; }
.error::placeholder { color: tomato; }

.desktop { display: flex }
.mobile { display: none }

.swiper-slide:not(.swiper-slide-active) img {
  visibility: hidden; 
}

@media (max-width: 768px){
    .main {
        background-image: url('./images/mobile-bg.jpg');
        aspect-ratio: 640 / 2157;
        justify-content: space-between;
        align-items: center;
        gap: 2vw;
    }
    .top {
        flex: 0;
        order: 0;
    }
    .top-inner {
        flex-direction: column;
        width: 100%;
    }
    .bike {
        width: 100vw;
        content: url('./images/mobile-bikes/bike6.png')
    }
    .title-image {
        width: 75%;
        padding-top: 8vw;
    }
    .swiper {
        width: 100vw;
        aspect-ratio: 633 / 663;
        margin-top: -5vw;
    }
    .form-section {
        flex-direction: column;
        width: 86.719vw;
        gap: 4vw;
        bottom: 4vw;
        order: 1;
    }
    .right {
        flex-direction: column;
        padding: 3.438vw 4.375vw;
        border-radius: 5.781vw;
    }
    .right-title {
        width: 100%;
        font-size: 3.7vw;
        text-align: center;
    }
    .form {
        width: 100%;
        grid-template-columns: 2fr 1fr;
        grid-template-rows: repeat(6, auto);
        grid-template-areas: 
            "name name" 
            "phone phone" 
            "email email" 
            "select select" 
            "checkbox submit"
            "terms terms";
        gap: 1.875vw;
    }
    .input {
        font-size: 3.281vw;
        border-radius: 4.219vw;
        padding: 2vw 4vw;
    }
    .checkbox-container {
        font-size: 2.5vw;
        gap: 2vw;
    }
    .checkbox-container p {
        padding-right: 7vw;
    }
    .checkbox {
        height: 5vw;
        width: 5vw;
    }
    .submit-bar {
        height: 2.969vw;
        border-radius: 1.563vw;
    }
    .submit {
        font-size: 5vw;
        padding: 2vw 0;
        border-radius: 5.781vw;
    }
    .terms {
        text-align: center;
        font-size: 2.5vw;
    }
    .left {
        align-items: center;
        gap: 3vw;
        padding-top: 2vw;
        order: 3;
    }
    .logos {
        width: 52.812vw;
    }
    .zontes-logo {
        width: 52.344vw;
    }
    .left a {
        font-size: 5vw;
    }
    .legal-section {
        order: 2;
        font-size: 5vw;
        padding: 0 4.9vw;
    }
    .strip-section {
        order: 3;
        padding: 1vw;
        font-size: 3vw;
    }
    .pollution-number {
        padding: 0.7vw 1.4vw;
    }
    .right.thanks {
        padding: 10vw 0;
        margin-bottom: 20vw;
        width: 100%;
    }
    .right.thanks > .right-title { font-size: 10vw;}
    .desktop { display: none }
    .mobile { display: flex }
}