---
export interface Props {
  maintext: string
  subtext: string
  fadeout?: boolean
  baseurl?: string
  returnbutton?: boolean
  buttontext?: string
}
const { maintext, subtext, fadeout, baseurl, returnbutton, buttontext } = Astro.props
const displayFadeout = fadeout ? "": "display: none"
const displayBackButton = returnbutton ? "": "display: none"
const text = buttontext || baseurl
---

<div class="wrap">
  <div class="head">{maintext}</div>
  <div class="sub">{subtext}</div>
  <a href=`/${baseurl}` style={displayBackButton}>&lt;&lt; Back to {text}</a>
  <div class="fade" style={displayFadeout}></div>
</div>

<style>
  a {
    font-weight: 500;
    font-family: 'Work Sans Variable', sans-serif;
    color: var(--c-primary-text);
    margin: 1rem 0px 0px;
    padding: 0.5rem 0.75rem;
    text-decoration: none;
    background-color: var(--c-secondary-background);
    border-radius: 10px;
    border-style: solid;
    border-width: 2px;
    border-color: var(--c-secondary-background);
    text-transform: capitalize;
  }

  a:hover {
    border-color: var(--c-accent-1);
  }

  .wrap {
    position: relative;
    width: 100%;
    display: flex;
    text-align: center;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: column;
    color: var(--c-primary-text);
    background-color: var(--c-primary-background);
  }

  .fade {
    margin-top: 2rem;
    background: linear-gradient(to bottom, transparent, var(--c-secondary-background));
    height: 2.5rem;
    width: 100%;
  }

  .head {
    margin: 0 .5rem;
    hyphens: auto;
    padding-top: 2rem;
    font-size: 3.25rem;
    font-weight: 700;
    font-family: 'Work Sans Variable', sans-serif;
  }

  .sub {
    margin: 0 .5rem;
    font-size: 0.9rem;
    font-weight: 500;
    font-family: 'Work Sans Variable', sans-serif;
  }

  .head {
    color: var(--c-accent-1);
  }

  @supports (background-clip: text) {
    .head {
      background: linear-gradient(125deg, var(--c-accent-1), var(--c-accent-1-alt), var(--c-accent-2) );
      background-clip: text;
      color: transparent;
    }
  }

  @media (min-width: 620px) {
    .head {
      hyphens: none;
      font-size: 3.75rem;
    }
    .sub {
      font-size: 1rem;
    }
  }

  @media (min-width: 1000px) {
    .head {
      font-size: 4rem;
    }
    .sub {
      font-size: 1.2rem;
    }
  }
</style>