Unable to make Bootstrap columns of equal height - html

I using Bootstrap4 for my personal website and I am not able to make the columns of equal height.
I have looked for solutions here but the solutions don't seem to work on my code. I would appreciate any input.
<!-- Start projects section--->
<div id="projects" class="offset">
<!--- start jumbotron -->
<div class="jumbotron">
<div class="col-12 text-center">
<h3 class="heading">Projects</h3>
<div class="heading-underline"></div>
</div>
<div class="row">
<div class="col-md-6 projects">
<div class="row">
<div class="col-md-4"></div>
<div class="col-md-8 text-left">
<h5 class="heading project-title">The Twitter Bakery (2018) </h5>
</div>
</div>
<div class="row">
<div class="col-md-4">
<!--- image of client -->
<img src="img/mountains_trip.jpg" alt="image not displayed">
</div>
<div class="col-md-8">
<!--- text of client -->
<div>
Some words<br><br>Some more words
</div>
<hr class="projects-hr">
<i class="fab fa-github fa-2x"></i>
</div>
</div>
</div>
<div class="col-md-6 projects">
<div class="row">
<div class="col-md-4"></div>
<div class="col-md-8 text-left">
<h5 class="heading project-title">Jersey Allocation (2018)</h5>
</div>
</div>
<div class="row">
<div class="col-md-4">
<!--- image of client -->
<img src="img/mountains_trip.jpg" alt="image not displayed">
</div>
<div class="col-md-8">
<!--- text of client -->
<div>
Some words.
</div>
<hr class="projects-hr">
<i class="fab fa-github fa-2x"></i>
</div>
</div>
</div>
</div>
</div>
<!--- end jumbotron -->
</div>
<!-- end projects section--->
Here is my css for the section. The (.row and [class*="col-"]) rules are copied from the answers presented in the above link.
.row{
overflow: hidden;
}
[class*="col-"]{
margin-bottom: -99999px;
padding-bottom: 99999px;
}
.projects img{
width:100%;
border-radius:10%;
}
.projects hr{
border-top:0.05rem solid #ad7232!important;
padding-bottom: 0.1rem;/* makes them visible in some cases*/
}
.project-link .svg-inline--fa{
align-self: center;
color: #505962 ;
}
.project-title{
text-transform: uppercase;
color: #ed9a00;
}
This is how the current section looks

Related

My images are not being displayed in a row

In a section of my code I made a row-grid for a part that displays images but when I went to insert and look at the website its not displaying in a row format but in a column and im not sure why. I thought the problem came from it being col-sm-6 but i changed it to col-sm-12 and its still not displaying it. Any reasons why?
.site-main .project-area {
padding: 4rem 0;
}
.site-main .project-area .button-group button {
background: transparent;
border: none;
font: normal 500 16px/130px var(--lato);
text-transform: uppercase;
}
.site-main .project-area .button-group button+button {
padding-left: 3rem;
}
.site-main .project-area .grid .our-project>title h4 {
font: normal 700 25px/12px var(--lato);
}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<section class="project-area">
<div class="container">
<div class="project title pb-5">
<h1 class="h1 text-uppercase title-h1"> Recent Projects</h1>
<h1 class="h1 text-uppercase title h1"> Quality Work</h1>
</div>
<div class="div button-group">
<button type="button" class="active">All</button>
<button type="button" data-filter=".cars">Cars</button>
<button type="button" data-filter=".character">Characters</button>
<button type="button">Food</button>
<button type="button">Activities</button>
</div>
<div class="row-grid">
<div class="col-lg-4 col-md-6 col-sm-6 element-item cars">
<div class="our-project">
<div class="img">
<img src="./img/portfolio/car.jpg" alt="car">
</div>
<div class="title py-4">
<h4 class="text-uppercase">minimul design</h4>
<span class="text-secondary">Latest, Popular</span>
</div>
</div>
</div>
<div class="col-lg-4 col-md-6 col-sm-12 element-item character">
<div class="our-project">
<div class="img">
<img src="./img/portfolio/images.jpg" alt="car">
</div>
<div class="title py-4">
<h4 class="text-uppercase">video game character</h4>
<span class="text-secondary">popular, Portfolio</span>
</div>
</div>
</div>
<div class="col-lg-4 col-md-6 col-sm-12 element-item popular">
<div class="our-project">
<div class="img">
<img src="./img/portfolio/ntfs-to-be-professional-gamer-image1.jpg" alt="car">
</div>
<div class="title py-4">
<h4 class="text-uppercase">minimul design</h4>
<span class="text-secondary">Latest, Popular</span>
</div>
</div>
</div>
<div class="col-lg-4 col-md-6 col-sm-12 element-item popular">
<div class="our-project">
<div class="img">
<img src="./img/portfolio/ntfs-to-be-professional-gamer-image1.jpg" alt="car">
</div>
<div class="title py-4">
<h4 class="text-uppercase">minimul design</h4>
<span class="text-secondary">Latest, Popular</span>
</div>
</div>
</div>
</div>
</div>
</section>
Changing the class row-grid to row makes it work. I don't think Bootstrap has a class called row-grid.
If you are trying to fit all the div elements into one row, just replace the col-lg-4 col-md-6 col-sm-6 and the col-lg-4 col-md-6 col-sm-12 with col

