/* universal style reset */
* {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    
}

/* variables for page colors */
 :root {
    --lilac: #3B2244;
    --teal: #105160;
    --green: #2d7670;
    --ivory: #e7e6e3;
    --black: #000000;
 }

html { 
  background-color: #000; 
}

body {
    min-height: 100vh;
    max-width: 100vw;
    margin: 0 auto;
}

 /* header background and styling */
.hero-section {
    background-image: url("./newbackground.png");
    background-size: cover;
    height: 40vh;
    text-align: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;        
}

/* main page title */
#title {
    font-family: 'Permanent Marker', cursive;
    font-size: 5em;
    color: var(--black);
    text-shadow: 3px 3px 3px var(--lilac);
}

/* header sub text styling */
#subtitle {
    font-family: 'Kalam', cursive;
    font-size: 2em;
    text-shadow: 1px 1px 1px var(--lilac);
}

/* styling for the image drag and drop area */
.file-upload {
  font-family: 'Kalam', cursive;
  background-color: var(--ivory);
  width: 70%;
  margin: 15px 15px 15px auto;
  padding: 20px;
  border-radius: 4px;
  border: 1px solid var(--lilac);
  box-shadow: 2px 2px 5px var(--lilac);
  height: 90%;
}
  
.file-upload-btn {
  font-family: 'Kalam', cursive;
  width: 100%;
  margin: 0;
  color: var(--ivory);
  background: var(--green);
  border: none;
  padding: 10px;
  border-radius: 4px;
  border-bottom: 4px solid var(--teal);
  transition: all .2s ease;
  outline: none;
  text-transform: uppercase;
  font-weight: 700;
}
  
.file-upload-btn:hover {
  font-family: 'Kalam', cursive;
  background: var(--lilac);
  color: var(--ivory);
  transition: all .2s ease;
  cursor: pointer;
}

.file-upload-btn:active {
  border: 0;
  transition: all .2s ease;
}

.file-upload-content {
  display: none;
  text-align: center;
}

.file-upload-input {
  position: absolute;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  outline: none;
  opacity: 0;
  cursor: pointer;
}

.image-upload-wrap {
  margin-top: 20px;
  border: 4px dashed var(--teal);
  position: relative;
}

.image-dropping,
.image-upload-wrap:hover {
  background-color: var(--lilac);
  border: 4px dashed var(--green);
}

.image-title-wrap {
  padding: 0 15px 15px 15px;
  color: var(--black);
}

.drag-text {
  font-family: 'Kalam', cursive;
  text-align: center;
}

.drag-text h3 {
  font-family: 'Kalam', cursive;
  font-weight: bolder;
  text-transform: uppercase;
  color: var(--green);
  padding: 60px 0;
}

.file-upload-image {
  max-height: 200px;
  max-width: 200px;
  margin: auto;
  padding: 20px;
}

.remove-image {
  font-family: 'Kalam', cursive;
  width: 200px;
  margin: 0;
  color: var(--ivory);
  background: var(--lilac);
  border: none;
  padding: 10px;
  border-radius: 4px;
  border-bottom: 4px solid var(--teal);
  transition: all .2s ease;
  outline: none;
  text-transform: uppercase;
  font-weight: 700;
}

.remove-image:hover {
  font-family: 'Kalam', cursive;
  background: var(--lilac);
  color: var(--ivory);
  transition: all .2s ease;
  cursor: pointer;
}

.remove-image:active {
  border: 0;
  transition: all .2s ease;
}

/* body styling */
body {
    background-image: linear-gradient(var(--lilac), var(--black));
    margin: 10px;
}

/* styling for three anime option cards */
.card {
  margin: 15px auto 15px 15px;
  border-radius: 4px;
  border: 1px solid var(--lilac);
  box-shadow: 2px 2px 5px var(--lilac);
}

.card-divider {
  font-family: 'Kalam', cursive;
  font-size: x-large;
  color: var(--ivory);
  justify-content: center;
  background-color: var(--green);
  border-bottom: 4px solid var(--teal);
}

/* styling for the list of past searches. Allows scroll function */
#prev {
  height: 248px;
  background-color: var(--ivory);
  overflow-y: scroll;
}

/* text section of a card */
.card-section {
  height: 170px;
  background-color: var(--ivory);
}

/* styling for anime card options, not previous searches */
.oops-options {
  font-family: 'Mulish', sans-serif;
  max-height: 112px;
}

h4 {
  font-family: 'Mulish', sans-serif;
}

.button {
  font-family: 'Mulish', sans-serif;
  background-color: var(--green);
  border-bottom: 4px solid var(--teal);
  color:var(--ivory);
}

.button:hover {
  font-family: 'Mulish', sans-serif;
  background-color: var(--lilac);
}

.button:focus {     
  background-color:var(--lilac);    
}

/* adjust styling of foundation grid */
.grid-margin-x {
  max-width: 99vw;
  min-height: 40vh;
}

/* styling for the area in which anime info is populated */
.container-anime-info {
  margin: 10px;
  padding-left: 20px;
  padding-right: 20px;
  background-color: var(--ivory);
  border: 1px solid var(--lilac);
  box-shadow: 2px 2px 5px var(--lilac);
  font-family: 'Mulish', sans-serif;
  color: var(--black);
  border-radius: 4px 4px 0px 0px;
}

/* styling for section where gifs are populated */
.gif-container {
  justify-content: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
}

