body {
    --red-background: #FFE6E7;
    --red-highlight: #FF666C;
    --blue-background: #E6F3FF;
    --blue-highlight: #2197FF;
    --green-background: #E6FFE6;
    --green-highlight: #4BB34F;
    --purple-background: #FAE6FF;
    --purple-highlight: #D536FF;
}

#hero {
    display: grid;
    grid-template-areas: 'logo title';
    grid-template-columns: 35% 65%;
    grid-template-rows: 100vh;

    height: 100vh;
}

#hero-title-background {
    position: absolute;
    
    width: 100vw;
    height: 135vh;
    
    top:0;
    left:0;
    
    background: linear-gradient(180deg, var(--bluegray-light) 0%, var(--bluegray-light) 75%, rgba(0,0,0,0) 100%);
    -webkit-mask-image: url(../assets/BG_Tile.svg);
    mask-image: url(../assets/BG_Tile.svg);
    background-repeat: repeat;
    opacity: .12;
    z-index: -1;
}

/****************************** Logo ******************************/
#hero-logo-container {
    grid-area: logo;
    
    background-color: var(--bluegray-light);
    background: linear-gradient(45deg, var(--bluegray-dark) 0%, var(--bluegray-light) 100%);
    border-radius: 0 0 200px 0;
    border: var(--border-width-desktop) solid var(--bluegray-highlight);
    border-left: none;
    border-top: none;
    box-shadow: 0px 0px 32px var(--bluegray-highlight), 0px 0px 64px var(--bluegray-highlight);
}
#hero-logo-align {
    display: flex;
    
    height: 100%;
    width: 100%;
    
    justify-content: center;
    align-items: center;
}
#hero-logo {
    height: 70%;
    width: 70%;
    max-width: 400px;
    max-height: 400px;
}

/****************************** Title ******************************/
#hero-title-container {
    grid-area: title;

    display: grid;
    grid-template-areas:
        'main'
        'spacer-1'
        'first'
        'second'
        'third'
        'spacer-2'
        'badges';
    grid-template-rows: min-content 8px min-content min-content min-content 8px min-content;
    
    min-height: 80vh;
    max-width: 680px;
    margin: 0 80px;

    justify-self: center;
    align-self: center;
    
    padding-bottom: 16px;
    text-align: center;
}

#hero-title-main {
    grid-area: main;
}
#hero-title-first {
    grid-area: first;
}
#hero-title-second {
    grid-area: second;
}
#hero-title-third {
    grid-area: third;
}

#hero-icon {
    width: 80px;

    border: 4px solid var(--red-highlight);
    border-radius: 50%;
    transform: translateY(30px);
}

.hero-title {
    grid-area: title;

    display: flex;
    flex-direction: row;
    
    align-items: center;
    
    gap: 16px;
    margin-bottom: 16px;

    border-radius: 1000px; /* Circular radius */
    box-shadow: 0 4px 8px rgba(0,0,0,.2);
    font-weight: 500;
    font-size: 20px;
    padding: 24px 32px;
}

.hero-title span {
    font-size: 36px;
}
.hero-title-green span {
    font-size: 30px; /* The green icon looks bigger */
}

.hero-title-red {
    background-color: var(--red-background);
    border: 4px solid var(--red-highlight);
    color: var(--red-highlight);
    font-weight: 500;
}
.hero-title-blue {
    background-color: var(--blue-background);
    border: 4px solid var(--blue-highlight);
    color: var(--blue-highlight);
}
.hero-title-green {
    background-color: var(--green-background);
    border: 4px solid var(--green-highlight);
    color: var(--green-highlight);
}
.hero-title-purple {
    background-color: var(--purple-background);
    border: 4px solid var(--purple-highlight);
    color: var(--purple-highlight);
}

.hero-title-blue * { color: var(--blue-highlight); }
.hero-title-green * { color: var(--green-highlight); }
.hero-title-purple * { color: var(--purple-highlight); }

.hero-title-top {
    justify-content: center;

    margin: 0 48px 16px 48px;
    padding-top: 36px;
    padding-bottom: 16px;

    border-radius: 1000px; /* Circular radius */
    font-size: 24px;
    font-weight: 600;
    text-align: center;
}
.hero-title-left {
    justify-content: start;

    border-radius: 48px 12px;
    text-align: start;
}
.hero-title-right {
    justify-content: end;

    border-radius: 12px 48px;
    text-align: end;
}

#hero-badges {
    grid-area: badges;
}

#glowing-box {
    position: absolute;
    
    height: 28vh;
    width: 14vh;
    
    top: 86vh;
    right: 0px;
    offset-anchor: 0% 50%;
    
    background: linear-gradient(90deg, var(--orange) 0%, var(--red) 100%);
    background-color: var(--orange);
    border-radius: 36px 0 0 36px;
    box-shadow: var(--orange) 0px 0px 32px;
}

@media only screen and (max-width: 1400px) {
    .hero-title {
        padding: 16px 32px;
        font-size: 17px;
    }
    .hero-title-top {
        padding-top: 32px;
        padding-bottom: 16px;
        font-size: 21px;
    }

    #glowing-box {
        border-radius: 20px 0 0 20px;
    }
}
@media only screen and (max-width: 768px) {
    #hero {
        grid-template-areas: 
            'logo'
            'title';
        
        min-height: 100vh;
        height: auto;
            
        grid-template-rows: minmax(200px, 35vh) 1fr;
        grid-template-columns: 100vw;
    }
    
    #hero-logo-container {
        width: auto;
        border: var(--border-width-mobile) solid var(--bluegray-highlight);
        border-top: none;
        border-radius: 0 0 50px 50px;
        box-shadow: 0px 6px 32px var(--bluegray-highlight);
    }
    #hero-logo {
        width: 75%;
        height: 75%;
    }
    
    #hero-title-background {
        background: linear-gradient(0deg, rgba(0,0,0,0) 0%, var(--bluegray-light) 30%, var(--bluegray-light) 100%);
        -webkit-mask-image: url(../assets/BG_Tile.svg);
        mask-image: url(../assets/BG_Tile.svg);
    }
    
    #hero-title-container {
        grid-template-rows: min-content minmax(16px, 1fr) min-content min-content min-content minmax(16px, 1fr) min-content;

        align-self: center;
        margin: 0 16px;
    }

    #hero-icon {
        width: 64px;
    }

    .hero-title {
        margin-left: 0px;
        margin-right: 0px;

        font-size: 16px;
        padding: 16px 24px;
    }
    .hero-title-top {
        margin-left: 32px;
        margin-right: 32px;

        padding-top: 28px;
        font-size: 20px;
    }
    
    .google-play-badge > img {
        height: 72px;
    }
    .app-store-badge > img {
        height: 48px;
    }
    
    #glowing-box {
        display: none;
        right: calc(50% - 32px);
        
        height: 64px;
        width: 64px;
        
        border-radius: 16px;
    }
}