cards not aligning correctly

Im trying to display cards in two columns but the cards are not aligning correctly, the top of the card on the right is displaying at the bottom of the column. id like for the cards to be aligned horizontally by the top of each card
img {
width: 269px;
height: 402px;
}
.card-block{
margin: 20px;
}
.btn-dark{
width: 120px;
border-radius: 3px;
}
<div class="container" style="column-count: 2; margin-top: 100px;">
<div class="row">
<div class="col-sm-14 mx-auto">
<div *ngFor="let book of webService.book_list | async">
<div class="card bg-light mb-5 mr-5" [routerLink]="['/books', book._id]" style="cursor: pointer">
<div class="card-header">
<strong>{{book.title}}</strong> by <strong>{{book.author}}</strong>
</div>
<div class="row no-gutters">
<div class="col-auto">
<img [src]="book.imageLink" />
</div>
<div class="col">
<div class="card-block">
<strong>Country of Origin:</strong> {{book.country}} <br />
<strong>Year Released:</strong> {{book.year}} <br />
<strong>Language: </strong> {{book?.language}} <br />
<strong>Pages: </strong> {{book?.pages}}
</div>
</div>
</div>
<div class="card-footer">
<strong>{{book.review_count}}</strong>
review(s) available <br>
</div>
</div>
</div>
</div>
</div>
</div>

HTML/CSS Cross browser alignment issue

