/* font  */

/* sync  */
/* unset all user-agent stylesheet defaults, apart from '' */
*:where(:not(html, iframe, canvas, img, svg, video):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

/* use border-box for consistency */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* revert anchor and button cursor */
a,
button {
  cursor: revert;
}

/* img */
img {
  max-width: 100%;
}

/* root  */
:root {
  /* colours  */
  --gold: #c59b6c;
  --charcoal: #59585a;

  --type-margin: 0 0 1.3rem 0;
  --pill-margin: 2rem 0;

  --h1-size: 2.2rem;
  --h2-size: 2rem;
  --h3-size: 1.6rem;
  --copy-size: 1rem;
}

/* global style  */
body {
  /* font  */
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  font-size: var(--copy-size);
  line-height: 1.4;

  position: relative;
  height: 100%;
  background-color: var(--charcoal);
}

/* structure  */
.container {
  display: flex;
  justify-content: center;

  position: relative;

  width: 100vw;
  height: 100%;
  min-height: 100vh;

  .content {
    padding: 50px 0;
    position: relative;
    width: 70vw;
    z-index: 2;
  }

  .background {
    background-image: url(../img/london.jpeg);
    background-size: cover;
    background-position: 30% 50%;

    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;

    width: 50vw;

    z-index: 1;

    &::before {
      content: "";
      display: block;
      background: linear-gradient(to right, var(--charcoal) 15%, transparent);
      position: absolute;
      width: 100%;
      height: 100%;
    }

    img {
      object-fit: cover;
      object-position: 30% 50%;
      width: 100%;
      height: 100%;
      min-height: 100%;
    }
  }
}
.container.v-center {
  align-items: center;
}

/* logo  */
.logo {
  border-color: var(--gold);
  border-style: solid;
  border-width: 0 0 4px 0;

  display: block;

  margin: var(--type-margin);

  margin-bottom: 2rem;
  padding-bottom: 2.5rem;

  width: 415px;
}

/* type  */
h1 {
  color: var(--gold);

  line-height: 1.2;

  font-size: var(--h1-size);
  font-weight: 300;
  text-transform: uppercase;

  margin: var(--type-margin);

  + p {
    font-size: calc(var(--h1-size) * 0.7);
  }
}
h2 {
  color: var(--gold);

  line-height: 1.2;

  font-size: var(--h2-size);
  font-weight: 300;
  text-transform: uppercase;

  margin: var(--type-margin);
}
h3 {
  color: var(--gold);

  line-height: 1.2;

  font-size: var(--h3-size);
  font-weight: 300;
  text-transform: uppercase;

  margin: var(--type-margin);
}

p {
  color: white;

  font-size: 1.2rem;

  margin: var(--type-margin);
}

ul,
ol {
  color: white;

  margin: var(--type-margin);
  padding: 1rem;

  li::marker {
    color: var(--gold);
  }
}
ol {
  list-style-type: decimal;
}

a {
  color: white;
}

/* pills  */
a.pill {
  border: 2px solid var(--gold);
  color: var(--gold);

  display: inline-flex;
  align-items: center;
  justify-content: center;

  line-height: 1;

  margin: var(--pill-margin);

  font-size: 22px;
  text-transform: uppercase;
  text-decoration: none;

  transition: all 0.3s ease-out;

  width: 200px;
  height: 50px;
}

@media only screen and (max-width: 1080px) {
  :root {
    --type-margin: 0 0 1.3rem 0;
    --pill-margin: 2rem 0;

    --h1-size: 1.8rem;
    --h2-size: 1.6rem;
    --h3-size: 1.2rem;
    --copy-size: 1rem;
  }

  .container {
    .content {
      width: 80vw;
    }
    .background {
      opacity: 0.3;
    }
  }
}

@media only screen and (max-width: 600px) {
  :root {
    --type-margin: 0 0 1.3rem 0;
    --pill-margin: 2rem 0;

    --h1-size: 1.8rem;
    --h2-size: 1.6rem;
    --h3-size: 1.2rem;
    --copy-size: 1rem;
  }

  .container {
    .content {
      width: 75vw;
    }
    .background {
      opacity: 0.3;
    }
  }
}
