/* Basic CSS Styles and Font selections */
body {
  background: rgba(255, 236, 236, 0.747);
  margin: 0;
  
  }
  
  h1 {
    display: inline-block;
    position: relative;
    font-size: 120px;
    font: Helvetica, Sans-Serif;
    color: rgba(255, 234, 250, 0.7);
    white-space:nowrap;
  }
  
  h2 {
  font-family: Arial;
  color: rgba(250, 250, 250, 0.8);
  border: double 4px rgb(247, 156, 255, 0.7);
  text-shadow: -1px 1px rgb(0, 0, 0, 0.4);
  text-align: center;
  margin-top: 0;
  padding: 2px 0;
  text-align: center;
  }
  
  #box2header {
  padding-bottom: 65px;
  }
  
  h3 {
  font-family: 'Franklin Gothic Medium';
  color: rgb(0, 0, 0, 0.7);
  text-shadow: -1px 1px rgb(245, 245, 245, 0.6);
  margin: 0%;
  padding: 5px;
  text-align: center;
  }
  
  /* Hero Background Image and all Styling */
  .hero {
    background-image: linear-gradient(rgba(0, 0, 0, 0.5),rgba(0, 0, 0, 0.5)), url('../images/calli.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    width: 100vw;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    max-width: 1600px;
  }
  
  /* Button that links to YouTube Chanel */
  .hero .button {
    display: block;
    width: 150px;
    padding: 1em;
    margin-top: 50px;
    margin-left: auto;
    margin-right: auto;
    color: darkslategray;
    text-decoration: whitesmoke;
    font-size: .9em;
    border: 3px solid white;
    border-radius: 10px;
    background: rgb(144, 238, 144, 0.7);
  }
  
  /* YouTube Video in Box1 */
  .video {
    display: flex;
    justify-content: center;
  }
  
  /* Overall container used to make responsive */
  .flex-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-evenly;
    width: 100%;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
  }
  
  /* About me box with video embedded */
  .box1 {
    margin: 20px;
    margin-left: 45px;
    margin-right: 45px;
    padding: 20px;
    border: 1px solid rgba(0, 0, 0);
    background: rgb(255, 105, 180, 0.3);
    color: rgba(34, 34, 34, 0.85);
    text-shadow: -1px 0 1px rgb(255, 255, 255);
    text-align: center;
    flex-grow: 1;
  }
  
  /* Javascript Carousel Container div sizing and style */
  .box2 {
    margin: 20px;
    margin-left: 45px;
    margin-right: auto;
    padding: 20px 0 0 0;
    background: rgb(255, 105, 180, 0.3);
    border: 1px solid black;
    position: relative;
    width: 450px;
    height: 527px;
    overflow: hidden;
    align-content: center;
  }
  
  .carouselDiv {
    margin: auto;
    overflow: hidden;
    width: 320px;
    border: solid 1px black;
  }

  /* Carousel sizing */
  .carousel-slide {
    display: flex;
    width: 320px;
    height: 320px;
  }
  
  /* Buttons used to navigate pictures in the carousel */
  #prevBtn {
    position: absolute;
    top: 45%;
    z-index: 10;
    font-size: 30px;
    opacity: 0.5;
    color: lightslategray;
    cursor: pointer;
    padding: 20px;
    display: none;
  }
  
  /* Hover function for buttons*/
  #prevBtn:hover {
    color: purple;
    opacity: 0.8;
    transition: 0.3s ease-in;
    cursor: pointer;
  }
  
  /* Buttons used to navigate pictures in the carousel */
  #nextBtn {
    position: absolute;
    top: 45%;
    z-index: 10;
    right: 0%;
    font-size: 30px;
    opacity: 0.5;
    color: lightslategray;
    cursor: pointer;
    padding: 20px;
    display: none;
  }
  
  /* Hover function for buttons*/
  #nextBtn:hover {
    color: purple;
    opacity: 0.8;
    transition: 0.3s ease-in;
    cursor: pointer;
  }
  
  /* Container div that holds the form */
  .box3 {
    margin: 20px;
    margin-right: 45px;
    margin-left: auto;
    padding: 20px;
    background: rgb(255, 105, 180, 0.3);
    border: 1px solid black;
    width: auto;
    color: rgba(34, 34, 34, 0.85);
    text-shadow: -1px 0 1px rgb(255, 255, 255, 0.5);
  }
  
  /* Form sizing and styles */
  .form {
    max-width: 450px;
  }
  
  .form label {
    display: flex;
    margin-bottom: inherit;
    justify-content: center;
  }
  
  .form label span {
    float: left;
    width: 125px;
    color: rgba(34, 34, 34, 0.85);
    text-shadow: -1px 0 1px rgb(255, 255, 255);
    font-weight: normal;
    font-size: 16px;
  }
  
  .form fieldset {
    border-radius: 10px;
    margin: 0px 0px 10px 0px;
    border: 1px solid #FFD2D2;
    padding: 20px;
    background: rgb(253, 241, 241);
    box-shadow: inset 0px 0px 15px rgb(255, 228, 228);
  }
  
  .form fieldset legend {
    color: rgba(49, 49, 49, 0.85);
    text-shadow: -1px 0 1px rgb(255, 255, 255);
    border: 1px solid #FFD2D2;
    border-radius: 5px 5px 0px 0px;
    background: #FFF4F4;
    padding: 0px 8px 3px 8px;
    box-shadow: -0px -1px 2px #F1F1F1;
    font-weight: normal;
    font-size: 12px;
  }
  
  .form textarea {
    width: 320px;
    height: 50px;
  }
  
  /* Controls the form entry and what keyboards show up on mobile and what auto complete in browsers */
  .form input[type=text],
  .form input[type=date],
  .form input[type=datetime],
  .form input[type=number],
  .form input[type=search],
  .form input[type=time],
  .form input[type=url],
  .form input[type=email],
  
  /* Background of form entry and text style */
  .form select, 
  .form textarea {
    border-radius: 3px;
    border: 1px solid #FFC2DC;
    outline: none;
    color: #F072A9;
    padding: 5px 8px 5px 8px;
    box-shadow: inset 1px 1px 4px #FFD5E7;
    background: #FFEFF6;
    width:50%;
  }
  
  /* Form Button Styles */
  .form input[type=submit],
  .form input[type=button] {
    background: rgb(255, 255, 255);
    border: 0.5px solid lightpink;
    padding: 5px 10px 5px 10px;
    color: rgba(0, 0, 0, 0.85);
    text-shadow: -1px 0 1px rgb(255, 255, 255);
    box-shadow: inset -1px -1px 3px rgb(255, 219, 224);
    border-radius: 4px;
  }
  
  /* Form Submit Button Hover */
  .form input[type=submit]:hover {
    color: ghostwhite;
    border: solid 1px lightslategray; 
    background: rgb(255, 105, 180, 0.3);
    transition: 0.3s ease-in;
  }
  
  /* Footer Style */
  .footer {
    margin: auto;
    background-color: rgb(255, 105, 180, 0.3);
    border: 1px solid black;
    opacity: 0.7;
    justify-content: center
  }
  
  /* To Top Button Style */
  .b2top {
    display: flex;
    justify-content: center;
  }
  
  #topBtn {
    cursor: pointer;
    padding: 3px;
    margin: 2px;
  }
  
  /* To Top Button Hover Style */
  #topBtn:hover {
    background-color: rgba(121, 121, 121, 0.3);
    transition: 0.5s ease-in;
    cursor: pointer;
    transform: none;
  }
  
  /* Makes shift back to top of page smooth and not abrupt */
  html {
    scroll-behavior: smooth;
  }
  
  /* Footer Icon Styles */
  .footer .footer-icons .fab {
    font-size: 1.3rem;
    color: #fefefe;
  }
  
  /* Footer Icon Hover Effect */
  .footer .footer-icons .fab:hover {
    color: #4a4a4a;
    transition: color 0.3s ease-in;
  }
  
  .social-link {
    padding: 0;
  
  }
  
  .social {
    list-style-type: none;
    display: flex;
    justify-content: center;
    align-content: center;
  }
  
  .social li {
    margin: 0 20px;
  }
  
  .social li a {
    text-decoration: none;
  }

   /* Breakpoints for responsiveness of the flex container while the page is shrinking */
   @media screen and (max-width: 1050px) {

    h1 {
      font-size: 95px;
    }
  
      .flex-container {
        flex-direction: column;
        justify-content: space-evenly;
        align-content: center;
      }
      
      .box2 {
        margin: 20px auto;
      }
    
      .box3 {
        margin: 20px auto;
      }
    }

  @media screen and (max-width: 750px){
  h1 {
    font-size: 75px;
  }
  
  body{
    align-content: center;
  }

  .hero {
    background-attachment: inherit; 
  }
  
  .box1 {
    min-width: 320px;
    margin: 30px;
    padding: 10px;
  }
  
  .box2 {
    min-width: 310px;
    padding-left: inherit;
  }
  
  .box3 {
    min-width: 280px;
    margin-left: auto;
  }
  }

  @media screen and (max-width: 690px){
    h1 {
      font-size: 45px;
    }

    .box1 {
      width: 340px;
      margin: 30px;
      padding: 5px;
    }

    .box2 {
      width: 340px;
    }

    .box3 {
      width: 340px;
    }
    
    #nextBtn {
      display: block;
      right: 5%;
    }
    
    #prevBtn {
      display: block;
      left: 5%;
    }
  }
     
  
   