I'm working on a new site (Wordpress with a premium bought template). The template developer hasn't been able to solve this problem, so I'm hoping someone here might be able to help.
If you look at http://test.one.za.com/wp-test/?page_id=112 at the bottom of the page in Chrome, the 3 contact div's aren't aligned correctly. But if you look at this same page in IE or Firefox, it displays just fine.
For the life of me, I cannot figure out what this is or how to fix it.
Here's the CSS:
Main container for the footer:
.main-footer {
position: relative;
background-color: #303030;
overflow: hidden;
}
Here's the container for the "info section":
.main-footer .footer-info-section {
position: relative;
margin-top: -5px;
background-color: #303030;
border-top: 1px solid rgba(255,255,255,0.10);
border-left: 1px solid rgba(255,255,255,0.10);
border-right: 1px solid rgba(255,255,255,0.10);
}
Finally, the code for the divs inside the "info-section":
.main-footer .footer-info-section .info-block {
position: relative;
}
The HTML for the entire footer section:
<footer class="main-footer">
<!--Widgets Section-->
<div class="auto-container">
<div class="widgets-section">
<div class="row clearfix">
<div class="widget_text footer-column col-md-4 col-sm-6 col-xs-12">
<div class="widget_text footer-widget widget_custom_html" id="custom_html-2">
<h2>Test 1</h2>
<div class="textwidget custom-html-widget">sdgsfhdfgg sdfgs dfg sfg fgdgsdfg sdfg sdfg sdf</div>
</div>
</div>
<div class="footer-column col-md-4 col-sm-6 col-xs-12">
<div class="footer-widget widget_categories" id="categories-2">
<h2>Test 2</h2>
<ul>
<li class="cat-item cat-item-16">Home 2</li>
<li class="cat-item cat-item-1">Uncategorized</li>
</ul>
</div>
</div>
<div class="footer-column col-md-4 col-sm-6 col-xs-12">
<div class="footer-widget widget_recent_entries" id="recent-posts-2">
<h2>Test 3</h2>
<ul>
<li>1996</li>
<li>Hello world!</li>
</ul>
</div>
</div>
</div>
</div>
<!--Footer Info Section-->
<div class="footer-info-section">
<div class="row clearfix">
<!--Info Block-->
<div class="info-block col-md-4 col-sm-6 col-xs-12">
<div class="inner">
<div class="icon fa fa-glass"></div>
<h4>Contact 1</h4>
<div class="text">Contact 1</div>
</div>
</div>
<!--Info Block-->
<div class="info-block col-md-4 col-sm-6 col-xs-12">
<div class="inner">
<div class="icon fa fa-music"></div>
<h4>Contact 2</h4>
<div class="text">Contact 2</div>
</div>
</div>
<!--Info Block-->
<div class="info-block col-md-4 col-sm-6 col-xs-12">
<div class="inner">
<div class="icon fa fa-heart"></div>
<h4>Contact 3</h4>
<div class="text">Contact 3</div>
</div>
</div>
</div>
</div>
</div>
<!--Footer Bottom-->
<div class="footer-bottom">
<div class="auto-container">
<div class="row clearfix">
<div class="column col-md-6 col-sm-12 col-xs-12">
<div class="copyright">
ONE Insurance Underwriting Managers (PTY) LTD Reg No. 1996/008987/07 Authorised Financial Services Provider FSP8783 VAT No. 4370160501
</div>
</div>
<div class="nav-column col-md-6 col-sm-12 col-xs-12">
<ul class="footer-nav">
<!-- This is just where the foot-nav is located. Redacted this because the links and class names for those links are tediously long and makes this even harder to read -->
<li>Footer-nav 1</li>
<li>Footer-nav 2</li>
<li>Footer-nav 3</li>
</ul>
</div>
</div>
</div>
</div>
<!--End Footer Bottom-->
</footer>
I've attached a couple of snips showing how it's displayed in the respective browsers.
add clear:both to your code here:
.main-footer .footer-info-section{
clear:both;
}

how to show 2 divs in the center of the row in bootstrap

