@import url('https://fonts.googleapis.com/css2?family=League+Spartan:wght@200;400;500;600;700&display=swap');

:root{
    --side-spacing: 10vw;
    --green-primary: #76AC6C;
    --yellow-primary: #FCD163;
}

html{
    scroll-behavior: smooth
}

*{
    box-sizing: content-box;
}

figure,
ul{
    margin: 0;
    padding: 0;
}

img,
svg,
video{
    height: auto;
    max-width: 100%;
    display: block;
    content-visibility: auto;
}

a{
    text-decoration: none;
    color: inherit;
    font-size: inherit;
}

body{
    margin: 0;
    font-family: 'League Spartan', sans-serif;
    -webkit-font-smoothing: antialiased;
}

.heading{
    margin: 0 0 1rem;
    font-size: 2.5vh;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 5px;
    color: var(--green-primary);
}

.paragraph{
    margin-top: 0;
    font-size: 2.5vh;
    line-height: 3vh;
}

section {
    display: grid;
    grid-template-columns: var(--side-spacing) 1fr var(--side-spacing);
    grid-template-areas: ". container .";
    position: relative;
}

.container {
    grid-area: container;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
}

.container > * {
    grid-column: 1/-1;
}

.hero {
    min-height: 100vh;
    background: #242424;
    z-index: 0;
}

.hero .hero__img {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -2;
}

picture.hero__img > * {
    height: 100%;
    object-fit: cover;
    object-position: bottom;
}

.hero::before{
    content: '';
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    position: absolute;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.36) 0%, rgba(0, 0, 0, 0) 100%);
    z-index: -1;
}

.hero header nav ul {
    margin: 0 auto;
    padding: 30px 8vw;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    color: white;
    font-size: 1.5vh;
    letter-spacing: 3px;
    text-transform: uppercase;
    font-weight: 600;
    border-bottom: 1px solid rgb(255 255 255 / 40%);
}

.hero h1 {
    margin: 0;
    padding-top: 10vh;
    color: white;
    font-size: 9vh;
    font-weight: 100;
}

.about{
    padding-top: 12vh;
}

.about::before{
    content: '';
    height: 14vh;
    width: 100%;
    background: #E0E0E0;
    position: absolute;
    z-index: -1;
    box-shadow: 0 8vh #EAEAEA, 0 15vh #F3F3F3, 0 19vh #F8F8F8;
}

.about__image {
    grid-column: 2/-1;
    position: relative;
    margin-top: 1rem;
}

.about__image:before{
    content: '';
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    position: absolute;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 100%);
    z-index: 1;
}

.about__image p {
    max-width: 80ch;
    position: absolute;
    top: 5vh;
    left: 5vw;
    font-size: 2.2vh;
    line-height: 2.5vh;
    color: white;
    margin: 0;
    z-index: 1;
}

.commitment {
    padding: 15vh 0;
}

.commitment .wave-img{
    height: auto;
    width: auto;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    position: absolute;
    z-index: -1;
}

.commitment p{
    grid-column-end: 9;
}

.recent-drive__video {
    grid-column: 1/-1;
    grid-row: 2/3;
}

.recent-drive__content {
    grid-column-start: 5;
    padding: 10vh 0;
}

.volunteer {
    margin: 10vh 0 30vh;
}

.volunteer h2 {
    font-size: 6vh;
    max-width: 600px;
    margin: 0 0 7vh;
    font-weight: 100;
    color: var(--green-primary);
}

.volunteer a {
    font-size: 2.5vh;
    font-weight: 500;
    display: inline-flex;
    margin-top: 20px;
    color: black;
}

.volunteer .mountain-ouline {
    position: absolute;
    width: 100%;
    bottom: 0;
    transform: translate(0px, 10vh);
    z-index: -1;
    pointer-events: none;
}
