/****************************
FONTS
****************************/
@import url('https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600');
@import url('https://fonts.googleapis.com/css2?family=Lexend:wght@100..900&display=swap');
* { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }




/****************************
GLOBAL STYLE
****************************/
:root{
    --body: rgba(94,97,107,1);
    --divider: rgba(153,153,153,1);
    --hero-headings: rgba(250,250,250,1);
        
    --primary-color: rgba(44,17,56,1);
    --primary-color-light: rgba(44,17,56,0.8);

    --secondary-color: rgba(105,210,220,1);
    --secondary-color-hover: rgba(133, 245, 255, 0.8);
    --secondary-color-light: rgb(142, 227, 236);
    --secondary-color-dark: rgb(77, 161, 169);

    --nav-item: rgba(240,240,240,1);
    --job-bg: rgba(243,243,243,1);
    --home-tagline-bg: rgba(243,243,243,1);

    --social-a: rgba(136,245,255,1);
    --social-a-hover: rgb(207, 251, 255);

    --btn-color: rgba(255,255,255,1);
}

body {font-family: 'Lexend', 'Source Sans Pro', sans-serif; color:var(--body);}
.divider{display:block; border-top: 1px solid var(--divider); height:0px; margin:2rem 0px; clear:both;}
a {color:var(--secondary-color); text-decoration: none;}
a:hover {color:var(--secondary-color-hover); text-decoration: none;}
.btn-primary {background-color: var(--primary-color); border-color: var(--primary-color); color: var(--btn-color);}
.btn-primary:hover {border-color: var(--primary-color-hover); background-color: var(--primary-color-light); color: var(--btn-color); text-decoration: none;}
.btn-success:hover {text-decoration: none;}
.btn-check:focus + .btn-primary, .btn-primary:focus {background-color: var(--primary-color-hover);	border-color: var(--primary-color-hover); box-shadow: 0 0 0 .25rem var(--primary-color);}
.alert {margin-top:20px;}
figure {border-left: solid 5px var(--primary-color); padding-left: 1rem; color: var(--primary-color);}
.card {margin-bottom: 1rem; background-color: var(--job-bg);}
/* .card p:first-child::before{color: var(--primary-color); content: "\201c"; font-family: 'Lexend', 'Source Sans Pro', sans-serif; float: left; font-size: 4rem; line-height: 2rem; padding-top: 0.8rem; padding-right: 0.5rem;} */
.input-group-text {background-color: var(--secondary-color);border: 1px solid var(--secondary-color);color: var(--btn-color);}
.no_job .lead {font-size: 1.5rem;}
.jobs-view p {color: var(--body)!important;} /* if <p> was included when copying in text, the text would be white */
.mb-6 {margin-bottom: 4rem;}
.img-fluid-max {
  max-width: 170px;
  height: auto;
}


/****************************
NAVIGATION
****************************/
.navbar-brand img{max-height:65px;}
.navbar {padding: 0.8rem 0;}
.navbar-bg {background-color: var(--primary-color);}
.navbar-light .navbar-nav .nav-link {color: var(--nav-item); margin-left: 0.1rem;}
.navbar-light .navbar-nav .nav-link.active, .navbar-light .navbar-nav .show > .nav-link {color: var(--secondary-color-light); text-decoration: none;}
.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {color: var(--secondary-color-light); text-decoration: none;}
.dropdown-item:focus, .dropdown-item:hover {color: var(--primary-color);background-color:var(--job-bg); text-decoration: none;}
.navbar ul.nav li a:hover {color: var(--secondary-color-light);}
.navbar ul.nav .active a, .navbar ul.nav .active a:hover {color: var(--secondary-color-light); background:none; box-shadow: none;}
.navbar-light .navbar-nav .nav-link:focus {outline: none; text-decoration: none;}
.nav-item:last-of-type .nav-link{padding-right: 0;}
.navbar-light .navbar-toggler {color:var(--btn-color); border-color: var(--btn-color); background-color: var(--btn-color);}
.dropdown-menu.show {box-shadow: 0 .5rem 1rem rgba(0,0,0,.35)!important;}

