* {
  padding: 10px;
  box-sizing: border-box;
}

html, body {
  display: flex;
  max-height: 100%;
  width: 100vw;
  flex-direction: column;
  background-image: linear-gradient(#9bb8d0, #879098);
}

#title {
  display: flex;
  align-self: center;
  justify-content: center;
  margin-top: 1px;
  font-family: 'Montserrat', sans-serif;
  font-size: 125px;
  background-image: linear-gradient(to right, #e4d9d9 53.5%,  #9a1a1a 50%);
  -webkit-background-clip: text;
  color: transparent;
  filter: drop-shadow(5px 15px 15px #222e44);
  border: none;
  margin-top: -45px;
}

.front-of-cards {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;  
}

#dealer-card1 {
  display: flex;
}

#dealer-card0, #dealer-card1, #dealer-card2, #dealer-card3, #dealer-card4 {
  display: flex;
  flex-direction: row;
  height: 170px;
  border-radius: 15px;
  background-image: linear-gradient(to bottom, #efefef, #dcdcdc);
  padding: 5px;
  margin: 0px 0px 0px -80px;
  border: none;
  box-shadow: 5px 7px 15px #1c2534;

}

#card-front0, #card-front1, #card-front2, #card-front3, #card-front4 {
  display: flex;
  flex-direction: row;
  height: 200px;
  border-radius: 15px;
  background-image: linear-gradient(to bottom, #ffffff, #c3c4c5);
  padding: 5px;
  margin: 0px -75px 30px 0px;
  border: none;
  box-shadow: 5px 20px 40px #1c2534;
}

#info-box {
  display: flex;
  align-items: center;
  padding: 10px;
  border: none;
  border-radius: 15px;
  margin-bottom: -290px;
  justify-content: space-evenly;
}

#current-bet-value {
  display: flex;
  width: 180px;
  justify-content: right;
  color: #982323;
  text-shadow: -2px -2px 0 #cecbcb, 2px -2px 0 #cecbcb, -2px 2px 0 #cecbcb, 2px 2px 0 #cecbcb;
  border-radius: 15px;
  box-shadow: 10px 3px 30px #1c2534;
  padding: 20px;
  background-image: linear-gradient(#e27e7e, #703c3c);
}

.dealer-cards {
  display: flex;
  flex-direction: row;
  border-radius: 15px;
}

.game-info {
  display: flex;
  flex-direction: column;
  text-align: left;
  padding: 10px;
  margin: 0px -100px 0px 0px;
  border: none;
  border-radius: 17px;
  box-shadow: 5px 10px 30px #1c2534;
  width: 480px;
  height: 200px;
  font-size: 50px;
  font-family: 'Montserrat', sans-serif;
  color: #e2dddd;
  background-image: linear-gradient(#4486c0, #204463);
}



#current-player-balance {
  color: #387538;
  text-shadow: -2px -2px 0 #cecbcb, 2px -2px 0 #cecbcb, -2px 2px 0 #cecbcb, 2px 2px 0 #cecbcb;
}

.game-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  bottom: -350px;
  border: none;
}
.buttons {
  display: flex;
  flex-direction: row;
  justify-content: space-evenly;
  align-items: center;
  width: 600px;
}

#bet-btn, #stay-btn, #hit-btn {
  border: none;
  border-radius: 15px;
  font-size: x-large;
  font-family: 'Montserrat', sans-serif;
  cursor: pointer;
  height: 80px;
  width: 150px;
  box-shadow: 5px 10px 20px #1c2534;
}
#bet-btn {
  color: #5cb35c;
  background-image: linear-gradient(to bottom, #225d22, #0e2d0e);
  text-shadow: 1px 2px 3px rgba(0, 0, 0, .5);
  z-index: 1;
}

