/* Layout helpers formerly loaded from unavailable dev/dev2 template folders. */
.section-padding { padding: 100px 0; }
.mb-50 { margin-bottom: 50px; }
.mt25 { margin-top: 25px; }
.mt50 { margin-top: 50px; }
.mt70 { margin-top: 70px; }
.pt20 { padding-top: 20px; }
.pb50 { padding-bottom: 50px; }
.featured-box { padding: 30px 20px; }
.featured-box .intro-header i { font-size: 48px; }
.portfolio.col-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin: 50px 0; }
.portfolio.col-4 .portfolio-item { width: auto; float: none; }
.portfolio-filter { padding: 0; list-style: none; }
.portfolio-filter li { display: inline-block; padding: 10px 24px; cursor: pointer; }
.portfolio-filter li.active { background: #a8e12a; color: #fff; }
.portfolio-item[hidden] { display: none !important; }
.right { float: right; }
.card .card-title { font-size: 21px; }
.card .card-reveal .card-title { color: #555; }
.card .card-reveal { top: 0; transform: translateY(100%); transition: transform .3s ease; visibility: hidden; }
.card.is-open .card-reveal { transform: translateY(0); visibility: visible; }
.mtb-50 { margin-top: 50px; margin-bottom: 50px; }
.featured-item .icon { font-size: 40px; }
.featured-item { margin-bottom: 30px; }
.tick-list li { position: relative; padding-left: 22px; }
.tick-list li::before { content: '\2713'; position: absolute; left: 0; color: #a8e12a; }
.contact-form-note { clear: both; font-size: 13px; }
#alert-area:not(:empty) { margin-bottom: 20px; }
img { max-width: 100%; }
@media (max-width: 991px) {
  .portfolio.col-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .section-padding { padding: 50px 0; }
  .elements-menu { position: static !important; }
}
@media (max-width: 480px) {
  .portfolio.col-4 { grid-template-columns: 1fr; }
}
