*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

:root {
    --default-border-radius: 8px;
    --default-transition: color .3s ease-in-out, background-color .3s ease-in-out, border-color .3s ease-in-out, fill .3s ease-in-out, transform .3s ease-in-out;
}

:root[data-theme="light"] {
    --base: #555;
    --base-100: #f1f1f1;
    --base-400: #555;
    --base-800: #000;

    --page-bg: #fff;

    --primary-text: #3C3A47;
    --muted-text: #B1B0B5;

    --logo-fill: var(--primary-text);

    --input-bg: #F5F5F6;
    --input-bg-hover: #ecebed;
    --input-border-focus: var(--muted-text);
    --input-text: var(--primary-text);
    --input-placeholder: var(--muted-text);

    --button-text: #D19361;
    --button-text-hover: #faf4ef;

    --switch-bg: #f5f5f6;
    --switch-circle-bg: #ffd371;
    --switch-circle-pos: 0.33rem;
    --icon-sun: #997f44;
    --icon-moon: var(--base-400);

    --icon-socials: var(--primary-text);
    --icon-socials-hover: #77757e;

}

:root[data-theme="dark"] {
    --base: #555;
    --base-100: #f1f1f1;
    --base-400: #555;
    --base-800: #000;

    --page-bg: #3C3A47;

    --primary-text: #f5f5f6;
    --muted-text: #77757e;

    --logo-fill: var(--primary-text);

    --input-bg: #2d2c35;
    --input-bg-hover: #24232b;
    --input-border-focus: #1d1c23;
    --input-text: var(--primary-text);
    --input-placeholder: var(--muted-text);

    --button-text: #D19361;
    --button-text-hover: #faf4ef;


    --switch-bg: var(--input-bg);
    --switch-circle-bg: #7190ff;
    --switch-circle-pos: 3.11rem;
    --icon-sun: var(--muted-text);
    --icon-moon: #dce3ff;

    --icon-socials: var(--primary-text);
    --icon-socials-hover: #b1b0b5;

}

a {
    text-decoration: none;
}

body {
    font-family: "Poppins", sans-serif;
    font-style: normal;
    height: 100vh;
    background-color: var(--page-bg);
    /* background-color: var(--base-100);
    main {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        height: 100vh;

    }
    @media (max-width: 1024px) {
        padding-top: 100px;

    } */

}

header {
    padding-top: 30px;
    padding-bottom: 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1440px;
    margin: auto;
    /* border-bottom: 1px solid #000000; */

    .logo-holder {
        display: flex;
        align-items: center;
        font-weight: 600;
        background-color: var(--logo-fill);
        padding: 5px;
        border-radius: 50px;
        transition: var(--default-transition);

        .logo {
            display: flex;
            align-items: center;
            justify-content: center;
            height: 72px;
            width: 72px;
            transition: var(--default-transition);
            /* margin-right: 10px; */

            svg {
                max-width: 100%;
                max-height: 100%;

                path {
                    fill: var(--page-bg);
                }
            }

            @media (max-width: 1024px) {
                height: 64px;
                width: 64px;
            }

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

        .logo-text {
            flex: 1;
            font-size: 32px;
            background-color: var(--primary-text);
            color: var(--base-100);
            /* padding: 10px 20px; */

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

        @media (max-width: 768px) {
            margin-right: 0px;
            border-radius: 50px;
        }

    }

    nav {
        display: flex;
        align-items: center;

        ul {
            display: flex;
            list-style-type: none;
            gap: 5px;

            li {
                display: inline-block;

                a {
                    display: inline-block;
                    padding: 10px 20px;
                    color: var(--base);

                    &:hover {
                        background-color: var(--primary-text);
                        color: var(--base-100);
                        border-radius: 10px;
                        text-decoration: none;
                    }
                }

            }
        }

        .mobile-toggle {
            display: none;
            color: var(--primary-text);
            padding: 10px;

            @media (max-width: 768px) {
                display: inline-block;
                position: absolute;
                top: 20px;
                right: 20px;
            }
        }
    }

    @media (max-width: 768px) {
        padding-bottom: 10px;
    }

    @media (max-width: 1440px) {
        padding-left: 30px;
        padding-right: 30px;
    }
}

.theme-switcher {
    background-color: var(--switch-bg);
    border-radius: 50px;
    display: flex;
    align-items: center;
    gap: 1.33rem;
    cursor: pointer;
    padding: 0.66rem;
    position: relative;
    transition: var(--default-transition);

    svg {
        z-index: 1;
        transition: var(--default-transition);
    }

    #icon-sun {
        fill: var(--icon-sun);
    }

    #icon-moon {
        fill: var(--icon-moon);
    }
}