i want to show 2 div in the center. i have divs which shows like this. i just want second row div in the center.
req design like this
output
---- ------- -------
------- -------
desired output
----- ------- -------
------- -------
code
<div class="row">
<div class="features">
<div class="col-md-4 col-sm-6 wow fadeInDown" data-wow-duration="1000ms" data-wow-delay="600ms">
<div class="feature-wrap">
<i class="fa fa-pencil" ></i>
<h2>One</h2>
<h3>one</h3>
</div>
</div><!--/.col-md-4-->
<div class="col-md-4 col-sm-6 wow fadeInDown" data-wow-duration="1000ms" data-wow-delay="600ms">
<div class="feature-wrap">
<i class="fa fa-line-chart"></i>
<h2>Two</h2>
<h3>Two</h3>
</div>
</div><!--/.col-md-4-->
<div class="col-md-4 col-sm-6 wow fadeInDown" data-wow-duration="1000ms" data-wow-delay="600ms">
<div class="feature-wrap">
<i class="fa fa-database"></i>
<h2>three</h2>
<h2>Three</h2>
<h3>Three</h3>
</div>
</div><!--/.col-md-4-->
<div>
<div class="col-md-4 col-sm-6 wow fadeInDown" data-wow-duration="1000ms" data-wow-delay="600ms" align="">
<div class="feature-wrap">
<i class="fa fa-book" align=""></i>
<h2>Four</h2>
<h3>Coming Soon...</h3>
</div>
</div><!--/.col-md-4-->
<div class="col-md-4 col-sm-6 wow fadeInDown" data-wow-duration="1000ms" data-wow-delay="600ms">
<div class="feature-wrap">
<i class="fa fa-mobile"></i>
<h2>Five</h2>
<h3>Coming Soon...</h3>
</div>
</div><!--/.col-md-4-->
</div>
</div><!--/.services-->
</div>
</div><!--/.services-->
</div>
jsfiddle code
https://jsfiddle.net/tccu9ue8/4/
As suggested by #sahil Dhir you could use offset values for your layout like
Col-md-offset-[number of column offsets]
In your case giving column offset of 2 to the first element of second row should do the magic.
Here is a working fiddle. https://jsfiddle.net/tccu9ue8/6/
Let me know if you need more info Cheers!!!
This is one way of achieving what you asked for:[basic CSS (padding and margin) can be applied for better results]
<html>
<head>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
</head>
<body class="container">
<div class="row">
<div class="col-md-4 col-xs-4 col-lg-4 col-sm-4" align="center">
<button class="btn btn-primary">1ST</button>
</div>
<div class="col-md-4 col-xs-4 col-lg-4 col-sm-4" align="center">
<button class="btn btn-primary">2nd</button>
</div>
<div class="col-md-4 col-xs-4 col-lg-4 col-sm-4" align="center">
<button class="btn btn-primary">3rd</button>
</div>
</div>
<br>
<div class="row">
<div class="col-md-6 col-xs-6 col-lg-6 col-sm-6" align="center">
<button class="btn btn-primary">4th</button>
</div>
<div class="col-md-6 col-xs-6 col-lg-6 col-sm-6" align="center">
<button class="btn btn-primary">5th</button>
</div>
</div>
</body>
</html>
Hope this helps serve your purpose.
The simple way you can achieve this design by using flexbox.
You can find a good guide from MDN here.
For your implementation, You dont have to use bootstrap.
Just wrap two lines, create one line full width, another with half width, and use flexbox properties to align them as you wish.
.line {
display: flex;
justify-content: space-between;
}
.line--second {
width: 50%;
margin: 0 auto;
justify-content: space-between;
}
<div class="wrapper">
<div class="line line--first">
<div class="item">One </div>
<div class="item"> Two </div>
<div class="item"> Three </div>
</div>
<div class="line line--second">
<div class="item">Four </div>
<div class="item">Five </div>
</div>
</div>
Hope this what you meant.
you need to use display:inline-block instead of float: left for bootstrap column https://jsfiddle.net/7mbs9cjj/
.block {
height: 200px;
background: #333;
}
.h-center .col-sm-4 {
margin-bottom: 20px;
float: none;
display: inline-block;
vertical-align: top;
margin-right: -4px;
}
.row {
text-align: center;
display: block;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<div class="row h-center">
<div class="col-sm-4">
<div class="block"></div>
</div>
<div class="col-sm-4">
<div class="block"></div>
</div>
<div class="col-sm-4">
<div class="block"></div>
</div>
<div class="col-sm-4">
<div class="block"></div>
</div>
<div class="col-sm-4">
<div class="block"></div>
</div>
</div>

Same fixed column height for all columns in a row with bootstrap 3

My codepen: http://codepen.io/helloworld/pen/razoxg?editors=110
I have 3 rows with each 3 columns.
How can I give each row or all 3 columns the same fixed height so one tile is not larger than the other?
<div class="container-fluid">
<!-- Page Header -->
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">Electronics
</h1>
</div>
</div>
<!-- /.row -->
<!-- 1st Row -->
<div class="row">
<div class="col-xs-4">
<div class="panel industry-tile-medium">
<div class="panel-body">
<header>Customer</header>
</div>
<div class="panel-footer">
<div class="row">
<div class="col-xs-6">
<img class="img-responsive" src="http://s16.postimg.org/tqs90puwl/customer.png"></img>
</div>
<div class="col-xs-6 col-bottom">
<ul class="list-group">
<li class="list-group-item ">Intel</li>
<li class="list-group-item ">Micron</li>
<li class="list-group-item ">Infineon</li>
<li class="list-group-item ">First Solar</li>
</ul>
</div>
</div>
</div>
</div>
<!-- /.panel -->
</div>
<div class="col-xs-4">
<div class="panel special-tile">
<div class="panel-body special-tile">
</div>
<div class="panel-footer special-tile">
<div class="row">
<div class="col-xs-3">
<img class="img-responsive" src="http://s7.postimg.org/agarkavmj/whoiswho.png"></img>
</div>
<div class="col-xs-9" >
<div class="row">
<div id="page-header" class="page-header">
<h4>Who is who
<p>
<small>Organization & Processes</small>
</p>
</h4>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<ul class="list-group">
<li class="list-group-item ">Org Charts </li>
<li class="list-group-item ">GAM / KAM Charts</li>
<li class="list-group-item ">Process flow</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- /.panel -->
</div>
<!-- /.col -->
<div class="col-xs-4">
<div class="panel industry-tile-medium">
<div class="panel-body">
<header>CEO Blog</header>
</div>
<div class="panel-footer">
<div class="row">
<div class="col-xs-3">
<i style="color:orange;" class="fa fa-rss-square fa-5x"></i>
</div>
<div class="col-xs-9">
Lorem ipsum dolor sit amet, consetetur sadipscetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et
</div>
</div>
</div>
</div>
<!-- /.panel -->
</div>
<!-- column -->
</div>
<!-- /.row -->
<!-- 2nd Row -->
<div class="row">
<div class="col-xs-4">
<div class="panel industry-tile-medium">
<div class="panel-body">
<header>On-going Projects & Webcam</header>
</div>
<div class="panel-footer">
<div class="row">
<div class="col-xs-6">
<img class="img-responsive" src="http://s16.postimg.org/tqs90puwl/customer.png"></img>
</div>
<div class="col-xs-6 col-bottom">
<ul class="list-group">
<li class="list-group-item ">GF Project Malta</li>
<li class="list-group-item ">Intel Israel</li>
</ul>
</div>
</div>
</div>
</div>
<!-- /.panel -->
</div>
<!-- /.col -->
<div class="col-xs-4">
<div class="panel personal-tile-medium">
<div class="panel-body">
<header> Personal Links </header>
</div>
<div class="panel-footer">
<div class="row">
<div class="col-xs-12">
<ul class="list-group">
<li class="list-group-item ">Org Charts</li>
<li class="list-group-item ">GAM / KAM Charts</li>
<li class="list-group-item ">Process flow</li>
</ul>
</div>
</div>
</div>
</div>
<!-- /.panel -->
</div>
<div class="col-xs-4">
<div class="row half-tile half-tile-top">
<div class="col-xs-6">
<img class="img-responsive" src="http://s16.postimg.org/tqs90puwl/customer.png"></img>
</div>
<div class="col-xs-6">
Presentations
</div>
</div>
<!-- ./row -->
<div class="row half-tile">
<div class="col-xs-6">
<img class="img-responsive" src="http://s16.postimg.org/tqs90puwl/customer.png"></img>
</div>
<div class="col-xs-6">
Events, Trade Shows & Conferences
</div>
</div>
<!-- ./row -->
</div>
</div>
<!-- 3rd Row -->
<div class="row">
<div class="col-xs-4 portfolio-item">
<div class="panel industry-tile-medium">
<div class="panel-body">
<header>Project Library and References</header>
</div>
<div class="panel-footer">
<div class="row">
<div class="col-xs-6">
<img class="img-responsive" src="http://s1.postimg.org/go41exp63/Reports.png"></img>
</div>
<div class="col-xs-6">
<ul class="list-group">
<li class="list-group-item">GF Project Malta</li>
<li class="list-group-item">Intel Israel</li>
</ul>
</div>
</div>
</div>
</div>
<!-- /.panel -->
</div>
<div class="col-xs-4">
<div class="panel branch-tile-medium">
<div class="panel-body">
<header>Industry Links</header>
</div>
<div class="panel-footer">
<div class="row">
<div class="col-xs-12">
<ul class="list-group">
<li class="list-group-item"> www.semi.org</li>
<li class="list-group-item">www.vdma.org</li>
<li class="list-group-item">www.visi.org</li>
</ul>
</div>
</div>
</div>
</div>
<!-- /.panel -->
</div>
<div class="col-xs-4 portfolio-item">
<div class="panel branch-tile-medium">
<div class="panel-body">
<header>Competition</header>
</div>
<div class="panel-footer">
<div class="row">
<div class="col-xs-12">
<ul class="list-group">
<li class="list-group-item"> CH2MHill</li>
<li class="list-group-item">Bechtel</li>
<li class="list-group-item">Jacobs Engineering</li>
</ul>
</div>
</div>
</div>
</div>
<!-- /.panel -->
</div>
</div>
<!-- /.row -->
<hr>
<!-- News -->
<div class="row">
<!-- Electronic news -->
<div class="col-xs-6">
<div class="panel industry-tile-medium">
<div class="panel-body">
<header>Electronic News</header>
</div>
<div class="panel-footer">
<div class="row">
<div>
<ul>
<li>05-Dec ATF in-house news channel</li>
<li>06-Dec ATF in-house news channel</li>
<li>07-Dec ATF in-house news channel</li>
</ul>
</div>
</div>
</div>
</div>
<!-- /.panel -->
</div>
<!-- Industry News -->
<div class="col-xs-6">
<div class="panel branch-tile-medium">
<div class="panel-body">
<header>Industry News</header>
</div>
<div class="panel-footer">
<div class="row">
<div>
<ul>
<li>05-Dec links to global news</li>
<li>06-Dec links to global news</li>
<li>07-Dec links to global news</li>
</ul>
</div>
</div>
</div>
</div>
<!-- /.panel -->
</div>
</div>
<!-- /.row -->
<hr>
<!-- Copyright -->
<footer>
<div class="row">
<div class="col-lg-12">
<p>Copyright © XXX</p>
</div>
</div>
<!-- /.row -->
</footer>
</div>
* {
Box-sizing: Border-box;
border-radius: 0 !important; /* Remove rounded borders from whole layout */
}
.special-tile{
background:#006AB3;
}
.special-tile h4, .special-tile small, .special-tile {
color:white;
}
.special-tile .panel-body{
padding:0;
}
.special-tile .panel-footer{
border:0;
}
.half-tile{
background:#006AB3;
color:white;
}
.half-tile-top{
margin-bottom:10px;
}
.industry-tile-medium{
background: #006AB3;
border: 1px solid #006AB3;
}
.industry-tile-medium .panel-footer{
background: #F0F8FF;
color:#006AB3;
}
.branch-tile-medium{
background: #006B66;
border: 1px solid #006B66;;
}
.branch-tile-medium .panel-footer{
background: #EFFDFC;
}
.branch-tile-medium .panel-footer a{
color: #006B66;
}
.personal-tile-medium{
background: #5E9629;
border: 1px solid #5E9629;
}
.personal-tile-medium .panel-footer{
background: #F2FEE7;
color: #5E9629;
}
ul
{
list-style-type:none;
}
ul li a{
text-decoration:underline;
}
.panel .panel-body header
{
color:white;
font-weight:bold;
font-size:1.2em;
}
.list-group-item {
background:transparent;
padding:5px 5px;
}
.panel-body{
padding:6px;
}
If the height of the panels is unknown, or you don't want to set a min height, you can have each panel assume the height of the tallest panel in each row using CSS flexbox. Just add this CSS..
.row, .row > div[class*='col-'] {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
flex:1 0 auto;
}
.panel {
width:100%;
}
Demo: http://bootply.com/yTIGMotDkp
Here is a working Fiddle.
While using bootstrap, you need to always need to make some changes according to your need. You can override the bootstrap style by applying your own styles through classes to DOM elements.
You need to define panel height in your css so that your tiles will get the same height.
As you have already written a lot of css in your page, so I use all or your 'css' and made some changes in it.
There are a number of ways you can do this. You could apply a height to your columns
.col-xs-4 {
height: 150px;
}
However this wont' work very well if the content is dynamic because if the length exceeds 150px it will be hidden or you'll get scrolling depending on your CSS rules. You could use min-height which will work better but not ideal.
Alternatively you could apply display: flex to your row container element
.row {
display: flex;`
....
}
Here is a working example of that