@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Moul&family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap');

* {
    font-family: 'Lato', sans-serif;
}

@media (min-width:768px) {

    body {
        padding: 0;
        width: 100vw;

        nav {

            a {
                color: white;
            }

            a::after {
                background-color: white;
            }
        }

        .challenge {
            height: 85vh;
            width: 100vw;
            top: 0;
            position: absolute;

            .challenge-pic {
                width: 100vw;
                height: 85vh;
                object-fit: cover;
                position: absolute;
                top: 0;
            }

            .info {
                position: relative;
                width: 35vw;
                height: 50vh;
                margin: 20vh 0 0 8vw;
                display: flex;
                flex-direction: column;
                align-items: center;
                gap: 30px;
                z-index: 4;

                .logo {
                    width: 70%;
                }

                h2 {
                    margin: 0;
                    font-size: 2.25vw;
                    color: white;
                }

                p {
                    margin: 0;
                    font-size: 1.5vw;
                    color: #9D9D9D;
                }

                .explore {
                    margin: 8px 0 0 0;
                    padding: 5px 5px 5px 20px;
                    border-radius: 25px;
                    background-image: linear-gradient(to right, #B75E5E, #823737);
                    text-decoration: none;
                    color: black;
                    display: flex;
                    flex-direction: row;
                    gap: 5px;

                    h1 {
                        margin: 8px 0 0 0;
                        font-size: 2.5vw;
                    }

                    img {
                        height: 60px;
                        width: auto;
                    }
                }
            }

            .custom-shape-divider-bottom-1726783722 {
                position: absolute;
                bottom: 0;
                left: 0;
                width: 100%;
                overflow: hidden;
                line-height: 0;
                transform: rotate(180deg);
                z-index: 4;
            }

            .custom-shape-divider-bottom-1726783722 svg {
                position: relative;
                display: block;
                width: calc(100% + 1.3px);
                height: 49px;
                transform: rotateY(180deg);
            }

            .custom-shape-divider-bottom-1726783722 .shape-fill {
                fill: #FFFFFF;
            }
        }

        .details {
            position: absolute;
            top: 85vh;
            height: 48vw;
            width: 100vw;
            display: flex;
            justify-content: center;

            .center {
                display: flex;
                flex-direction: row;
                gap: 10vw;
                top: 48%;
                transform: translateY(-50%);
                position: absolute;
                width: 80vw;
                z-index: 3;

                .cad-pic {
                    margin-top: 10vh;
                    width: 35vw;
                    height: calc(40vw * 0.547);
                }

                .specs {
                    width: 35vw;
                    background-color: transparent;
                    height: auto;
                    display: flex;
                    justify-content: center;
                    flex-direction: column;
                    gap: 8vh;

                    h2 {
                        font-size: 5vw;
                        margin: 0;
                        font-weight: 600;
                        font-style: italic;
                        letter-spacing: 2px;
                        text-align: center;
                    }

                    .links {
                        display: flex;
                        flex-direction: row;
                        gap: 3vw;
                        width: 100%;
                        justify-content: center;
                        border-radius: 2px;

                        .link {
                            padding: 13px 20px;
                            background-color: rgb(88, 132, 228);
                            text-align: center;
                            display: flex;
                            flex-direction: column;
                            justify-content: center;
                            font-size: 19pt;
                            text-decoration: none;
                            color: black;
                            font-weight: 600;
                        }
                    }

                    .icon-specs {
                        width: 100%;
                        background-color: transparent;
                        height: auto;
                        display: flex;
                        flex-direction: row;
                        gap: 3vw;
                        justify-content: center;

                        .stat {
                            width: auto;
                            height: auto;
                            display: flex;
                            flex-direction: column;
                            justify-content: center;
                            text-align: center;

                            img {
                                width: 3.5vw;
                                margin-bottom: 8px;
                            }

                            p {
                                margin: 0;
                                font-weight: 700;
                                font-size: 10pt;
                                font-weight: 700;
                            }
                        }
                    }
                }
            }

            .background {
                width: 60vw;
                position: absolute;
                bottom: 0;
                left: 5vw;
                z-index: 1;
            }
        }
    }
}

@media (max-width:768px) {

    body {
        padding: 0;
        width: 100vw;

        .nav-button {

            div {
                background-color: var(--red);
            }
        }

        .challenge {
            height: 85vh;
            width: 100vw;
            position: relative;

            .challenge-pic {
                width: 100vw;
                height: 85vh;
                object-fit: cover;
                position: absolute;
                top: 0;
            }

            .info {
                position: relative;
                width: 80%;
                height: 100%;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                gap: 2.5vh;
                z-index: 4;
                padding: 0 10vw;

                .logo {
                    width: 70%;
                    margin-bottom: 4vh;
                }

                h2 {
                    margin: 0;
                    font-size: 4vw;
                    color: white;
                }

                p {
                    margin: 0;
                    font-size: 3vw;
                    color: #9D9D9D;
                }

                .explore {
                    margin: 4vh 0 0 0;
                    padding: 5px 5px 5px 20px;
                    border-radius: 15px;
                    background-image: linear-gradient(to right, #B75E5E, #823737);
                    text-decoration: none;
                    color: black;
                    display: flex;
                    flex-direction: row;
                    gap: 1.5vw;
                    justify-content: center;
                    align-items: center;

                    h1 {
                        margin: 0;
                        font-size: 5vw;
                    }

                    img {
                        height: 8vw;
                        width: auto;
                    }
                }
            }

            .custom-shape-divider-bottom-1726783722 {
                position: absolute;
                bottom: 0;
                left: 0;
                width: 100%;
                overflow: hidden;
                line-height: 0;
                transform: rotate(180deg);
                z-index: 4;
            }

            .custom-shape-divider-bottom-1726783722 svg {
                position: relative;
                display: block;
                width: calc(100% + 1.3px);
                height: 49px;
                transform: rotateY(180deg);
            }

            .custom-shape-divider-bottom-1726783722 .shape-fill {
                fill: #FFFFFF;
            }
        }

        .details {
            position: relative;
            height: auto;
            width: 100vw;

            .center {
                display: flex;
                flex-direction: column;
                gap: 10vw;
                position: absolute;
                z-index: 3;
                width: 100%;
                align-items: center;

                .cad-pic {
                    margin-top: 8vh;
                    width: 75vw;
                    height: calc(75vw * 0.713);
                }

                .specs {
                    width: 75vw;
                    background-color: transparent;
                    height: auto;
                    display: flex;
                    justify-content: center;
                    flex-direction: column;
                    gap: 8vh;

                    h2 {
                        display: none;
                    }

                    .links {
                        display: flex;
                        flex-direction: row;
                        gap: 7vw;
                        width: 100%;
                        justify-content: center;

                        .link {
                            padding: 13px 0;
                            width: 25vw;
                            background-color: rgb(88, 132, 228);
                            text-align: center;
                            display: flex;
                            flex-direction: column;
                            justify-content: center;
                            font-size: 5vw;
                            text-decoration: none;
                            color: black;
                            font-weight: 600;
                            border-radius: 2px;
                        }
                    }

                    .icon-specs {
                        width: 100%;
                        background-color: transparent;
                        height: auto;
                        display: flex;
                        flex-direction: row;
                        gap: 8vw;
                        justify-content: center;
                        margin-bottom: 10vh;

                        .stat {
                            width: 8vw;
                            height: auto;
                            display: flex;
                            flex-direction: column;
                            justify-content: center;
                            text-align: center;
                            align-items: center;

                            img {
                                width: 7vw;
                                margin-bottom: 2vh;
                            }

                            p {
                                margin: 0;
                                font-weight: 700;
                                font-size: 2.5vw;
                                font-weight: 700;
                            }
                        }
                    }
                }
            }

            .background {
                width: 60vw;
                position: absolute;
                bottom: 0;
                left: 5vw;
                z-index: 1;
            }
        }
    }
}
