:root {
  --white: #FFFAE3;
  --lilac: #d29dd7;
  --dblue: #3F3A73;
  --magenta: #DB3069;
  --beige: #F9DBBD;
  --black: #31171d;
}

@font-face {
  font-family: Mondwest;
  src: url(../fonts/ppmondwest-regular.otf);
}
@font-face {
  font-family: Neue-Bit;
  src: url(../fonts/ppneuebit-bold.otf);
}
@font-face {
  font-family: Pixel-Sans;
  src: url(../fonts/fs-pixel-sans-unicode-regular.ttf);
}
@font-face {
  font-family: Host-Grotesk;
  src: url(../fonts/HostGrotesk-VariableFont_wght.ttf);
}
@font-face {
  font-family: Host-Grotesk-Italic;
  src: url(../fonts/HostGrotesk-Italic-VariableFont_wght.ttf);
}

html{
  scroll-behavior: smooth;
}

body { /*default styles*/
    background-color: var(--white);
    border: 0;
    font-family: Host-Grotesk;
    font-size: 16px;
    margin: 0;
    overflow-x: hidden;
    padding: 0;
}

.main-container{
  margin: 100px auto;
  width: 70vw;
}

h2{
  color: var(--black);
  font-size: 2em;
  font-weight: 800;
  line-height: 1;
  margin: 0;
  text-shadow: 5px 5px 10px var(--beige);
}
h3{
  color: var(--black);
  font-family: Pixel-Sans;
  font-size: 2em;
  font-weight: 400;
  line-height: 1;
  margin: 0;
}
a {
  text-decoration: none;
}
i {
  position: relative;
  z-index: -1;
}




/* ---------------------------------------------------------------------NAV-------------------------------------------------------------------*/
nav{
  position: fixed;
  width: 100%;
  z-index: 1;
}
.nav-container {
  background-color: none;
  border-radius: 25px;
  display: flex;
  justify-content: space-between;
  padding: 0 4vw;
  margin: 15px 10.5vw;
  transition: background-color 0.3s ease-in-out; 
}
nav a {
  display: inline-block;
  font-family: Pixel-Sans;
  font-size: 2.5em;
  transition: 0.1s ease-in-out;
  padding: 15px 0;
}
nav a:hover {
  transform: translateY(-5px);
  color: var(--lilac);
}
.nav-left a{
  color: var(--magenta);
}
.nav-right a{
  color: var(--white);
  margin-left: 50px;
}

.nav-container.scrolled{
  background-color: rgba(255, 250, 227, 0.7);
  backdrop-filter: blur(10px);
  box-shadow: 5px 5px 10px 5px rgba(151, 27, 147, 0.1);
}
.nav-container.scrolled a:hover{
  color: var(--black);
}
.nav-right.scrolled2 a{
  color: var(--black);
}
.nav-right.scrolled2 a:hover{
  color: var(--magenta);
}



/* ---------------------------------------------------------------------HEADER-------------------------------------------------------------------*/

h1 {
  color: var(--lilac);
  font-family: Mondwest;
  font-size: 6em;
  font-weight: 100;
  letter-spacing: 0px;
  line-height: 0.8;
  margin: 0;
  text-shadow: 5px 5px 15px var(--black);
}

.header-p {
  color: var(--black); 
  font-size: 2em;
  line-height: 1;
}




/* ---------------------------------------------------------------------CARDS-------------------------------------------------------------------*/

.row-grid{
  display: grid;
  gap: 15px;
  margin: 15px auto;
  grid-template-columns: 1fr 1fr;
}

.card {
  border-radius: 25px;
  box-shadow: 5px 5px 20px 5px rgba(64, 15, 79, 0.07);
  filter: sepia(20%);
  flex: 1 1 100px;
  margin: 50px auto;
  transition: 0.2s ease-in-out;
}
.card:hover {
  box-shadow: 5px 5px 25px 10px rgba(64, 15, 79, 0.15);
  transform: translateY(-15px);
  filter: none;
}
.card-img{
  border-radius: 25px 25px 0px 0px;
  display: block;
  object-fit: cover;
  width: 100%;
}
.card-padding{
  padding: 30px;
}





/* ----------------------------------------------------------------MOBILE RESPONSIVENESS---------------------------------------------------------------*/

/* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 768px) {
  body {
    font-size: 12px;
    overflow-x: hidden;
  }
  .main-container{
    margin: 0 6vw;
    margin-top: 100px;
    width: 85vw;
  }
  .nav-container {
    padding: 10px 5vw;
    margin: 2vw;
    border-radius: 30px;
  }
  nav a {
    font-family: Pixel-Sans;
    font-size: 3em;
    text-decoration: none;
  }
  #grad1 {
    height: 450px;
  }
  #grad2 {
    height: 580px;
  }
  .card {
    filter: none;
  }
}

/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {
  body {
    font-size: 13px; 
  }
  #grad1 {
    height: 450px;
  }
  #grad2 {
    height: 600px;
  }
}

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {
  /* current default */
  body {
    font-size: 14px; 
  }
  .row-grid {
    grid-template-columns: 1fr;
  }
}

/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1200px) {
  body {
    font-size: 16px; 
  }
  #grad1 {
    height: 500px;
  }
  #grad2 {
    height: 650px;
  }
}





/* ----------------------------------------------------------------DECORATIONS---------------------------------------------------------------*/

.highlight-white{
  color: var(--white);
}
.highlight-magenta{
  color: var(--magenta);
}


.gradients{
  max-width: 100%;
  max-height: 100%;
  overflow: hidden;
}
#grad1 {
  background: radial-gradient(farthest-side at center, var(--black) 20%, rgba(255, 255, 255, 0) 100%);
  margin-left: -40vw;
  margin-top: -200px;
  position: absolute;
  width: 200vw;
  z-index: -1;
}
#grad2 {
  background: radial-gradient(farthest-side at center, var(--black) 20%, rgba(255, 255, 255, 0) 100%);
  margin-left: -30vw;
  margin-top: -300px;
  position: absolute;
  width: 140vw;
  z-index: -1;
}
#pinkGrad1 {
  background: radial-gradient(farthest-side at center, var(--magenta) 20%, var(--lilac) 60%, rgba(255, 8, 8, 0) 100%);
  margin-left: 40vw;
  opacity: 40%;
  margin-top: 100px;
  position: absolute;
  height: 800px;
  width: 120vw;
  z-index: -1;
}
