/* Reset properties */
*,
*::before,
*::after {
    box-sizing: border-box;
}

body,
main,
h1, h2, h3,
p {
    margin: 0;
}

  
/* Custom Properties */
:root {
  /* Font properties */
  font-size: 10px;
  --fs-0: 5.6rem;
  --fs-1: 4.0rem;
  --fs-2: 3.2rem;                             /* fs = font size */
  --fs-3: 2.4rem;
  --fs-4: 2.0rem;
  --fs-m: 1.8rem;                             /* m = medium */
  --fs-s: 1.6rem;                             /* s = small */

  --flh-0: 7.0rem;                            /* flh = font line height */
  --flh-1: 5.1rem;
  --flh-2: 4.0rem;
  --flh-3: 3.2rem;
  --flh-p: 2.6rem;

  --ff: 'Plus Jakarta Sans', sans-serif;
  --fw-m: 500;
  --fw-b: 700;
  --fw-xb: 800;

  /* Colour properties */
  --dark-clr-vdb: #13183F;                    /* Very dark blue - headers, footer bg, button */
  --dark-clr-gb: #666CA3;                     /* Gray blue - not sure where it is used yet */
  --dark-clr-g: #82869A;                      /* Gray - paragraphs */

  --light-clr-sp: #F74780;
  --light-clr-fp: #FFa7C3;
  --light-clr-w:  #FFF;

  --gradient-clr-1: #F02AA6;
  --gradient-clr-2: #4851FF;
  --gradient-1: linear-gradient(#FF6F48, #F02AA6);
  --gradient-2: linear-gradient(#4851FF, #F02AA6); 

  /* Hover state properties */
  --btn1-hover-clr: rgba(19, 24, 63, .7);
  --btn2-hover-clr: rgba(240, 42, 166, .7);
  --btn3-hover-clr: rgba(72, 81, 255, .7);
  --link-hover-clr: rgba(247, 71, 128, .5);

  /* Gloabl Padding properties */
  --padd-phone: 1.8em;
  --padd-ipad: 2em 2em;
  --padd-desktop: 2em 0; 

  /* Global content width properties */
  --width-ipad: 90%;
  --width-desktop: 90%;
}

/* General styles */
.container {
  padding: var(--padd-phone);
}

.container {
  margin-left: auto;
  margin-right: auto;
}

.button {
  border: none;
  border-radius: 3rem;
  padding: 1em 2.2em;
}

.button:hover {
  opacity: 0.7;
}

img {
  max-width: 100%;
}

.box {
  border: none;
  border-radius: 1em;
  background-color: white;
  margin: 4em 0;
  padding: 0 2.5em 3em 2.5em;
}

/* General typography */
h1, h2, h3,
p {
    font-family: var(--ff);
}

h1 {
  font-size: var(--fs-1);
  font-weight: var(--fw-xb);
  color: var(--dark-clr-vdb);
  line-height: var(--flh-1);
}

h2 {
  color: var(--light-clr-w);
  font-size: var(--fs-3);
  font-weight: var(--fw-xb);
  line-height: var(--flh-3);
}

h3 {
  font-size: var(--fs-4);
  font-weight: var(--fw-xb);
  line-height: var(--flh-3);
}

p {
  font-size: var(--fs-s);
  font-weight: var(--fw-m);
  color: var(--dark-clr-g);
  line-height: var(--flh-p);
}

.box-link {
  font-family: var(--ff);
  font-size: var(--fs-m);
  font-weight: var(--fw-b);
  color: var(--light-clr-sp);
  text-decoration: none;
}

.button {
  font-family: var(--ff);
  font-size: var(--fs-s);
  font-weight: 700;
  text-decoration: none;
}


/* Body */
body {
    background: var(--light-clr-w);
    background: linear-gradient(180deg, #FFFFFF 0%, #F0F1FF 100%);
    max-width: 100%;
    min-width: 280px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Header */
.header {
    background-color: white;
    min-width: 100%;
}

.header .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header-logo {
    max-height: 2.3em;
    max-width: 9em;
}

.header-btn {
    color: var(--light-clr-w);
    background-color: var(--dark-clr-vdb);
    padding: .8em 1.8em;
}

/* Hero */
.hero-text .hero-p {
    margin: 1.5em 0;
}

.hero-btn {
    color: var(--light-clr-w);
    background: var(--gradient-clr-1);
    background: var(--gradient-1);
    filter: drop-shadow(0px 4px 2px rgba(0, 0, 0, 0.35));
}

.hero-img {
  max-width: 100%;
  height: auto;
}

/* Main */
.main {
  padding-top: 0;
}
.main-header {
    color: var(--light-clr-w);
}

.header-box {
  background: var(--light-clr-sp);
  background: var(--gradient-1);
  margin-top: 0;
  padding: 3rem 2.8em;
}

.box img {
  margin-top: -25px;    /* Positions icon outside of container */
}

.box-title {
  color: var(--dark-clr-vdb);
  margin: 1em 0;
}

.box p {
  margin-bottom: 1em;
}

.box-link:hover {
  opacity: 0.5;
}

/* Footer */
footer {
  background-color: var(--dark-clr-vdb);
  padding: 2em 0;
  min-width: 100%;
}

.footer .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.footer .container img {
  max-height: 35px;
  max-width: 89px;
}

.footer-btn {
  color: var(--light-clr-w);
  background: var(--gradient-clr-2);
  background: var(--gradient-2);
}

#footer-btn:hover {
  background-color: linear-gradient(90deg, rgba(72,81,255,0.2) 100%, rgba(240,42,166,1) 100%);
}

  /* ----------------------------------------------------------------------------- */
  /* ----------------------------------------------------------------------------- */
  /* ----------------------------------------------------------------------------- */
  /* ----------------------------------------------------------------------------- */
  @media (min-width: 600px) {
    /* General Styling */
    body {
      max-width: 768px;
      margin: 0 auto;
    }

    header {
      z-index: 100;
    }
    .container {
      
      width: var(--width-ipad);
    }

    /* Hero section */
    .hero {
      
      
    }

    .hero-container {
      padding-top: 22px;
      display: flex;
      flex-direction: column;
    }
    
    .hero-text {
      /* padding-top: 22em; */
      min-width: 100%;
    }

    .hero-text h1 {
      width: 54%;
    }

    .hero-text p {
      width: 64%;
    }

    .hero-img {
      max-width: 61.7%;
      margin-top: 2.8em;
      align-self: center;
    }

    .hero-img img {
      width: 170%;
      height: 100%;
      object-fit: contain;
      position: relative;
      left: 50%;
      transform: translateY(-50%);
    }

    /* Main */
    .main {
      display: flex;
      flex-wrap: wrap;
    }

    .box {
      max-width: 50%;
      flex: 1;
      margin: 2em .5em 3em .5em;
      min-width: 40%;
    }
    
    .header-box {
      padding-top: 5.3em;
    }
  }
/* ----------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------- */
@media (min-width: 900px) {
  /* General style */
  body {
    max-width: 100%;
    margin: 0 auto;
  }
  .header {
    width: 80%;
    margin: 0 auto;
    padding: var(--padd-desktop);
  }

  .container {
    width: var(--width-desktop);
    margin: 0 auto;
    padding: var(--padd-desktop);
  }

  /* General Typography */
  h1 {
    font-size: var(--fs-0);
    font-weight: var(--fw-xb);
    color: var(--dark-clr-vdb);
    line-height: var(--flh-0);
  }

  h2 {
    color: var(--light-clr-w);
    font-size: var(--fs-2);
    font-weight: var(--fw-xb);
    line-height: var(--flh-2);
  }

  h3 {
    font-size: var(--fs-3);
    font-weight: var(--fw-xb);
    line-height: var(--flh-3);
  }

  p {
    font-size: var(--fs-m);
    font-weight: var(--fw-m);
    color: var(--dark-clr-g);
    line-height: 2.8rem;
  }

  /* Header section */
 

  /* Hero section */
  
  .hero {
    /* display: flex;
    flex-direction: column; */
    max-width: 100%;
    align-self: flex-start;
    /* margin-top: 12em;
    margin-bottom: 20em; */
    padding: var(--padd-desktop);
  }

  .hero-text {
    padding-top: 36em;
    min-width: 50%;
  }

  .hero-text p {
    max-width: 82%;
  }

  .hero-img {
    min-width: 100%;
    height: auto;
  }
  
  /* Main section */
  .main {
    display: flex;
    flex-wrap: wrap;
  }

  .box {
    max-width: 50%;
    flex: 1;
    margin: 2em .5em 3em .5em;
    min-width: 30%;
    max-width: 33%;
  }
  
  .header-box {
    padding-top: 5.3em;
  }

  .main-box-para {
    padding-bottom: 2em;
  }
}