@font-face {
    font-family: "grotesk";
    src: url("../alpha/font/HostGrotesk-Medium.ttf");
    font-style: normal;
    font-display: swap;
    font-weight: 200 800;
  }
  
  @font-face {
    font-family: "bold";
    src: url("../alpha/font/HostGrotesk-Bold.ttf");
    font-style: normal;
    font-display: swap;
    font-weight: 200 800;
  }

  html {
    --white: #ffffff;
    --gray-white: #EAEAEA;
    --yellow: #EAEA05;
    --gold: #BD891A;
    --charcoal: #2A2A2A;
    --gray: #777777;
    --black: black;
    scroll-behavior: smooth;
  
    --tbody: 'grotesk', Arial, sans-serif;
    --ttitle: 'bold', Arial, sans-serif; 
  
  }


  body {
    background-image: linear-gradient(to right top, #33363b, #272c2f, #1e2223, #161918, #0c0d0c);
    background-repeat: no-repeat;
    background-size: cover; 
    background-position: center; 
    background-attachment: fixed;
    padding: 0 100px;

    color: var(--white);

    /* h1, h2, h3 {
      font-family: var(--ttitle);
    } */
    

    p, h1, h2, h3 {
      font-family: var(--tbody);
    }
  }

  header {
    display: flex;
    flex-direction: row;
    justify-content: space-between;

    #lh {
      display: flex;
      flex-direction: row;
      justify-content: center;
      align-items: center;
      gap: 10px;

      img {
        width: 60px;
        height: auto;
      }
    } 

    .hcolor {
      color: var(--yellow);
    }
  }

  #title {
    justify-self: center;
    margin: 0;
  }

  #assgnmtgrid {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 30px;
    margin: 50px 0;
  }



  .assignment {
    background-color: var(--gray-white);
    border-radius: 30px;
    padding: 35px;
    width: 1100px;
    color: var(--black);
    

    button {
      font-family: var(--tbody);
      margin: 0;
      padding: 5px 15px;
      color: var(--white);
      background-color: var(--black);
      border: 3px solid var(--black);
      border-radius: 30px;
      box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
      transition: all 0.3s ease-in-out;
      

      a {
          color: var(--white);
          font-size: 18px;
          margin: 0;
          text-decoration: none;
      }
    }

    button:hover {
      color: var(--black);
      background-color: transparent;

      a{
          color: var(--black);
      }
    }

    p {
        color: var(--charcoal);
      }

      .inbox {
        padding: 15px;
        background-color: var(--white);
        margin: 30px;
        border-radius: 30px;
        gap: 20px;
      }

      .inboxin {
        background-color: var(--gray-white);
        padding: 20px;
        margin: 10px;
        border-radius: 20px;
      }


  }


  .animgif {
    width: 800px;
    max-width: 1200px;
    border-radius: 30px;
    margin: 50px 0;
  }


    /* final build */

  .cardcontainer {
    width: 950px;
    height: 500px;
    perspective: 1000px;
  }



  .cardfull {
    width: 950px;
    height: 500px;
    background: none;
    display: inline-block;
    position: relative;
    transform-style: preserve-3d;
    transition: transform 0.5s ease-in-out;

  }



  .cardview {
  background: var(--black);
  transition: all 0.5s ease;
  color: var(--white);
  overflow: hidden;
  border-radius: 10px;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: auto; 
  height: auto;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 30px;
  position: absolute;
  transform: rotateY(0deg);
  backface-visibility: hidden;
   z-index: 2;
  

  img{
    width: 400px;
    height: auto;
    object-fit: cover;
    filter: grayscale(100%);
    transform: scale(1);
    transition: all 0.5s ease-in-out;
  }

  

}

.grayy {
    color: var(--gray);
  }

.cardview:hover {
  background: linear-gradient(
    161deg,
    rgba(85, 85, 85, 1) 0%,
    rgba(40, 40, 40, 1) 18%,
    rgba(15, 15, 13, 1) 38%,
    rgba(0, 0, 0, 1) 100%
  );

  img {
    filter: grayscale(0%);
    transform: scale(1.1);
  }
}

