
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

html {
    min-height: 100vh;
    width: 100%;
    margin: 0;
    padding: 0;
}

body {
    background-color: #f5f5f5;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: clamp(1.42vh, 1vw, 3vh);
    font-family: Montserrat;
}

.container {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 580px;
}

.container .page {
    box-sizing: border-box;
    width: 100%;
    max-width: 1140px;
    padding: 0 3em 0 3em;
}

.container .hero-grid {
    display: grid;
    grid-template-columns: 4fr 3fr;
    grid-template-rows: 1fr;
    height: 95vh;
    max-height: 800px;
}

.container .hero-grid .content {
    display: flex;
    flex-direction: column;
    align-items: left;
    justify-content: space-around;
}

.hero-grid .content .logo {
    width: 80%;
}

.hero-grid .content h2 {
    font-size: clamp(1.5em, 5vw, 2.6em);
    line-height: 2em;
    font-weight: 300;
    margin: 0;
}


.hero-grid .content p {
    font-size: 1.5em;
    width: 80%;
    min-width: 14.8em;
    text-align: justify;
    text-indent: 2.5em;
    line-height: 1.5em;
}

.container .hero-grid .lamp-container {
    display: flex;
    justify-content: right;
}

.hero-grid .lamp-container .lamp {
    height: 50%;
    max-height: 336px;
}

.black {
    background-color: #000;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 10em;
}

.black h1 {
    font-size: 2.2em;
    font-weight: 300;
}

.cta-container {
    background-image: url("images/man-walking.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    height: 90vh;
    max-height: 720px;
}

.cta-container .cta {
    all: unset;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3em;
    width: 18em;
    height: 3.2em;
    border-radius: .8em;
    background-color: #000;
    color: #fff;
    transition: transform .3s;
    cursor: pointer;
    margin-bottom: 8%;
    
    &:hover {
        transform: translateY(-.5em);
    }

    &:active {
        transform: scale(.95);
    }

}

@media (max-width: 650px) {

    .container .page {
        max-width: 100vw !important;
        padding: 0 2.5em !important;
    }

    .hero-grid {
        grid-template-columns: 6fr 2fr !important;
        max-height: 65vh !important;
        align-items: center;
    }

    .hero-grid .logo {
        min-width: 100% !important;
    }

    .hero-grid h2 {
        margin-bottom: 2em !important;
    }

    .hero-grid p {
        font-size: 1.4em !important;
    }

    .hero-grid .lamp-container {
        position: relative;
        align-self: flex-start;
    }

    .hero-grid .lamp-container .lamp {
        max-height: none !important;
        height: 70vw !important;
        min-height: 406px !important;
    }

    .cta-container .cta {
        margin-bottom: 8em !important;
    }
}