Skip to content
Snippets Groups Projects
index.module.scss 2.83 KiB
Newer Older
insert's avatar
insert committed
.hero {
insert's avatar
insert committed
    min-height: 100vh;
insert's avatar
insert committed
    max-width: 1800px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;

    background-color: #ff4754;
    color: whitesmoke;

    > .body {
        flex-grow: 1;
    }

    .heroText {
        display: flex;
        justify-content: center;
        align-items: center;
insert's avatar
insert committed
        padding: 1rem;
insert's avatar
insert committed
    }
    
    .primary {
        max-width: 560px;

        h2 {
insert's avatar
insert committed
            font-size: 34px;
insert's avatar
insert committed
            font-weight: 700;
        }

        h3 {
insert's avatar
insert committed
            font-size: 34px;
            font-weight: 300;
insert's avatar
insert committed
            margin: 0;
        }
    }

insert's avatar
insert committed
    h4 {
        padding: 5px 0;
    }

    .signup {
        display: flex;
        margin-top: 2em;
        border-radius: 4px;

        background: rgba(0, 0, 0, 0.2);

        input {
            flex-grow: 1;
            padding: 10px;
        }

        button {
            flex: 0 1;

            padding: 10px;
            background: rgba(0, 0, 0, 0.1);
            white-space: nowrap;
        }
    }

insert's avatar
insert committed
    .heroFix {
        min-height: 128px;
    }

    .link {
        display: block;
        margin-top: 4em;

        color: white;
        text-decoration: none;

        span {
            font-weight: 400;
            border-bottom: 2px solid white;
        }
    }
insert's avatar
insert committed

    .heroImage {
        display: flex;
        align-items: center;
        justify-content: center;

        .container {
            background: url('/concept_outer.svg');
            background-repeat: no-repeat;

            animation-name: outer;
            animation-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
            animation-iteration-count: infinite;
            animation-duration: 5s;

            img {
                position: relative;
                left: -15px;
                top: 10px;

                animation-name: inner;
                animation-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
                animation-iteration-count: infinite;
                animation-duration: 5s;
            }
        }
    }
}

@keyframes outer {
    0% { transform: translateY(0px) };
    50% { transform: translateY(14px) };
    100% { transform: translateY(0px) };
}

@keyframes inner {
    0% { transform: translateY(0px) };
    50% { transform: translateY(4px) };
    100% { transform: translateY(0px) };
insert's avatar
insert committed
}

// will be moved to its own component
.nav {
    width: 100%;
    min-height: 128px;
    padding: 40px;

    flex: 0 1;

    display: flex;

    .logo {
insert's avatar
insert committed
        height: 38px;
    }
}

@media (max-width: 1240px) {
    .hero > .body {
        flex-direction: column-reverse;
    }
    
    .heroImage {
        margin-bottom: 2em;
insert's avatar
insert committed
    }
}
insert's avatar
insert committed

@media (max-width: 720px) {
    .heroImage {
        transform: scale(0.8);
    }

    .nav {
        justify-content: center;
    }
}

@media (max-width: 640px) {
    .heroImage {
        transform: scale(0.7);
    }
}