JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.9.0/slick.min.js"></script>
<!-- Events List -->
<div id="eventsList">
<!-- Events Group -->
<div class="eventsGroup">
<div>
<div class="gridblock">
<div class="gridblock_inner">
Event 1
</div>
</div>
<div class="gridblock sixty">
<div class="gridblock_inner no_right_margin">
Event 2
</div>
</div>
</div>
<div style="width:66.666667%;float:left;">
<div class="gridblock onehundred">
<div class="gridblock_inner">
Event 3
</div>
</div>
<div class="gridblock fifty">
<div class="gridblock_inner">
Event 4
</div>
</div>
<div class="gridblock fifty">
<div class="gridblock_inner">
Event 5
</div>
</div>
</div>
<div style="width:33.333333%;float:left;">
<div class="gridblock onehundred twohigh">
<div class="gridblock_inner no_right_margin doublehigh">
Event 6
</div>
</div>
</div>
</div>
<!-- Events Group -->
<div class="eventsGroup">
<div>
<div class="gridblock">
<div class="gridblock_inner">
Event 1
</div>
</div>
<div class="gridblock sixty">
<div class="gridblock_inner no_right_margin">
Event 2
</div>
</div>
</div>
<div style="width:66.666667%;float:left;">
...
CSS
.gridblock {
height: 440px;
width: 33.333333%;
display: block;
float: left;
}
.gridblock_inner {
background-color: #acacac;
height: 440px;
margin-right: 20px;
}
.gridblock_inner.doublehigh {
height: 900px;
}
.gridblock.sixty {
width: 66.666667%;
margin-bottom: 20px;
}
.gridblock.onehundred {
width: 100%;
margin-bottom: 20px;
}
.gridblock.fifty {
width: 50%;
}
.gridblock.twohigh {
height: 600px;
}
.no_right_margin {
margin-right: 0;
}
/* Slick Dots */
.slick-dots {
display: flex;
margin: 0;
padding: 0;
list-style-type: none;
}
.slick-dots li {
margin: 0 0.25rem;
}
.slick-dots button {
display: block;
width: 10px;
height: 10px;
padding: 0;
border: none;
border-radius: 100%;
background-color: white;
opacity: 0.9;
text-indent: -9999px;
}
.slick-dots button:hover {
cursor: pointer;
}
li.slick-active button {
background-color: #d4d4d4;
opacity: 1;
}
/* Events Page - Featured Events Slider */
#eventsList .slick-dots {
justify-content: center;
margin-top: 60px;
}
#eventsList .slick-dots button {
display: block;
width: 20px;
height: 20px;
padding: 0;
border: none;
border-radius: 100%;
background-color: #d4d4d4;
opacity: 0.9;
text-indent: -9999px;
margin-right: 15px !important;
}
#eventsList .slick-dots button:last-child {
margin-right: 0;
}
#eventsList .slick-dots button:hover {
cursor: pointer;
}
#eventsList li.slick-active button {
background-color: #445bff;
opacity: 1;
}
JavaScript
$(document).ready(function() {
$('#eventsList').slick({
dots: true,
arrows: false,
infinite: true,
slidesToShow: 1,
slidesToScroll: 1
});
});