.intxt {
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    max-width: 400px;

    h3 {
      margin: 0;
    }

    h2 {
      margin-top: 0;
    }

    .menu {
      position: relative;
      display: inline-block;
      overflow: hidden;
      width: 230px;
      border-radius: 100px;
      margin-top: 50px;
      
      

      .btn {
        position: relative;
        width: 70px;
        height: 70px;
        border-radius: 50%;
        background-color: var(--gray);
        display: flex;
        z-index: 3;
        justify-content: center;
        align-items: center;
        transition: all .5s ease-in-out;

        ion-icon {
          font-size: 40px;
          transform: rotate(0deg);
          transition: transform .5s ease-in-out;
        }  
        
      }


      
      .submenu {
        width: 150px;
        height: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        gap: 25px;
        padding: 0 30px;
        background-color: var(--white);
        border-radius: 100px;
        z-index: 1;
        position: absolute;
        top: 0;
        left: 0;
        transform: translateX(-140px);
        pointer-events: none;
        transition: transform .5s ease-in-out;
        overflow: hidden;
        
    

        ion-icon {
          font-size: 30px;
          color: var(--black);
        }
      }

      .favbtn {
        transition: opacity 0.5s ease-in-out;
      }


      .favbtn.active {
      
        color: var(--yellow);
      }
      

    }

    /* When clicked */
    .menu.active {

      .btn ion-icon {
        transform: rotate(135deg);
      }
    }


    .menu.open .submenu {
      transform: translateX(0); /* slides right from btn */
      /* margin-left: -12px; */
      pointer-events: auto;
    }


    /* share button animation */

  .shareicon {
    position: relative;
    display: inline-block;

    ion-icon:last-child {
      position: absolute;
      top: 0;
      left: 0;
      opacity: 0;
      pointer-events: none;
    }
  }

  .shareicon:active {

    ion-icon:last-child {
      opacity: 1;
      animation: bounce 0.5s ease-in-out forwards;
    }
  }

  }


  @keyframes bounce {
      50% {
        transform: rotate(5deg) translate(20px, -50px);
      }
      to {
        transform: scale(1) rotate(10deg) translate(40px, -60px);
        opacity: 0;
      }
    }


  /* back of card */

  .cardback {
    background: var(--charcoal);
    color: var(--white);
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: auto; 
    height: auto;
    overflow: hidden;
    border-radius: 10px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    padding: 50px;
    position: absolute;
    backface-visibility: hidden;
    transform: rotateY(180deg);
    z-index: 1;
  }

    

  /*  button to flip */
    .cflip {
      background-color: var(--white);
      padding: 15px;
      position: relative;
      display: inline-block;
      width: 350px;
      overflow: hidden;
      z-index: 0;  


      .txt  {
        color: var(--black);
        place-self: center;
        justify-self: center;
        position: relative;
        place-self: center;
        width: 100%;
        height: 100%;
        z-index: 1;
        background-color: transparent;

        h2 {
          margin: 0;
          justify-self: center;
        }
      }

      .behind {
        position: absolute;
        top: 0;
        left: 0;                
        width: 100%;
        height: 100%;
        width: 100%;
        height: 100%;
        background: var(--gold);
        z-index: -1;          /* keep text above the fill */
        transform: translateX(-120%);
        transition: transform .5s ease-in-out;
      }

    
    }

    /* slide into place on hover */
    .cflip:hover .behind {
      transform: translateX(0);
    }

    .cardfull.flipped {
      transform: rotateY(180deg);
    }
    


  

  footer {
    justify-items: center;

    p {
      color: var(--gray);
    }
  }






