/*======= HERO =======*/
.hero {
    padding-top: 140px;
}

.hero .row {
    display: grid;
    align-items: center;
    grid-template-columns: 1.3fr 1fr;
    gap: 64px;
}

.hero p {
    margin-top: 16px;
}

.hero .btns-row {
    margin-top: 32px;
}

.hero .features-row {
    margin-top: 40px;
    display: grid;
    gap: 24px;
    align-items: center;
    grid-template-columns: auto auto auto 1fr;
}

.hero .feature {
    display: grid;
    grid-template-columns: 24px 1fr;
    gap: 12px;
    align-items: center;
    font-weight: 500;
    font-size: 18px;
}

.hero .item.right img {
    border-radius: 4px;
}

@media (max-width: 1536px) {
}

@media (max-width: 1280px) {
    .hero .features-row {
        grid-template-columns: auto 1fr;
        gap: 48px;
        row-gap: 16px;
    }
}

@media (max-width: 1024px) {
    .hero .row {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .hero .item.right img {
        max-height: 400px;
        width: auto;
    }

    .hero .features-row {
        gap: 24px;
        grid-template-columns: auto auto auto 1fr;
    }
}

@media (max-width: 768px) {
    .hero .features-row {
        grid-template-columns: auto 1fr;
        gap: 48px;
        row-gap: 16px;
    }
}

@media (max-width: 640px) {
}

@media (max-width: 475px) {
    .hero .features-row {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

/*======= BENEFITS =======*/
.benefits .row {
    margin-top: 32px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px;
}

.benefits .item {
    display: grid;
    gap: 12px;
    padding: 16px 24px 24px 24px;
    background-color: rgba(27, 74, 175, 0.05);
}

.benefits .item .top {
    display: grid;
    grid-template-columns: 48px auto;
    gap: 12px;
    align-items: center;
}

@media (max-width: 1536px) {
}

@media (max-width: 1280px) {
}

@media (max-width: 1024px) {
    .benefits .row {
        grid-template-columns: 1fr 1fr;
        gap: 24px;
    }

    .benefits .item.three {
        grid-column: span 2;
    }
}

@media (max-width: 768px) {
}

@media (max-width: 640px) {
    .benefits .row {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .benefits .item.three {
        grid-column: span 1;
    }
}

@media (max-width: 475px) {
    .benefits .row {
        gap: 16px;
    }
}

/*======= KOLEKTIV =======*/
.kolektiv .row {
    display: grid;
    align-items: center;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
}

.kolektiv p {
    margin-top: 16px;
}

.kolektiv .btns-row {
    margin-top: 32px;
}

@media (max-width: 1024px) {
    .kolektiv .row {
        grid-template-columns: 1fr;
        gap: 32px;
        align-items: flex-start;
    }

    .kolektiv .item.right img {
        max-height: 400px;
    }
}

/*======= Your Job =======*/
.yourjob .row {
    display: grid;
    align-items: center;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
}

.yourjob p {
    margin-top: 16px;
}

.yourjob .btns-row {
    margin-top: 32px;
}

@media (max-width: 1024px) {
    .yourjob .row {
        display: flex;
        flex-direction: column-reverse;
        gap: 32px;
        align-items: flex-start;
    }

    .yourjob .item.left img {
        max-height: 400px;
    }
}


/*======= REQUIREMENTS =======*/
.requirements .row {
    margin-top: 32px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px;
}

.requirements .item {
    display: grid;
    gap: 12px;
    padding: 16px 24px 24px 24px;
    background-color: rgba(27, 74, 175, 0.05);
}

.requirements .item .top {
    display: grid;
    grid-template-columns: 48px auto;
    gap: 12px;
    align-items: center;
}

@media (max-width: 1536px) {
}

@media (max-width: 1280px) {
}

@media (max-width: 1024px) {
    .requirements .row {
        grid-template-columns: 1fr 1fr;
        gap: 24px;
    }

    .requirements .item.three {
        grid-column: span 2;
    }
}

@media (max-width: 768px) {
}

@media (max-width: 640px) {
    .requirements .row {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .requirements .item.three {
        grid-column: span 1;
    }
}

@media (max-width: 475px) {
    .requirements .row {
        gap: 16px;
    }
}

/*======= TECHSTACK =======*/
.techstack .row {
    margin-top: 32px;
    display: flex;
    gap: 16px;
    justify-content: space-between;
}

.techstack .item {
    display: grid;
    gap: 24px;
}

.techstack .wrapper {
    display: grid;
    grid-template-columns: 32px auto;
    gap: 12px;
    align-items: center;
    font-size: 18px;
    font-weight: 600;
}

@media (max-width: 1024px) {
    .techstack .row {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
    }

    .techstack .wrapper {
        gap: 16px;
    }
}

@media (max-width: 640px) {
    .techstack .row {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 475px) {
    .techstack .row {
        grid-template-columns: 1fr;
    }
}

/*======= UKAZKA PRACE =======*/
.ukazka .row {
    margin-top: 32px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px;
}

.ukazka span.progress {
    margin-top: 12px;
    width: fit-content;
    display: flex;
    gap: 8px;
    align-items: center;
    padding: 3px 12px 3px 8px;
    border-radius: 128px;
    font-size: 15px;
}

.ukazka span.progress.done {
    color: #1BAF56;
    border: 1px solid #1BAF56;
}

.ukazka span.progress.dev {
    color: #F09022;
    border: 1px solid #F09022;
}

.ukazka span.circle {
    width: 7px;
    height: 7px;
    border-radius: 128px;
}

.ukazka span.circle.done {
    background-color: #1BAF56;
}

.ukazka span.circle.dev {
    background-color: #F09022;
}

.ukazka h3 {
    margin-top: 6px;
}

.ukazka p {
    margin-top: 8px;
}

@media (max-width: 1024px) {
    .ukazka .row {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    .ukazka .row {
        grid-template-columns: 1fr;
        row-gap: 36px;
    }
}

/*======= CONTACT =======*/
.contact {
    background-image: url('./images/contact-bg.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 48px 0;
}

.contact h2, .contact span.sm {
    color: #fff;
}

.contact form {
    margin-top: 32px;
    display: grid;
    gap: 24px;
}

.contact .form-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 24px;
}

.contact .form-control {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 24px;
}

.contact input, .contact textarea {
    background-color: #fff;
    font-size: 16px;
    color: #131313;
    padding: 16px 24px;
    border: none;
    outline: none;
    border-radius: 2px;
    font-family: "Inter", sans-serif;
}

.contact #custom-file-input {
    cursor: pointer;
    width: 100%;
    background-color: #fff;
    height: 100%;
    display: grid;
    grid-template-columns: 1fr 24px;
    align-items: center;
    padding: 0 24px;
    gap: 16px;
}

.contact #custom-file-input input {
    opacity: 0;
    pointer-events: none;
    display: none;
}

.contact form button {
    padding: 16px 48px;
}

.contact .contact-info {
    display: flex;
    gap: 24px;
    margin-top: 32px;
}

.contact .contact-info .item {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 12px;
    align-items: center;
    color: #fff;
    font-size: 18px;
}

@media (max-width: 1536px) {
}

@media (max-width: 1280px) {
}

@media (max-width: 1024px) {
    .contact .form-row {
        grid-template-columns: 1fr 1fr;
    }

    .contact #custom-file-input {
        grid-column: span 2;
        min-height: 52px;
    }
}

@media (max-width: 768px) {
    .contact .contact-info {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
    }
}

@media (max-width: 640px) {
    .contact .form-row {
        grid-template-columns: 1fr;
    }

    .contact #custom-file-input {
        grid-column: span 1;
    }

    .contact .form-control {
        grid-template-columns: 1fr;
    }
    
    .contact .contact-info {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 475px) {
    .contact input, .contact textarea {
        padding: 16px;
    }

    .contact #custom-file-input {
        padding: 0 16px;
    }
}