.theme-switcher::before {
    content: "";
    position: absolute;
    width: 2.22rem;
    height: 2.22rem;
    background-color: var(--switch-circle-bg);
    border-radius: 50px;
    z-index: 0;
    left: 0;
    transform: translateX(var(--switch-circle-pos));
    transition: var(--default-transition);
}

.container {
    max-width: 1440px;
    margin: auto;
    gap: 30px;
    margin-top: 30px;
    margin-bottom: 30px;

    @media (max-width: 1440px) {
        padding-left: 30px;
        padding-right: 30px;
    }

}

.button {
    display: inline-block;
    padding: 10px 30px;
    background-color: var(--blue);
    color: var(--base-100);
    border-radius: 10px;
    transition: var(--default-transition);

    &:hover {
        text-decoration: none;
        background-color: var(--primary-text);
    }

    &.white {
        background-color: var(--page-bg);
        color: var(--primary-text);

        &:hover {
            color: var(--muted-text);
        }
    }

    &.dark {
        background-color: var(--primary-text);
        color: var(--page-bg);

        &:hover {
            background-color: var(--base-400);
            color: var(--base-100);
        }
    }
}

h1 {
    font-size: 64px;
    line-height: 1;
    margin-bottom: 10px;
    font-weight: 500;
    color: var(--primary-text);
    transition: var(--default-transition);

    small {
        display: block;
        font-weight: 200;
        color: var(--muted-text);
    }

    @media (max-width: 1024px) {
        font-size: 48px;
    }
}

.hero {
    display: flex;

    @media (max-width: 1024px) {
        flex-direction: column;
    }

    .hero-info {
        flex: 1;
        padding: 30px 30px 30px 0px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        transition: var(--default-transition);

        p {
            margin-top: 10px;
            color: var(--primary-text);

            a {
                color: var(--primary-text);
                text-decoration: none;

                &:hover {
                    text-decoration: none;
                    color: var(--button-text);
                }
            }
        }

        span {
            @media (max-width: 768px) {
                display: none;
            }
        }

        .call-to-action {
            margin-top: 20px;
            margin-bottom: 10px;

            a {
                margin-right: 10px;
                margin-bottom: 10px;
            }
        }

        .social-links {
            a {
                &:hover {
                    text-decoration: none;
                }

                svg {
                    fill: var(--icon-socials);
                    width: 48px;
                    height: 48px;
                    transition: var(--default-transition);

                    &:hover {
                        fill: var(--icon-socials-hover);
                    }
                }
            }
        }
    }

    .hero-image {
        flex: 1;
        background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab);
        background-size: 400% 400%;
        animation: gradient 15s ease infinite;
        border-radius: 400px 25px 25px 25px;
        padding: 0px 30px;
        display: flex;
        justify-content: center;
        align-items: flex-end;
        transition: var(--default-transition);


        img {
            margin-top: -70px;
            max-width: 420px;
        }

        @media (max-width: 1024px) {
            margin-top: 30px;
        }
    }
}

.logos {
    background-color: var(--page-bg);
    border-radius: 30px;
    margin-top: 100px;

    @media (max-width: 1440px) {
        border-radius: 0px;

    }

    .marquee {
        width: 100vw;
        max-width: 100%;
        height: 96px;
        overflow: hidden;
        position: relative;

        .track {
            position: absolute;
            white-space: nowrap;
            will-change: transform;
            animation: marquee 30s linear infinite;
            display: flex;
            gap: 10px;

            img {
                width: 96px;
                height: 96px;
                max-height: 100%;

            }
        }
    }
}

@keyframes gradient {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}


@keyframes marquee {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}