#stay-btn{
  color: #c88383;
  background-image: linear-gradient(to bottom, #8c3a3a, #4b1010);
  text-shadow: 1px 2px 3px #2b0909;
}
#hit-btn{
  color: #7196bb;
  background-image: linear-gradient(#29406d, #0f223a);
  text-shadow: 1px 4px 3px #0f223a;
}

.bet-actions{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border: none;
}

.outcome-message{
  display: flex;
  flex-direction: row;
  align-self: center;
  text-align: center;
  justify-content: space-between;
  flex-direction: column;
  font-size: 40px;
  font-family: 'Montserrat', sans-serif;
  line-height: 100%;
  margin-top: 50px;
  max-height: 100%;
}

#reset {
  display: flex;
  justify-content: center;
  align-self: center;
  height: 70px;
  width: 200px;
  border: none;
  border-radius: 15px;
  margin: 90px;
  font-size: xx-large;
  font-family: 'Montserrat', sans-serif;
  background-color: #e28e8e;
  cursor: pointer;
  color: #ffffff;
  filter: drop-shadow(0px 10px 15px #1d1d1d);
}

#next-turn {
  display: flex;
  justify-content: center;
  align-self: center;
  border: none;
  border-radius: 15px;
  font-size: xx-large;
  font-family: 'Montserrat', sans-serif;
  background-color: #39497f;
  cursor: pointer;
  color: #ffffff;
  margin: 20px;
  height: 80px;
  width: 500px;
  filter: drop-shadow(0px 8px 15px #1d1d1d);
}

