The text in your buttons is just too long to display in such a small viewport width. You’ve already lost the 4th tab off screen which makes this solution far from ideal.
I would suggest you use a media query to vertically stack the buttons on smaller viewports, that way they’re always visible. Taking it a step further you might use a select box to display these options as a dropdown instead.
Here’s an example using flex-box
with a media query to stack the tabs.
HTML:
<section id="tabs">
<div class="container">
<div class="row">
<div class="col-md-12">
<h2 class="course-title">
SOFTWARE DEVELOPMENT LIFECYCLE, IT SUPPORT AND TESTING
</h2>
<div class="tabContainer">
<div class="buttonContainer">
<button autofocus onclick="showPanel(0)">
Course Details
</button>
<button type="button" onclick="showPanel(1)">
Workshop Schedule
</button>
<button type="button" onclick="showPanel(2)">
Online Course Details
</button>
<button type="button" onclick="showPanel(3)">
Online Exam Details
</button>
</div>
<div class="tabPanel">Do you know that...</div>
<div class="tabPanel"></div>
<div class="tabPanel"></div>
<div class="tabPanel"></div>
</div>
</div>
</div>
</div>
</section>
CSS:
.buttonContainer {
display: flex;
flex-direction: column;
}
@media (min-width: 480px) {
.buttonContainer {
flex-direction: row;
}
}
.buttonContainer button {
cursor: pointer;
border: 1px solid #999;
text-transform: uppercase;
font-weight: bold;
padding: 10px;
width: 100%;
}
.tabContainer .buttonContainer button:hover,
.tabContainer .buttonContainer button:focus,
.tabContainer .buttonContainer button:active {
background-color: white;
border-bottom: 1px solid white;
}
.tabContainer .tabPanel {
height: auto;
width: auto;
background-color: white;
color: black;
border: 1px solid #999;
border-top: 0;
list-style-position: inside;
padding: 50px;
}