
.text-justify{
    text-align: justify;
    word-spacing: normal;
}
.text-bold{
    font-weight: bold !important;
}
.logo{
    max-width: 40px;
}
.about-logo{
    float: left;
    margin-right:.2rem;
}
.navbar-light{
    background-color: #ffff !important;
}
.form-control{
    border-radius: 10rem;
}
.btn{
    border-radius: 10rem;
}

.pr-SubscribeForm .form-control,
.pr-SearchForm .form-control{
    border-radius: 10rem 0rem 0rem 10rem !important;
}
.pr-hero{
    background: linear-gradient(rgba(218, 166, 8, 0.2), rgba(3, 137, 52, 0.5)), url('/static/img/banner.gif') no-repeat center center;
    background-size: cover;
    position: relative;
    width:100%;
    word-wrap: break-word;
}
@media screen and (min-width: 768px) {
    .pr-hero{
        min-height:30rem;
        padding:10rem;
    }
}
.pr-hero:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color:#049b39;
    z-index: -1; /* Place the overlay behind the content */
}
.pr-SubscribeForm .btn,
.pr-SearchForm .btn{
    border-radius: 0rem 10rem 10rem 0rem;
    color:#1100ff;
}
.pr-SearchForm .btn{
    color:#ffff;
    padding: .5rem .75rem;
}
.pr-SearchForm{
    max-width:400px;
    margin: 0 auto;
}
.pr-SearchForm .input-group{
    box-shadow: .01rem .02rem .01rem #ede9e8;
}


.contacts{
    background: #f0f0f0;
    background-size: cover;
    position: relative;
    border-radius: .75rem .75rem 0rem 0rem;
}
.contacts textarea{
    border-radius: .5rem;
}
.contacts .contact-details,
.contacts form{
    padding:2rem;
}
.contact-title{
    font-size: 2rem;
    text-align: center;
    margin: 1rem auto;
    box-shadow: 1rem 2rem 1rem #d1c8c8; 
    padding: 0.5rem 0.75rem;
    background-color: #ffffff;
    max-width: fit-content;
    border-radius: 0rem 1rem;
}

@keyframes typewriter {
    from {
        width: 0
    }

    to {
        width: 100%
    }
}

.hero-title {
    overflow: hidden;
    white-space: nowrap;
    animation: typewriter 2s steps(20) 1s forwards;
    border-right: 3px solid var(--primary);
    font-size: calc(1.5rem + 1.5vw);
    line-height: 1.2;
    /* Optional cursor */
}
.moto {
    font-size: calc(1rem + 0.5vw);
}
.img-carousel {
    min-height: 110%;
    max-height: 22rem;
    object-fit: cover;
}

.carousel-item .col-md-6 {
    min-height: 300px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
/* Services */

.services-card{
    position:relative;
    
}
.services-card img{
    min-height: 20rem;
    max-height: 20rem;
    min-width: 100%;
}
.services-card .services-caption{
    position:absolute;

    top:45%;
}

.contact-card {
    background-color: var(--dark-blue);
    color: white;
    border-radius:
  10px;
    padding:
  2rem;
  }
  .shadow-lg {
    box-shadow: 0 1rem 3rem rgba(0,0,0,.175) !important;
  }
  .contact-card {
    background-color: var(--dark-blue);
    color: white;
    border-radius:
  10px;
    padding:
  2rem;
  }
  .shadow-lg {
    box-shadow: 0 1rem 3rem rgba(0,0,0,.175) !important;
  }

  @media (max-width: 767.98px) {
    .pr-hero {
        text-align: center;
    }
    
    .carousel-item .col-md-6 {
        padding: 2rem 1rem;
    }
    
    .contact-card {
        text-align: center;
    }
    
    .contact-card .btn {
        margin-top: 1rem;
        width: 100%;
    }
    
    .table-responsive {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    
    .table th, .table td {
        white-space: nowrap;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .hero-title {
        font-size: calc(1.3rem + 1.3vw);
    }
}

/** projects */
.category-badge {
    font-size: 0.8rem;
    background-color: #e8f5e9;
    color: #2e7d32;
  }