
.IndieFlixHero {
  position: relative;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.25);
}

.IndieFlixHero__Shade {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  min-height: 570px;
  background: linear-gradient(180deg, rgba(20, 16, 26, 0.2) 38.54%, #14101A 100%), linear-gradient(-45deg, rgba(20, 16, 26, 0) 0%, #14101a 100%);
}

.IndieFlixHero__Bg {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  min-height: 570px;
}

@media (max-width: 800px) {
  .IndieFlixHero__BgControls {
    display: none;
  }
}

.IndieFlixHero__BgLink {
  text-decoration: none !important;
  color: white !important;
  display: none;
  font-weight: bold;
  line-height: 15px;
  font-size: 13px;
  opacity: 0.6;
}
.IndieFlixHero__BgLink:hover {
  opacity: 0.8;
}

.IndieFlixHero__BgLink--active {
  display: block;
}

.IndieFlixHero__BgImg {
  padding: 0;
  margin: 0;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  min-height: 570px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: opacity 500ms 0ms ease-in-out;
  opacity: 0;
}

.IndieFlixHero__BgImg--active {
  opacity: 1;
}

.IndieFlixHero__BgSwitch {
  box-sizing: border-box;
  width: 15px;
  height: 15px;
  position: relative;
  overflow: hidden;
  padding: 0;
  overflow: hidden;
  opacity: 0.6;
  display: block;
  border-radius: 50%;
  border: 2px solid white;
  background: rgba(255, 255, 255, 0.3);
}
.IndieFlixHero__BgSwitch:hover {
  opacity: 0.8;
}

.IndieFlixHero__BgSwitches {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-top: 15px;
}
.IndieFlixHero__BgSwitches > * + * {
  margin-left: 5px;
}

.IndieFlixHero__BgSwitch--active {
  background: white;
}

.IndieFlixHero__Container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 30px;
}

