.candidate-list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px;
}
.candidate-list .candidate-card {
    padding: 30px;
    border-radius: 14px;
    border: 1px solid #ECEDF2;
}
.candidate-info {
    font-size: 14px;
    margin-bottom: 8px;
}
.candidate-related {
    margin-bottom: 20px;
}
.candidate-description .sub-title {
    margin-bottom: 10px !important;
}
.candidate-description p:last-child {
    margin-bottom: 0;
}
.candidate-description {
    margin-bottom: 15px;
}
.candidate-button .button-link a {
    display: block;
    width: 100%;
}
.candidate-description p {
  overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    font-size: 14px;
}



@media only screen and (max-width: 1500px) {
.candidate-listing-section > .container{padding: 0 30px;}



}

@media only screen and (max-width: 1400px) {
.candidate-listing-section > .container {padding: 0 50px; }



}


@media only screen and (max-width: 1100px) {
.candidate-list { grid-template-columns: 1fr 1fr;gap: 25px;}



}

@media only screen and (max-width: 960px) {
.candidate-listing-section > .container {padding: 0 30px; }
.candidate-list .candidate-card {padding: 25px;}



}

@media only screen and (max-width: 767px) {
.candidate-list {grid-template-columns: 1fr; }



}



@media only screen and (max-width: 480px) {
    .candidate-listing-section > .container {padding: 0 25px; }


}