/* styling for image in anime card options */
.imageTest {
  height: 200px;
}

/* button styling for each previous searched anime */
.previous {
  width: 100%;
}

/* styling for list element in previous search */
#list {
  list-style:none;
  margin-right: 20px;
}

/* FOOTER SECTION BELOW */
.site-footer {
  font-family: 'Kalam', cursive;
  background-color: var(--black);
  padding: 15px;;
  font-size:15px;
  line-height:24px;
  color: var(--ivory);
  padding-left: 20px;
  text-align: center;
}

.site-footer hr {
  font-family: 'Kalam', cursive;
  border-top-color: var(--ivory);
  opacity:0.5;
}

.site-footer hr.small {
  margin:20px 0
}

.site-footer h6 {
  font-family: 'Kalam', cursive;
  color:var(--green);
  font-size:16px;
  text-transform:uppercase;
  margin-top:5px;
  letter-spacing:2px
}

.site-footer a {
  font-family: 'Kalam', cursive;
  color: var(--teal);
}

.site-footer a:hover {
  font-family: 'Kalam', cursive;
  color: var(--green);
  text-decoration:none;
}

.footer-links {
  padding-left:0;
  display:flex;  
  list-style:none;
  justify-content: space-around;
}

.footer-links li {
  display:block
}

.footer-links a {
  font-family: 'Permanent Marker', cursive;
  color:var(--teal);
}

.footer-links a:active,.footer-links a:focus,.footer-links a:hover {
  font-family: 'Kalam', cursive;
  color:var(--green);
  text-decoration:none;
}

.footer-links.inline li {
  display:inline-block
}

.copyright-text {
  font-family: 'Kalam', cursive;
  margin:0;
  color: var(--lilac);
}

@media (max-width:991px) {
  .site-footer [class^=col-]
  {
    margin-bottom:30px
  }
}

@media (max-width:767px) {
  .site-footer
  {
    padding-bottom:0
  }
  .site-footer .copyright-text,.site-footer .social-icons
  {
    text-align:center
  }
}

/* previous search card overall styling */
#search-card {
  width: 70%;
}

/* sizing for the main grid contents for previous searches and image drop */
.cell {
  height: fit-content
}

/* styling of url input element on top of page */
.url-input {
  z-index: 100;
  background: transparent;
  margin: 15px auto;
  width: 71%;
  border: 2px dashed var(--ivory);
  font-family: 'Mulish', sans-serif;
  border-radius: 4px;
}

/* placeholder styling inside of input element */
::placeholder {
  text-align: center;
  font-family: 'Kalam', cursive;
  color: var(--ivory);
  font-size: 20px;
}

/* adds underline for the previous searches*/
#underline{
  text-decoration: underline;
}

/* adds underline styling to the add image button */
#underline-button {
  text-decoration: underline;
}

/* styling of loading dots */
.loader{
  margin: 20px auto;
  display: flex;
  align-items: center;
    
}

/* Creating the dots */
#dot{
  height: 25px;
  width: 25px;
  margin-right: 10px;
  border-radius: 50%;
  background-color: var(--ivory);
  animation: loading 1s linear infinite;
}

/* creates the loading dot movement animation*/
@keyframes loading {
  0%{
   transform: translateX(0);
  }
  25%{
   transform: translateX(15px);
  }
  50%{
   transform: translateX(-15px);
  }
  100%{
   transform: translateX(0);
  }
    
}

/* styling to cause delay in order to make a wave like motion */
#dot:nth-child(1){
 animation-delay: 0.1s;
}
#dot:nth-child(2){
 animation-delay: 0.2s;
}
#dot:nth-child(3){
 animation-delay: 0.3s;
}
#dot:nth-child(4){
 animation-delay: 0.4s;
}
#dot:nth-child(5){
 animation-delay: 0.5s;
}

/* @media to redefine styling for smaller screens such as mobile */
/* styling for laptop sizes */
@media screen and (max-width: 1024px) {

  #title {
    font-size: 3em;
    text-align: center;
  }

  #subtitle {
    font-size: 15px;
    text-align: center;
  }

  .file-upload {
    width: 96%;
    margin: 15px auto 15px 15px;
  }

  .card { 
    margin: 15px auto;
  }
}

/* styling for tablet sizes */
@media screen and (max-width: 768px) {

  #subtitle {
    font-size: 15px;
    text-align: center;
  }

  .file-upload {
    width: 96%;
    margin: 0 auto;
  }

  .card { 
    margin: 0 auto;
    width: 90%;
  }

  #search-card {
    width: 90%;
  }
}

/* styling of page elements for mobile screens */
@media screen and (max-width: 425px) {
  #title {
    font-size: 30px;
    text-align: center;
  }

  #subtitle {
    font-size: 15px;
    text-align: center;
  }

  .file-upload {
    width: 94%;
    margin: 0 auto;
  }

  .card { 
    margin: 0 auto;
  }

  #search-card {
    width: 94%;
  }

  .url-input {
    width: 94%;
  }

  .cell {
    margin: 10px auto 10px;
  }

}

/* styling for footer text */
.text-justify {
  text-align: center;
  font-family: 'Mulish', sans-serif;
}

/* styling for main anime title name in description area */
#theAnimeName {
  font-family: 'Kalam', cursive;
  color: var(--green);
}

/* anime image styling in description area */
/* currently hidden at the moment */
#theAnimePic {
  display: none;
}