.IndieFlixHero__Foreground {
  position: relative;
  padding: 150px 0px 90px 0;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
@media (max-width: 800px) {
  .IndieFlixHero__Foreground {
    margin: 0 auto;
    align-items: center;
    justify-content: center;
    padding: 60px 0;
  }
}

.IndieFlixHero__Logo {
  max-height: 30px;
}
@media (max-width: 600px) {
  .IndieFlixHero__Logo {
    max-height: 20px;
  }
}

.IndieFlixHero__Intro {
  font-size: 18px;
  max-width: 510px;
  line-height: 30px;
}
@media (max-width: 800px) {
  .IndieFlixHero__Intro {
    text-align: center;
  }
}
@media (max-width: 600px) {
  .IndieFlixHero__Intro {
    font-size: 15px;
    line-height: 20px;
  }
}
.IndieFlixHero__Intro > * + * {
  margin-top: 30px;
}
@media (max-width: 600px) {
  .IndieFlixHero__Intro > * + * {
    margin-top: 20px;
  }
}
.IndieFlixHero__Intro h2 {
  line-height: 30px;
  font-size: 36px;
  margin-top: 15px !important;
  color: white;
}
@media (max-width: 600px) {
  .IndieFlixHero__Intro h2 {
    font-size: 21px;
  }
}

.IndieFlixHero__Btn {
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  line-height: 41px;
  padding: 0 15px;
  display: inline-block;
  border: 2px solid rgba(255, 255, 255, 0.5);
  border-radius: 15px;
  transition: all 180ms 0ms ease-in-out;
}
@media (max-width: 600px) {
  .IndieFlixHero__Btn {
    flex: 1 1 100%;
    display: block;
    width: 100%;
  }
}

.IndieFlixHero__Btn--Primary {
  color: #14101A;
  background: white;
  text-shadow: none;
  text-decoration: none;
}
.IndieFlixHero__Btn--Primary:hover {
  background: #25CED1;
  border-color: #25CED1;
  color: #14101A;
  text-decoration: none;
}

.IndieFlixHero__Btn--Secondary {
  color: white;
  text-decoration: none;
}
.IndieFlixHero__Btn--Secondary:hover {
  color: #14101A;
  background: #25CED1;
  border-color: #25CED1;
  text-shadow: none;
  text-decoration: none;
}

.IndieFlixHero__BtnSet {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
@media (max-width: 800px) {
  .IndieFlixHero__BtnSet {
    align-items: center;
    justify-content: center;
  }
}
@media (max-width: 600px) {
  .IndieFlixHero__BtnSet {
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }
}
.IndieFlixHero__BtnSet > * + * {
  margin-left: 30px;
}
@media (max-width: 600px) {
  .IndieFlixHero__BtnSet > * + * {
    margin: 15px 0 0 0;
  }
}

@keyframes BtnBgSpin {
  0% {
    transform: rotate(0deg);
  }
  100%{
    transform: rotate(359deg);
  }
}

@keyframes BtnShadowSpin {
  0% { box-shadow: -4px -4px 20px rgba(37, 206, 209, 0.20), 2px 2px 10px rgba(156, 88, 241, 0.20); }
  25% { box-shadow: 4px -4px 20px rgba(37, 206, 209, 0.20), -2px 2px 10px rgba(156, 88, 241, 0.20); }
  50% { box-shadow: 4px 4px 20px rgba(37, 206, 209, 0.20), -2px -2px 10px rgba(156, 88, 241, 0.20); }
  75% { box-shadow: -4px 4px 20px rgba(37, 206, 209, 0.20), 2px -2px 10px rgba(156, 88, 241, 0.20); }
  100% { box-shadow: -4px -4px 20px rgba(37, 206, 209, 0.20), 2px 2px 10px rgba(156, 88, 241, 0.20); }
}

/* BUTTON SET (Container) */
.iFButtonSet {
  display: flex;
  flex-wrap: wrap;
  @media (max-width: 800px) {
    justify-content: center !important;
  }
  @media (max-width: 600px) {
    flex-direction: column !important;
  }
}

/* SET DIRECTION */
.iFButtonSet--col {
  flex-direction: column;
}
.iFButtonSet--row {
  flex-direction: row;
  @media (max-width: 600px) {
    flex-direction: column;
  }
}

/* SET HORIZONTAL ALIGNMENT */

  /* when in a row */
  .iFButtonSet--row.iFButtonSet--hleft {
    justify-content: flex-start;
    @media (max-width: 600px) {
      align-items: center;
    }
  }
  .iFButtonSet--row.iFButtonSet--hcenter {
    justify-content: center;
    @media (max-width: 600px) {
      align-items: center;
    }
  }
  .iFButtonSet--row.iFButtonSet--hright {
    justify-content: flex-end;
    @media (max-width: 600px) {
      align-items: flex-end;
    }
  }
  .iFButtonSet--row.iFButtonSet--hjustify {
    justify-content: space-between;
    @media (max-width: 600px) {
      align-items: stretch;
    }
  }

  /* when in a column */
  .iFButtonSet--col.iFButtonSet--hleft {
    align-items: flex-start;
    }
  }
  .iFButtonSet--col.iFButtonSet--hcenter {
    align-items: center;
  }
  .iFButtonSet--col.iFButtonSet--hright {
    align-items: flex-end;
  }
  .iFButtonSet--col.iFButtonSet--hjustify {
    align-items: stretch;
  }

/* SET VERTICAL ALIGNMENT */

  /* When in a row */
  .iFButtonSet--row.iFButtonSet--vstart {
    align-items: flex-start;
  }
  .iFButtonSet--row.iFButtonSet--vcenter {
    align-items: center;
  }
  .iFButtonSet--row.iFButtonSet--vend {
    align-items: flex-end;
  }
  .iFButtonSet--row.iFButtonSet--vstretch {
    align-items: stretch;
  }

  /* When in a column */
  

/* SET SPACING */

  /* When in a row */
  .iFButtonSet--row.iFButtonSet--space5 > * + * {
    @media (min-width: 600px) {
      margin-left: 5px;
    }
    @media (max-width: 600px) {
      margin-top: 5px;
    }
  }
  .iFButtonSet--row.iFButtonSet--space10 > * + * {
    @media (min-width: 600px) {
      margin-left: 10px;
    }
    @media (max-width: 600px) {
      margin-top: 10px;
    }
  }
  .iFButtonSet--row.iFButtonSet--space15 > * + * {
    @media (min-width: 600px) {
      margin-left: 15px;
    }
    @media (max-width: 600px) {
      margin-top: 15px;
    }
  }
  .iFButtonSet--row.iFButtonSet--space20 > * + * {
    @media (min-width: 600px) {
      margin-left: 20px;
    }
    @media (max-width: 600px) {
      margin-top: 15px;
    }
  }
  .iFButtonSet--row.iFButtonSet--space30 > * + * {
    @media (min-width: 600px) {
      margin-left: 30px;
    }
    @media (max-width: 600px) {
      margin-top: 20px;
    }
  }
  .iFButtonSet--row.iFButtonSet--space45 > * + * {
    @media (min-width: 600px) {
      margin-left: 45px;
    }
    @media (max-width: 600px) {
      margin-top: 20px;
    }
  }
  .iFButtonSet--row.iFButtonSet--space60 > * + * {
    @media (min-width: 600px) {
      margin-left: 60px;
    }
    @media (max-width: 600px) {
      margin-top: 30px;
    }
  }

  /* When in a column */
  .iFButtonSet--col.iFButtonSet--space5 > * + * {
    margin-top: 5px;
  }
  .iFButtonSet--col.iFButtonSet--space10 > * + * {
    margin-top: 10px;
  }
  .iFButtonSet--col.iFButtonSet--space15 > * + * {
    margin-top: 15px;
  }
  .iFButtonSet--col.iFButtonSet--space20 > * + * {
    margin-top: 20px;
  }
  .iFButtonSet--col.iFButtonSet--space30 > * + * {
    margin-top: 30px;
  }
  .iFButtonSet--col.iFButtonSet--space45 > * + * {
    margin-top: 45px;
  }
  .iFButtonSet--col.iFButtonSet--space60 > * + * {
    margin-top: 60px;
  }


/* BUTTONS */ 
.iFButton {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  transition: box-shadow 300ms ease, border 90ms linear;
  border: 2px solid transparent;
  text-decoration: none;
  will-change: box-shadow;
  overflow: clip; 
  overflow-clip-margin: border-box 0px;
  box-shadow: none;
  text-shadow: none !important;
}
.iFButton:hover,
.iFButton:focus-visible {
  text-decoration: none;
  border-color: transparent;
  outline: none;
  box-shadow: -4px -4px 20px rgba(37, 206, 209, 0.2), 2px 2px 10px rgba(156, 88, 241, 0.2);
  -webkit-animation: BtnShadowSpin 1s 0ms linear infinite forwards;
          animation: BtnShadowSpin 1s 0ms linear infinite forwards;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
.iFButton:focus-visible {
  border-width: 4px;
}
.iFButton > * + * {
  margin-left: .5em;
}

/* Before (Edge Glow) */
.iFButton::before {
  transition: all 180ms 0ms ease;
  opacity: 0;
  content: "";
  background: transparent;
  top: -1000%;
  bottom: -1000%;
  left: -1000%;
  right: -1000%;
  position: absolute;
  background-image: conic-gradient(from 135deg at 50% 50%, #9C58F1 15%, #25CED1 35%, #25CED1 65%, #9C58F1 85%);
  -webkit-animation: BtnBgSpin 1s 180ms linear infinite forwards;
          animation: BtnBgSpin 1s 180ms linear infinite forwards;
}
.iFButton:hover::before,
.iFButton:focus-visible::before {
  opacity: 1;
  transition: all 180ms 0ms ease;
}

/* After (BG Overlay) */
.iFButton::after {
  transition: all 90ms 180ms linear;
  content: "";
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
  background: #14101A;
  opacity: 0;
}
.iFButton:hover::after,
.iFButton:focus-visible::after {
  transition: all 90ms 0ms linear;
  opacity: 1;
}

/* Button Style Types */
.iFButton--white,
.iFButton--white:hover,
.iFButton--white:focus-visible {
  color: #14101A;
  background: white;
}
.iFButton--white::after {
  background: white;
}  

.iFButton--whiteOutline,
.iFButton--whiteOutline:hover,
.iFButton--whiteOutline:focus-visible {
  color: white;
  border-color: rgba(255,255,255,.5);
}
.iFButton--whiteOutline::after {
  background: #14101A;
}  

.iFButton--brand,
.iFButton--brand:hover,
.iFButton--brand:focus-visible {
  color: #14101A;
  background: #25CED1;
}
.iFButton--brand::after {
  background: white;
} 

.iFButton--brandOutline {
  color: white;
  background: transparent;
  border-color: rgba(37,206,209,.5);
}
.iFButton--brandOutline::after {
  background: #14101A;
} 

.iFButton--accent{
  background: #9C58F1;
  color: white;
}
.iFButton--accent::after {
  background: #14101A;
} 

.iFButton--accentOutline,
.iFButton--accentOutline:hover,
.iFButton--accentOutline:focus-visible {
  color: white;
  border-color: rgba(156,88,241,.5);
}

/* Button Sizes */
.iFButton--small {
  font-size: 13px;
  min-height: 30px;
  line-height: 18px;
  padding: 0 10px;
}

.iFButton--medium {
  font-size: 15px;
  min-height: 45px;
  padding: 0 15px;
  line-height: 20px;
}

.iFButton--large {
  font-size: 20px;
  min-height: 60px;
  padding: 0 20px;
  line-height: 25px;
}

/* Border Radius Options */

.iFButton--squared {
border-radius: 0;
}

.iFButton--rounded {
border-radius: 10px;
}
.iFButton--rounded::after {
border-radius: 9px;
}

.iFButton--pill {
border-radius: 10em;
}
.iFButton--pill::after {
border-radius: 10em;
}

/* Icons */
.iFButton svg {
  width: 1em;
  height: 1em;
}
.iFButton svg * {
  fill: currentColor;
}

.iFButton * {
  position: relative;
  z-index: 1;
  align-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}