#bet-slider {
  -webkit-appearance: none;
  height: 7px;
  width: 350px;
  background-image: linear-gradient(#a1b2c1, #61676e);
  border-radius: 20px;
  outline: none;
  margin: 25px;
  box-shadow: 10px 30px 20px #1c2534;
  z-index: 0;
}
#bet-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 30px;
  height: 30px;
  background-image: linear-gradient(#396387, #102741);
  border-radius: 100%;
  cursor: pointer;
  filter: drop-shadow(0px 5px 3px #0d103b);

}

/* ----------------------- MOBILE VARIATION ----------------------- */
@media (max-width: 767px) {

    html, body {
      height: 100%;
      overflow-x: hidden;
      margin: 0px 0px -200px;
      display: flex;
      flex-direction: column;
      background-image: linear-gradient(#678cb4, #c7a48e);

    }
    
    #title {
      display: flex;
      align-self: center;
      justify-content: center;
      margin-top: 1px;
      margin-right: 20px;
      font-family: 'Montserrat', sans-serif;
      font-size: 60px;
      background-image: linear-gradient(to right, #e4d9d9 53.5%,  #9a1a1a 50%);
      -webkit-background-clip: text;
      color: transparent;
      filter: drop-shadow(2px 5px 7px #222e44);
      border: none;
      width: 100%;
    }

    
    #dealer-card0, #dealer-card1, #dealer-card2, #dealer-card3, #dealer-card4 {
      display: flex;
      justify-content: space-between;
      align-self: right;
      flex-direction: row;
      height: 100px;
      border-radius: 15px;
      background-image: linear-gradient(to bottom, #efefef, #dcdcdc);
      margin-right: -6px;
      margin-left: -10px;
      margin-bottom: -150px;
      border: none;
      box-shadow: 5px 10px 20px #1c2534;
    }

    .front-of-cards {
      display: flex;
      justify-content: center;
      align-content: center;
      width: 100%;
      border: none;
      margin: -0px 0px 0px -60px;
    }
  
    
    #card-front0, #card-front1, #card-front2, #card-front3, #card-front4 {
      display: flex;
      flex-direction: row;
      height: 125px;
      border-radius: 15px;
      background-image: linear-gradient(to bottom, #ffffff, #c3c4c5);
      padding: 5px;
      margin: 0px -75px 30px 0px;
      border: none;
      box-shadow: 10px 20px 20px #303137;
    }
    
    #info-box {
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    
    .game-info {
      display: flex;
      flex-direction: column;
      text-align: center;
      padding: 10px;

      border: none;
      border-radius: 17px;
      box-shadow: 10px 20px 30px #1c2534;
      width: 150px;
      height: 100px;
      font-size: 20px;
      font-family: 'Montserrat', sans-serif;
      color: #e2dddd;
      background-image: linear-gradient(#4486c0, #204463);
    }
    
    
    #bet-amount {
      display: flex;
      margin-bottom: -33px;
      margin-left: 2px;
      width: 200px;
      justify-content: left;
      font-size: 13px;
      color: #0d103b;
      position: relative;
      z-index: 1;
    }

    #current-bet-value{
      display: flex;
      height: 40px;
      width: 150px;
      font-size: 30px;
      text-align: center;
      background-image: linear-gradient(to bottom, #fde8e8, #c9b4b4);
      border-radius: 20px;
    }

    .game-container {
      display: flex;
      width: 350px;
      height: 400px;
      margin-top: -20px;
      justify-content: center;
      flex-direction: column;
      align-items: center;
    }

    .buttons {
      display: flex;
      flex-direction: row;
      justify-content: center;
      border: none;
    }
    
    #bet-btn, #stay-btn, #hit-btn {
      border: none;
      border-radius: 15px;
      font-size: large;
      font-family: 'Montserrat', sans-serif;
      cursor: pointer;
      height: 80px;
      width: 100px;
      box-shadow: 10px 20px 40px #1c2534;
    }
    
    #bet-btn {
      color: #5cb35c;
      background-image: linear-gradient(to bottom, #225d22, #0e2d0e);
      text-shadow: 1px 2px 3px rgba(0, 0, 0, .5);
    }
    
    #stay-btn{
      color: #c88383;
      background-image: linear-gradient(to bottom, #8c3a3a, #4b1010);
      text-shadow: 1px 2px 3px #2b0909;
    }
    
    #hit-btn {
      color: #7196bb;
      background-image: linear-gradient(#29406d, #0f223a);
      text-shadow: 1px 4px 3px #0f223a;
    }
    
    #bet-slider {
      width: 80%;
      margin: 20px auto;
    }
  
    .bet-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    }
  
    .outcome-message{
      display: flex;
      flex-direction: row;
      align-self: center;
      justify-content: space-between;
      flex-direction: column;
      font-size: 20px;
      font-family: 'Montserrat', sans-serif;
      text-align: center;
      line-height: 40px;
      margin-top: 20px;
      margin-right: 20px;
      z-index: 0;
    }

    #reset {
      display: flex;
      justify-content: center;
      align-self: center;
      width: 200px;
      border: none;
      border-radius: 15px;
      font-size: xx-large;
      font-family: 'Josefin Sans', sans-serif;
      background-color: #e28e8e;
      cursor: pointer;
      color: #ffffff;
      filter: drop-shadow(0px 8px 15px #1d1d1d);
    }
  
    #next-turn {
    display: flex;
    justify-content: center;
    align-self: center;
    border: none;
    border-radius: 15px;
    font-size: xx-large;
    font-family: 'Josefin Sans', sans-serif;
    background-color: #39497f;
    cursor: pointer;
    color: #ffffff;
    margin: 20px;
    height: 60px;
    width: 370px;
    filter: drop-shadow(0px 8px 15px #1d1d1d);
    } 

    #bet-slider {
    -webkit-appearance: none;
    height: 0.5rem;
    width: 300px;
    background-color: #39497f;
    border-radius: 20px;
    outline: none;
    margin: 20px auto;
    filter: drop-shadow(0px 10px 5px #878787);
    }
  
    #bet-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 1.5rem;
    height: 1.5rem;
    background-color: #7587c3;
    border-radius: 35%;
    cursor: pointer;
    margin: -10px;
    filter: drop-shadow(0px 5px 3px #0d103b);
    }    

    #dealer-total, #player-total {
    line-height: 1px;
    }
}