:root {
  --red: #f23737;
  --grey: gainsboro;
}

.body {
  background-color: var(--red);
  color: var(--grey);
  height: 100vh;
}

.logo {
  border-radius: .2rem;
  width: 15rem;
  display: flex;
  position: fixed;
  inset: 1rem auto auto 1rem;
}

.title {
  width: 40rem;
}

.title-wrap {
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: absolute;
}

.link {
  z-index: 10;
  position: fixed;
  inset: 0%;
}

.link.custom-cursor {
  width: 100vw;
  height: 100vh;
  display: flex;
  position: relative;
}

.button-wrap {
  color: #f23737;
  cursor: pointer;
  background-color: #dcdcdc;
  border: 2px solid #dcdcdc;
  border-radius: .3125rem;
  flex: none;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
  overflow: visible;
}

.button-wrap.is-outline-on-grey {
  pointer-events: none;
  border-color: #f23737;
}

.button {
  grid-column-gap: .4375rem;
  grid-row-gap: .4375rem;
  pointer-events: none;
  flex: none;
  justify-content: center;
  align-items: center;
  padding: .4375rem;
  display: flex;
  overflow: hidden;
}

.heading-style-h5 {
  pointer-events: none;
  text-transform: uppercase;
  font-family: Neue Montreal, Arial, sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: .9;
}

.global-styles, .fluid-system, .my-styles, .color-switch-styles {
  display: block;
  position: fixed;
  inset: 0% auto auto 0%;
}

.cursor {
  z-index: 100000;
  pointer-events: none;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  display: flex;
  position: fixed;
  inset: 0%;
}

.cursor-move {
  pointer-events: none;
}

.cursor-button {
  pointer-events: none;
  transition: transform .25s;
  position: static;
  inset: 0%;
  transform: none;
}

@media screen and (max-width: 991px) {
  .logo {
    width: 18rem;
  }

  .button {
    padding-top: .5rem;
    padding-bottom: .4rem;
  }

  .heading-style-h5 {
    position: static;
  }
}

@media screen and (max-width: 767px) {
  .logo {
    top: 1.25rem;
    left: 1.25rem;
  }

  .heading-style-h5 {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 479px) {
  .logo {
    width: 12rem;
  }

  .title {
    width: 20rem;
  }

  .heading-style-h5 {
    font-size: 1.2rem;
  }
}


@font-face {
  font-family: 'Neue Montreal';
  src: url('../fonts/PPNeueMontreal-Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}