/* big Tablet */
@media (max-width: 1024px) {
  body {
    padding: 0 50px;
  }

  #assgnmtgrid {
    gap: 20px;
    margin: 40px 0;
  }

  .assignment {
    width: 100%;
    padding: 25px; 
  }

  .imgbox {
    padding: 20px;
    gap: 20px;
  }

  .imggrp {
    flex-direction: column;
    gap: 20px;
  }

  .animgif {
    width: 90%;
  }

  .cardcontainer {
    width: 100%; 
    height: auto;
    max-width: 750px; 
  }

  .cardfull {
    width: 100%; 
    height: 500px; 
  }

  .cardview {
    flex-direction: row; 
    gap: 20px;
    
    img {
      width: 300px; 
      height: auto;
    }
  }

  .intxt {
    padding: 20px;
    max-width: 350px; 
  }

  .cflip {
    width: 280px; 

    .txt h2 {
      font-size: 18px; 
    }
  }

  .menu {
    width: 200px;

    .btn {
      width: 60px;
      height: 60px;
      
      ion-icon {
        font-size: 32px; 
      }
    }

    .submenu {
      width: 130px;
      gap: 15px;
      padding: 0 20px;
      transform: translateX(-120px);

      ion-icon {
        font-size: 24px;
      }
    }
  }
}




/* tablet */
@media (max-width: 770px) {
  body {
    padding: 0 20px;
  }

  #assgnmtgrid {
    margin: 20px 0;
    gap: 15px;
  }

  .assignment {
    width: 100%;
    padding: 10px; 
  }

  .imgbox {
    padding: 15px;
    gap: 15px;
  }

  .imggrp {
    flex-direction: column;
    gap: 15px;
  }

  .animgif {
    width: 100%;
  }

  .cardcontainer {
    width: 100%;
    height: auto;
  }

  .cardfull {
    width: 100%;
    height: 400px; 

    p {
      font-size: 15px;
    }

    h2 {
      font-size: 20px;
    }
  }

  .cardview {
    height: 400px;
    gap: 15px;
    
    
    img {
      max-width: 350px;
      object-fit: cover; 
    }
  }

  .intxt {
    padding: 15px;
    max-width: 100%; 
  }

  .intxt .menu {
    width: 180px;
    margin-top: 0;

    .btn {
      width: 60px;
      height: 60px;
      
      ion-icon {
        font-size: 25px;
      }
    }

    .submenu {
      width: 120px;
      gap: 12px;
      padding: 0 18px;
      transform: translateX(-110px);

      ion-icon {
        font-size: 25px;
      }
    }
  }

  .cflip {
    max-width: 250px;
    padding: 10px;

    .txt h2 {
      font-size: 16px;
      margin: 0;
    }
  }


  .assignment button {
    font-size: 16px;
    padding: 8px 16px; 
  }
}

/* Mobile */
@media (max-width: 480px) {
  body {
    padding: 0 15px;
  }

  header img {
    width: 30px;
  }

  header h1 {
    font-size: 20px;
  }

  #title {
    display: flex;
    justify-content: center;
    font-size: 20px;
  }



  .assignment {
    padding: 5px;
    border-radius: 10px; 

    .inbox {
      margin: 10px;

    }

  }



  .imgbox {
    padding: 10px;
    gap: 10px;
  }

  .cardcontainer {
    width: 100%;
    height: auto;
  }

  .cardfull {
    width: 100%;
    height: 400px; 
  }

  .cardview {
    height: 400px;
    gap: 10px;
    
    img {
      width: 150px; 
      object-fit: cover;
    }
  }

  .cardback {
    height: auto;
    padding: 10px; 
    
    
    h2 {
      font-size: 15px; 
      margin: 10px;
    }
    
    p {
      font-size: 12px;
      margin: 7px;
    }
  }

  .intxt {
    padding: 15px;
    gap: 15px;
    
    h2 {
      font-size: 15px; 
      margin: 5px;
    }

    h3 {
      font-size: 14px;
    }
    
    p {
      font-size: 12px; 
      margin: 5px;
    }
  }

  .cflip {
    max-width: 160px;
    
    .txt h2 {
      font-size: 13px;
    }
  }

  .menu {
    width: 150px;
    margin-top: 20px;

    .btn {
      width: 45px;
      height: 45px;
      
      ion-icon {
        font-size: 24px;
      }
    }

    .submenu {
      width: 105px;
      gap: 10px;
      padding: 0 15px;
      transform: translateX(-95px);

      ion-icon {
        font-size: 20px;
      }
    }
  }

  .inboxin {
    display: flex;
    flex-direction: column;
    padding: 15px; 
    margin: 5px; 
  }

  footer {
    text-align: center;
    
    p {
      font-size: 14px;
    }
  }
}