/****************************
HOME
****************************/
.hero {background-size:cover; background-position: center center; background-color: var(--primary-color); overflow: hidden; padding: 3rem 0;}
.hero h1, .hero h2 {color:var(--hero-headings);}
.home-search, .home-social {background-color:var(--primary-color);}
.home-tagline {padding:1rem 0.5rem;}
.home-job {background-color: var(--home-job-bg);}

/****************************
BANNER
****************************/
.banner {background:var(--primary-color); background-size: cover; background-position: center center; padding: 1rem 0;}
.banner h1 {text-shadow: var(--text-shadow);}
.banner .social a {color:var(--social-a); text-shadow: var(--text-shadow); margin-left:3px;}
.banner .social a:hover {color:var(--social-a-hover);}
.banner .phone, .banner .phone a{color:var(--social-a); text-shadow: var(--text-shadow); letter-spacing: 1px;}

/****************************
JOBS
****************************/
#clearJobSearch {cursor:pointer;}
.jobs-table h1 {font-size:1.2rem;}
.jobs-view h2, .jobs-apply h2 {font-size: 1.5rem;}
.home-job, .jobs-job {background-color: var(--primary-color); box-shadow: 0 .125rem 0.25rem rgba(0,0,0, 0.075);}
.home-job {border: solid 1px #ddd; box-shadow: 0 .125rem 0.25rem, rgba(0,0,0, 0.095);}
.jobs-job {border-top: solid 10px var(--secondary-color-light); box-shadow: 0 .125rem 0.25rem, rgba(0,0,0, 0.095);border-left: solid 1px #ddd; box-shadow: 0 .125rem 0.25rem, rgba(0,0,0, 0.095);border-right: solid 1px #ddd; box-shadow: 0 .125rem 0.25rem, rgba(0,0,0, 0.095);border-bottom: solid 1px #ddd; box-shadow: 0 .125rem 0.25rem, rgba(0,0,0, 0.095);}
.jobs p, .jobs-table h2{font-size: 0.9rem; color: var(--btn-color);}

/****************************
BLOG
****************************/
.blog-table h1 {font-size:20px; font-weight: 600;}
.blog-table h2 {color:#5E616B; font-size:15px; font-weight: 600; margin:10px 0 15px 0;}
.blog-view h2 {color:#5E616B; font-size:15px; font-weight: 600; margin:10px 0 15px 0;}

/****************************
GOOGLE
****************************/
#map {width: 100%; height: 400px; float:right;}
.g-recaptcha {margin-top:25px;}

/****************************
CONTACT
****************************/
address {margin-top:25px; font-size: 0.7rem;}
address .block {display:inline-block; vertical-align: top;}
address .fa {width:20px; display:inline-block; position:relative; top:1px; color: #fff;}

/****************************
DESKTOP
****************************/
@media screen and (min-width: 992px) {
    .navbar {padding: 1rem 0;}
    .hero h1 {font-size: 4rem;}
    .size {width:50%;}
    .hero {padding: 4rem 0;}
    .home-tagline {padding: 3rem 0;}
    .home-job {min-height: 250px;}
    .jobs-job {min-height: 300px;}
    .banner {padding: 2rem 0;}
    .divider {margin: 3rem 0;}
    .home-social a{font-size:1rem;}
}

/****************************
DESKTOP - CUSTOM, FJWILSON
****************************/
@media screen and (min-width: 1199px) {
    .navbar-brand img{max-height:65px;}
}
.additional-info {color: var(--body)!important;}

/****************************
CUSTOM
****************************/
.home-social a {color:var(--social-a)}
.home-social a:hover {color:var(--social-a-hover)}
.home-social .fa {color:var(--social-a);}
.home-social {font-size: 1.2rem;}
.card {background-color: var(--secondary-color-light); color: #333;}
.card-dark {background-color: var(--primary-color); color: #fff;}
h1,h2,h3,h4,h5,h6 {font-family: "Lexend", sans-serif;font-weight: 400;}
h4 {font-size: 0.9rem; border-bottom: 1px solid var(--secondary-color); padding-bottom: 6px;}
h3 {font-size: 1.4rem;}
h6 {font-weight: 600;}
.footer {background-color: var(--primary-color);color:#fff;}
.legal {line-height: 1.3em;}
.card-title {font-size: 1.7rem; font-weight: 600; padding: 10px 0 10px 0;}
.home-social a{font-size:0.98rem;}
.link-on-white {color: var(--secondary-color-dark);}
.fs-7 {font-size: 0.7em;}

.card-light a:not(.btn) {color: var(--primary-color-light); text-decoration:underline; font-weight: 600;}

.card-light tr {border-color: var(--secondary-color-light);}

/***********
Testamony quotation marks
************/
.testimonial-content {
  position: relative;
  padding-left: 3rem;
}

.testimonial-content::before {
  content: "\201c";
  position: absolute;
  left: 0;
  top: 1.2rem;
  color: var(--secondary-color-dark);
  font-family: 'Lexend', 'Source Sans Pro', sans-serif;
  font-size: 5rem;
  line-height: 2rem;
}
/***********
Testamony divider
************/
.card-divider {
  margin: 3rem 0 0.5rem 0;
  display: block;
  border-top: 1px solid var(--secondary-color-dark);
  height: 0px;
  clear: both;
}

/***********
Hone cards
************/
.service-card .card-body {
  min-height: 280px;
}

.service-card .card-text {
  margin-bottom: 1.5rem;
}
@media (max-width: 992px) {
  .service-card {
    height: auto !important; /* Overrides Bootstrap's h-100 */
    margin-block: 0.5rem;
  }

  .service-card .card-body {
    min-height: 0;
  }
}

/***********
Styled List
************/
.styled-list {
  list-style: none;
  padding-left: 0;
}

.styled-list li {
  position: relative;
  padding-left: 1.5rem;
  margin-bottom: 0.75rem;
  font-size: 1.1rem;
  line-height: 1.2em;
  padding-bottom:12px;
  border-bottom: 1px solid rgb(111,111,111);
}

.styled-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.37em;
  width: 0;
  height: 0;
  border-top: 0.35rem solid transparent;
  border-bottom: 0.35rem solid transparent;
  border-left: 0.5rem solid var(--secondary-color);
}

/***********
Dropdown menu
************/

.navbar .dropdown-menu {
  background-color: var(--primary-color);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 0.5rem;
  padding: 0.5rem;
  box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.25);
}

.navbar .dropdown-item {
  color: #fff;
  border-radius: 0.25rem;
  padding: 0.65rem 1rem;
}

.main-nav .dropdown-item:hover,
.navbar .dropdown-item:focus {
  color: var(--secondary-color);
  background-color: rgba(255, 255, 255, 0.08);
}

.navbar .dropdown-menu .dropdown-item:hover,
.navbar .dropdown-menu .dropdown-item:focus,
.navbar .dropdown-menu .dropdown-item:active,
.navbar .dropdown-menu .dropdown-item.active {
  background-color: var(--secondary-color);
  color: var(--primary-color);
}

.navbar .dropdown-divider {
  border-top-color: rgba(255, 255, 255, 0.18);
}

/***********
Footer
************/
.footer-menu {
    margin: 0;
    padding: 0;
    list-style: none;
}
.footer-menu a {
    display: inline;
    padding: 0;
    color: #fff;
    text-decoration: none;
    background: none;
    font-size: 0.9rem;
}

.footer-menu a:hover,
.footer-menu a:focus {
    color: var(--secondary-color-light);
    text-decoration: none;
    background: none;
}
.footer-brand {
    display: flex;
    align-items: center;
    gap: 2.5rem;
}

.footer-brand-logo {
    width: 250px;
    height: auto;
    flex-shrink: 0;
}

.footer-brand p {
    max-width: 500px;
    font-size: 0.9rem;
}

.footer-details {
    margin-top: 2rem;
}

@media (max-width: 767.98px) {
    .footer-brand {
        align-items: flex-start;
        gap: 1.5rem;
    }

    .footer-logo {
        width: 75px;
    }

    .footer-brand p {
        font-size: 1.1rem;
    }
}
.home-social-icons p {display: inline; padding-right: 10px; font-size: 0.9rem;}


.footer-logos {
    display: flex;
    align-items: center;
    gap: 2rem;
}

.footer-logos img {
    width: auto;
    max-width: 120px;
    max-height: 60px;
    object-fit: contain;
}

@media (max-width: 575.98px) {
    .footer-logos {
        flex-wrap: wrap;
        gap: 1.5rem;
    }
}