Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

CSS Bootstrap Basics Building Forms With Bootstrap Add Custom CSS to Your Bootstrap Site

yoav green
yoav green
8,611 Points

stuck with the media object. problem with aligning the content

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Full Stack Conf</title>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous">
    <link rel="stylesheet" href="css/custom.css">
  </head>
  <body id="home" data-spy="scroll" data-target=".navbar" data-offset="100">
    <!-- navbar -->
    <nav class="navbar navbar-expand-lg navbar-dark bg-primary fixed-top">
      <div class="container">
        <a class="navbar-brand order-1 mr-0" href="https://www.teamtreehouse.com" target="_blank">Presented by Treehouse</a>
        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
          <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse" id="navbarNavAltMarkup">
          <div class="navbar-nav">
            <a class="nav-item nav-link" href="#home">Home <span class="sr-only">(current)</span></a>
            <a class="nav-item nav-link" href="#about">About</a>
            <a class="nav-item nav-link" href="#speakers">Speakers</a>
            <a class="nav-item nav-link" href="#schedule">Schedule</a>
          </div>
        </div>
      </div>
    </nav><!-- /navbar -->

    <!-- jumbotron -->
    <div class="jumbotron jumbotron-fluid bg-info text-white">
      <div class="container text-sm-center pt-5">
        <h1 class="display-2">Full Stack Conf</h1>
        <p class="lead">A One-day Conference About All Things JavaScript!</p>        
        <div class="btn-group mt-4" role="group" aria-label="Callout buttons">
          <button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#register">Register Now</button>
          <a class="btn btn-light btn-lg" href="#speakers">See Speakers</a>
        </div>        
      </div>
    </div><!-- /jumbotron -->

    <div class="container pt-4">
      <!-- about -->
      <div id="about" class="row">
        <div class="col-lg order-lg-2">
          <h3 class="mb-4">About Full Stack Conf</h3>
          <img class="mb-4 img-fluid rounded d-none d-sm-block" src="img/pdx.jpg" alt="Portland">
              <p>The beautiful city of Portland, Oregon will be the host city for Full Stack Conf!</p>
              <p>Explore the future of JavaScript with a lineup of industry professionals. Discover new techniques to advance your career as a web developer.</p>
        </div>
        <div class="col-lg order-lg-1">
              <h3 class="mb-4">Expert Speakers</h3>
          <p>Our expert speaker lineup was just announced, so don't wait too long before grabbing your tickets!</p>
              <p>Want to meet the international JavaScript community and share skills with some of the world's top experts, hackers, and makers? Be the first to know what to expect for the future of JavaScript.</p>
              <p>Full Stack Conf is committed to being inclusive and welcoming for everyone. We look forward to another intensive day of learning and sharing.</p>
        </div>
        <div class="col-lg order-3">
          <h3 class="mb-4">What You'll Learn</h3>
                    <div class="list-group">
                      <a href="#" class="list-group-item list-group-item-action"><strong>MongoDB</strong>: NoSQL database</a>
                      <a href="#" class="list-group-item list-group-item-action"><strong>Express</strong>: Framework for Node</a>
            <a href="#" class="list-group-item list-group-item-action"><strong>React</strong>: JavaScript library</a>
                      <a href="#" class="list-group-item list-group-item-action"><strong>Node.js</strong>: JavaScript environment</a>
                      <a href="#" class="list-group-item list-group-item-action"><strong>ES2015</strong>: Latest version of JavaScript</a>
                      <a href="#" class="list-group-item list-group-item-action"><strong>Babel</strong>: JavaScript compiler</a>
                    </div>
        </div>        
      </div><!-- /about -->

      <!-- speakers -->
      <h1 id="speakers" class="display-4 text-center my-5 text-muted">Speakers</h1>
            <div class="row">
                <div class="col-md-6 col-lg-4">
          <div class="card mb-3">
            <img class="card-img-top" src="img/vivianne.png" alt="Vivianne">
            <div class="card-body">
              <h4 class="card-title">Vivianne McVue</h4>
              <p class="card-text">Vivianne is a web developer and teacher who is passionate about building scalable, data-driven web apps, especially ones that address old problems with new tech!</p>
            </div>
          </div>          
                </div>

                <div class="col-md-6 col-lg-4">
          <div class="card mb-3">
            <img class="card-img-top" src="img/nodestradamus.png" alt="NodeStradamus">
            <div class="card-body">
              <h4 class="card-title">NodeStradamus</h4>
              <p class="card-text">"NodeStra" is a software engineer and philosopher trying to leave the world better than he found it. He codes for non-profits, eCommerce, and large-scale web apps.</p>
            </div>
          </div>            
                </div>

                <div class="col-md-6 col-lg-4">
                <div class="card mb-3">
                  <img class="card-img-top" src="img/robbie.png" alt="Robbie">
                  <div class="card-body">
                    <h4 class="card-title">Robbie Redux</h4>
                    <p class="card-text">Robbie is a JavaScript developer working on large-scale applications. He's also a teacher who strives to support students in removing barriers to learning code.</p>
                  </div>
                </div>          
                </div>

                <div class="col-md-6 col-lg-4">
                  <div class="card mb-3">
                  <img class="card-img-top" src="img/ecma.png" alt="Ecma">
                  <div class="card-body">
                    <h4 class="card-title">Ecma Scriptnstuff</h4>
                    <p class="card-text">Ecma found her passion for programming and teaching over 15 years ago. She is excited to introduce you to all of the wonders of JavaScript.</p>
                  </div>
                </div>          
                </div>

                <div class="col-md-6 col-lg-4">
                <div class="card mb-3">
                  <img class="card-img-top" src="img/jay.png" alt="Jay">
                  <div class="card-body">
                    <h4 class="card-title">Jay Query</h4>
                    <p class="card-text">Jay is a developer, author of CSS: The Missing Manual, JavaScript &amp; jQuery: The Missing Manual, and web development teacher.</p>
                  </div>
                </div>          
                </div>

                <div class="col-md-6 col-lg-4">
                <div class="card">
                  <img class="card-img-top" src="img/json.png" alt="Json">
                  <div class="card-body">
                    <h4 class="card-title">Json Babel</h4>
                    <p class="card-text">All of his professional life, Json has worked with computers online; he is a polyglot programmer and likes using the right tools for the job.</p>
                  </div>
                </div>          
                </div>
            </div><!-- /speakers -->

      <!-- schedule -->
      <h1 id="schedule" class="display-4 text-center my-5 text-muted">Schedule</h1>

      <ul class="list-group">

        <li class="list-group-item">
          <div class="d-flex justify-content-between">
           <div class="media row">
            <img class="rounded-circle mr-3 col-2 p-3 d-block" src="speaker thumbnails/avatar-nodestradamus.png" alt="Generic placeholder image">
            <div class="media-body">            
            <h5 class="mb-1">Keynote: Internet of Things</h5>
            <span class="badge badge-pill badge-info p-2" >9:00am</span>
           </div>
          </div>
          </div>
          <p class="mb-1">NodeStradamus</p>
        </li>

        <li class="list-group-item">
          <div class="d-flex justify-content-between">
            <h5 class="mb-1">React Basics</h5>
            <span class="badge badge-pill badge-info p-2">10:00am</span>
          </div>
          <p class="mb-1">Vivianne McVue</p>
        </li>
        <li class="list-group-item">
          <div class="d-flex justify-content-between">
            <h5 class="mb-1">Hey, Mongo!</h5>
            <span class="badge badge-pill badge-info p-2">11:00am</span>
          </div>
          <p class="mb-1">Jay Query</p>
        </li>
        <li class="list-group-item list-group-item-success">
          <div class="d-flex justify-content-between">
            <h5 class="mb-1">Lunch</h5>
            <span class="badge badge-pill badge-info p-2">12:00pm</span>
          </div>
          <p class="mb-1">Free pizza for everyone!</p>
        </li>
        <li class="list-group-item">
          <div class="d-flex justify-content-between">
            <h5 class="mb-1">Introducing ES2015</h5>
            <span class="badge badge-pill badge-info p-2">1:00pm</span>
          </div>
          <p class="mb-1">Ecma Scriptnstuff</p>
        </li> 
        <li class="list-group-item">
          <div class="d-flex justify-content-between">
            <h5 class="mb-1">Getting Started With Redux</h5>
            <span class="badge badge-pill badge-info p-2">2:00pm</span>
          </div>
          <p class="mb-1">Robbie Redux</p>
        </li> 
        <li class="list-group-item">
          <div class="d-flex justify-content-between">
            <h5 class="mb-1">What's Babel?</h5>
            <span class="badge badge-pill badge-info p-2">3:00pm</span>
          </div>
          <p class="mb-1">Json Babel</p>
        </li>        
      </ul><!-- /schedule -->

      <!-- callout button -->
      <button type="button" class="btn btn-outline-info btn-lg d-block mx-auto my-5" data-toggle="modal" data-target="#register">Don't Miss Out, Register Now</button>      

      <!-- signup form -->
            <hr>
            <div class="row py-4 text-muted">
                <div class="col-md col-xl-5">
                    <p><strong>About Treehouse</strong></p>
                    <p>Treehouse brings affordable technology education to people everywhere to help them achieve their dreams and change the world.</p>
                </div>
              <div class="col-md col-xl-5 ml-auto">
                <p><strong>Stay up-to-date on Full Stack Conf</strong></p>
                <div class="input-group">
                  <input type="text" class="form-control" placeholder="Email">
                  <span class="input-group-btn">
                    <button class="btn btn-primary" type="button">Sign up</button>
                  </span>
                </div>
              </div>
            </div>
            <hr><!-- /signup form -->

      <!-- footer -->
            <div class="row py-3">
                <div class="col-md-7">
          <ul class="nav">
            <li class="nav-item">
              <a class="nav-link" href="#">Community</a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="#">Tracks</a>
            </li>
            <li class="nav-item">
              <div class="btn-group dropup">
                <button type="button" class="btn btn-outline-secondary">Other Confs</button>
                <button type="button" class="btn btn-outline-secondary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                  <span class="sr-only">Toggle Dropdown</span>
                </button>
                <div class="dropdown-menu">
                  <a class="dropdown-item" href="#">CSS Conf</a>
                  <a class="dropdown-item" href="#">Python Conf</a>
                  <a class="dropdown-item" href="#">Java Conf</a>
                  <a class="dropdown-item" href="#">Swift Conf</a>
                </div>
              </div>
            </li>
          </ul>
                </div>
                <div class="col-md text-md-right">
                    <small>&copy; 2017 Full Stack Conf &amp; Treehouse</small>
                </div>
            </div><!-- /footer -->

    </div><!-- /.container -->

    <! =====================================
        FORM MODAL
       ===================================== >

     <div class="modal fade" id="register" tabindex="-1" role="dialog" aria-labelledby="register form" aria-hidden="true">
      <div class="modal-dialog" role="document">
        <div class="modal-content">
          <div class="modal-header bg-info text-white">
            <h5 class="modal-title" id="exampleModalLabel">Register for Full Stack Conf</h5>
            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
              <span aria-hidden="true">&times;</span>
            </button>
          </div>
          <div class="modal-body">
            <!-- registration form -->
            <form class="was-validated" novalidate>
              <div class="alert alert-warning alert-dismissible fade show" role="alert">
                <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                  <span aria-hidden="true">&times;</span>
                </button>
                <strong>Hurry!</strong> Early bird registration ends in two days.
              </div>              
              <h5 class="mb-4">Basic Info</h5>
              <div class="form-group">
                <label class="form-control-label" for="name">Name:</label>
                <input type="text" class="form-control" id="name">
                 <div class="valid-feedback">
                  Looks good!
                 </div>                
              </div>
              <div class="form-group">
                <label class="form-control-label" for="email">Email:</label>
                <input type="email" class="form-control" id="email">
                  <div class="invalid-feedback">
                    Please insert a proper email address.
                  </div>                
              </div>
              <div class="form-group">
                <label for="role">Job Role:</label>
                <select class="custom-select form-control" id="role">
                                    <option value="full stack js developer">Full Stack JavaScript Developer</option>
                                    <option value="front end developer">Front End Developer</option>
                                    <option value="back end developer">Back End Developer</option>
                                    <option value="designer">Designer</option>          
                                    <option value="student">Student</option>                   
                </select>
              </div>

              <hr class="my-4">
              <h5 class="mb-4">Which Topics Interest You Most?</h5>

              <div class="form-check">
                <label class="custom-control custom-checkbox">
                  <input type="checkbox" class="custom-control-input">
                  <span class="custom-control-indicator"></span>
                  <span class="custom-control-description">JavaScript Frameworks</span>
                </label>                
              </div>
              <div class="form-check">
                <label class="custom-control custom-checkbox">
                  <input type="checkbox" class="custom-control-input">
                  <span class="custom-control-indicator"></span>
                  <span class="custom-control-description">JavaScript Libraries</span>
                </label>                
              </div>
              <div class="form-check">
                <label class="custom-control custom-checkbox">
                  <input type="checkbox" class="custom-control-input">
                  <span class="custom-control-indicator"></span>
                  <span class="custom-control-description">Node.js</span>
                </label>                
              </div>
              <div class="form-check">
                <label class="custom-control custom-checkbox">
                  <input type="checkbox" class="custom-control-input">
                  <span class="custom-control-indicator"></span>
                  <span class="custom-control-description">Build Tools</span>
                </label>                
              </div>
              <div class="form-check">
                <label class="custom-control custom-checkbox">
                  <input type="checkbox" class="custom-control-input">
                  <span class="custom-control-indicator"></span>
                  <span class="custom-control-description">ES2015</span>
                </label>                
              </div>

              <hr class="mb-4">
              <h5 class="mb-4">Payment Info</h5>

              <div class="form-row">
                <div class="col-lg-6 form-group">
                  <label for="cc-num">Card Number:</label>
                  <input class="form-control" id="cc-num" type="text">
                </div>

                <div class="col-lg form-group">
                  <label for="zip">Zip Code:</label>
                  <input class="form-control" id="zip" type="text">
                </div>

                <div class="col-lg form-group">
                  <label for="cvv">CVV:</label>
                  <input class="form-control" id="cvv" type="text">
                </div>
              </div>

              <div class="form-row">
                <label class="col-lg-12">Expiration Date:</label>

                <div class="form-group col-lg-8">
                  <select class="custom-select form-control" id="exp-month">
                    <option value="1">1 - January</option>
                    <option value="2">2 - February</option>
                    <option value="3">3 - March</option>
                    <option value="4">4 - April</option>
                    <option value="5">5 - May</option>
                    <option value="6">6 - June</option>
                    <option value="7">7 - July</option>
                    <option value="8">8 - August</option>
                    <option value="9">9 - September</option>
                    <option value="10">10 - October</option>
                    <option value="11">11 - November</option>   
                    <option value="12">12 - December</option>                         
                  </select>                    
                </div>

                <div class="form-group col-lg">
                  <select class="custom-select form-control" id="exp-year">
                    <option value="2016">2016</option>
                    <option value="2017">2017</option>
                    <option value="2018">2018</option>
                    <option value="2019">2019</option>
                    <option value="2020">2020</option>                        
                  </select>                   
                </div>                
              </div>

              <hr class="mb-4">
              <button type="submit" class="btn btn-primary btn-lg">Register</button>              
            </form><!-- /registration form -->

              <script>
              // Example starter JavaScript for disabling form submissions if there are invalid fields
              (function() {
                'use strict';
                window.addEventListener('load', function() {
                  // Fetch all the forms we want to apply custom Bootstrap validation styles to
                  var forms = document.getElementsByClassName('needs-validation');
                  // Loop over them and prevent submission
                  var validation = Array.prototype.filter.call(forms, function(form) {
                    form.addEventListener('submit', function(event) {
                      if (form.checkValidity() === false) {
                        event.preventDefault();
                        event.stopPropagation();
                      }
                      form.classList.add('was-validated');
                    }, false);
                  });
                }, false);
              })();
              </script>


          </div>
        </div>
      </div>
    </div>   

    <!-- Optional JavaScript -->
    <!-- jQuery first, then Popper.js, then Bootstrap JS -->
    <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js" integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1" crossorigin="anonymous"></script>
  </body>
</html>