/*
Theme Name: PMCJAX Custom Template
Author: PMCJAX
Author URI: https://www.pmcjax.com/
Text Domain: pmcjaxcustom

*/
html {font-size:18px;}
body {font-family:"Montserrat",sans-serif;font-weight:400;font-style:normal;color:#111;background-color:#F2F2F2;}
h1{font-size: 2rem;font-weight: 600;}
h2{font-size: 1.8rem;font-weight: 400;}
h3{font-size: 1.6rem;font-weight: 600;}
h4{font-size: 1.4rem;font-weight: 400;}
h5{font-size: 1.2rem;font-weight: 600;}
h6{font-size: 1rem;font-weight: 600;text-transform:uppercase;}
p{font-size: 1rem;}
p:last-child{margin-bottom:0;}
img{max-width:100%;}
blockquote{padding: 20px;background-color: rgba(0,0,0,0.1);border-radius: 15px;}
.text-right{text-align: right;}
.centervert{display: flex;justify-content: center;flex-direction: column;}
.two-col-list {  column-count: 2; column-gap: 50px; list-style-position: outside; padding-left: 30px; }
.two-col-list li {  -webkit-column-break-inside: avoid; page-break-inside: avoid; break-inside: avoid; margin-bottom: 5px; }
.ol {list-style-type: decimal;}
ul.abtpro li {margin-bottom:14px;}

input, select, textarea {padding:12px 12px;border:1px solid #ccc;border-radius:5px;}
select{padding:14px 12px;}
input[type="submit"], input[type="button"]{color:#FFF;background-color:#0e4473;font-family:'Ubuntu', sans-serif;font-size:16px;font-weight:700;text-transform:uppercase; padding:14px 30px;}
input[type="submit"]:hover, input[type="button"]:hover{color:#FFF;background-color:#6d8cbe;}
.nf-form-fields-required {font-size:.8rem; padding-bottom:20px;}
.container, .container-fluid {padding-left: 20px;padding-right: 20px;}
header#header{background-color:#FFF;position:fixed;top:0;left:0;width:100%;z-index:999;}
body.admin-bar header#header{top:32px;}
header#header::after{content:'';background: #0E4473;background: linear-gradient(90deg, rgba(14, 68, 115, 1) 0%, rgba(96, 147, 192, 1) 100%);display:block;width:100%;height:5px;position:relative;bottom:0px;left:0;}
header#header .utility{list-style: none;display: flex;justify-content: end;}
header#header .utility .widget-container{margin-right:15px;}
header#header .utility .widget-container:last-child{margin-right:0;}
header#header .utility .textwidget p{margin:0;}
header#header img#logo{padding:20px 0;height:138px;transition:all .5s ease;-webkit-transition:all .5s ease;}
header#header.scrolled img#logo{padding:10px 0;height:100px;}
header#header #mobilebtn {display: none;position: absolute;top: 65px;right: 20px;padding: 10px;z-index: 9999;width: 50px;background-color: #eee;border-radius: 15px;cursor: pointer;transition: all .5s ease;-webkit-transition: all .5s ease;}
header#header.scrolled #mobilebtn{top:50px;}
header#header #mobilebtn span{display: block;height: 3px;width: 100%;border-radius: 20px;background-color: #000;margin: 5px 0;}
.utilbtn{background-color:#0E4473;color:#FFF;display:inline-block;padding:10px 20px 10px 20px;border-radius:0 0 15px 15px;text-decoration:none;}
.utilbtn:hover{background-color:#6093C0;}
.phone{padding: 10px 20px 10px 20px;display: inline-block;color: #000;text-decoration:none;}
.phone::before{content:'\f095';font-family:"Font Awesome 6 Pro";font-weight:300;margin-right:5px;} 
.phone:hover{color:#6093C0;}
.phone:hover::before{font-weight:600;color:#000;}
.btn{background: #FFFFFF;background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 100%);border:1px solid #0E4473;color:#6093C0;font-weight:700;text-transform:uppercase;  padding: 14px 30px;}
.btn:hover{background: #F2F2F2;background: linear-gradient(180deg, rgba(242, 242, 242, 1) 0%, rgba(226, 226, 226, 1) 100%);}
.btn.large{font-size:1.15rem;line-height: 25px;padding: 17px 25px;}
.btn.solid{background: #6093C0;color:#FFF;}
.btn.solid:hover{background: #F2F2F2;background: linear-gradient(180deg, rgba(242, 242, 242, 1) 0%, rgba(226, 226, 226, 1) 100%);color: #0D0D0D;}
	
header#header nav{height: 100%;display: flex;justify-content: center;flex-direction: column;}
header#header nav #menu-main-menu{display:flex;justify-content:end;margin:0;padding:0;}
header#header nav #menu-main-menu li{padding:0;list-style: none;}
header#header nav #menu-main-menu li::after{content:' | ';font-weight:300;color: #000;margin-right: 5px;}
header#header nav #menu-main-menu li:last-child::after{content:'';}
header#header nav #menu-main-menu li ul.sub-menu li::after{content:'';display:none;}
header#header nav #menu-main-menu li ul.sub-menu{display:none;position:absolute;background-color: #FFF;padding: 5px 10px;z-index:9;}
header#header nav #menu-main-menu li.menu-item-has-children:hover ul.sub-menu{display:block;}
header#header nav #menu-main-menu li ul.sub-menu li.menu-item-has-children > a{font-weight: 600;}
header#header nav #menu-main-menu li ul.sub-menu li ul.sub-menu{display:none;position:relative;padding-left:10px;}
header#header nav #menu-main-menu li ul.sub-menu li:hover ul.sub-menu{display:block;}
header#header nav #menu-main-menu li a{text-decoration:none;font-size:1rem;font-weight:700;text-transform:uppercase;padding:8px 5px;color:#000;}
header#header nav #menu-main-menu li ul.sub-menu li a{font-size:.8rem;padding:3px;font-weight:500;text-transform:initial;  display: block;}
header#header nav #menu-main-menu li.current_page_item > a, header#header nav #menu-main-menu li:hover > a{color:#6093C0;}

header#header + section{margin-top:190px;}

#mainsliderwrap{}
#mainsliderwrap .tns-controls{position: absolute;z-index: 9;top: 50%;width: 100%;height:0;display: flex;justify-content: space-between;transform: translateY(-50%);}
#mainsliderwrap .tns-controls button{background: no-repeat;border: none;color: #FFF;font-size: 62px;position: inherit;}
#mainsliderwrap .tns-controls button:hover{background: #6093c0;}
#mainsliderwrap .tns-controls button:nth-child(1){left:0;border-radius:0 15px 15px 0;}#mainsliderwrap .tns-controls button:nth-child(2){right:0;border-radius:15px 0 0 15px;}
#mainsliderwrap .slide{height: 450px;background-position: center;background-size: cover;background-repeat: no-repeat;}
#mainsliderwrap .slide .slidecontent{position: absolute;max-width: 1320px;margin: 0 auto;left: 0;right: 0;bottom: 0;display: flex;gap: 50px;padding: 15px 30px 20px 30px;background-color: rgba(14, 68, 115, .75);border-radius: 20px;transform: translateY(50%);-webkit-transform: translateY(50%);}
#mainsliderwrap .slide .slidecontent .slidetitle{color: #FFF;font-size: 1.8rem;font-weight: 700;margin-bottom: 10px;line-height: 2.77rem;}
#mainsliderwrap .slide .slidecontent .slidedesc{color: #FFF;font-size: 1rem;margin-bottom:0;}
#mainsliderwrap .slide .slidecontent .btnwrap{min-width:27%;display:flex;flex-direction:column;justify-content:center;}

.logo-row {
    margin-bottom: 30px;
}

.logo-row img {
    max-width: 100%;
    max-height: 100px; /* Adjust as needed */
    width: auto;
    height: auto;
    display: inline-block;
}

.slidersec {background:#FFF;margin:40px 0;}
/* Ensure the Tiny Slider track aligns the logos perfectly centered vertically */
.slidersec .tns-slider {
    display: flex !important;
    align-items: center !important;
}

/* Scoped styling to enforce a uniform, larger height on the logos */
.slidersec img {
    height: 140px !important;    /* Increased height for a cleaner, larger look */
    width: auto !important;      /* Forces width to scale naturally with aspect ratio */
    max-width: 220px !important; /* Safety max-width so wide logos don't dominate */
    object-fit: contain !important;
    margin: 0 auto !important;   /* Centers each image inside its slide container */
    display: block !important;
}

#ctas{padding:60px 0;}
#ctas .cta{min-height: 250px;border-radius: 15px;background-size: cover;background-position: center;position: relative;overflow: hidden;}
#ctas .cta h2{color: #FFF;font-size:1.6rem;font-weight: 600;background-color: rgba(14, 68, 115, .75);border-radius: 15px 15px 0 0;text-align: center;padding: 20px 10px;position: absolute;width: 100%;bottom: 0;margin: 0;transform:translateY(100%);-webkit-transform:translateY(100%);transition:transform .5s ease;}
#ctas .cta:hover h2{transform:translateY(0);-webkit-transform:translateY(0);}

section.img-right{position:relative;overflow:hidden;}
section.img-right .container{position:relative;z-index:5;}
section.img-right .secimg{position: absolute;height: 100%;width: calc((100% - 1320px) / 2 + (1320px * .3333));background-position: bottom left;background-size: cover;top: 0;right: 0;border-radius: 100px 0 0 100px;z-index:0;transform: translateX(100%);transition:transform 1s ease;}
section.img-right .secimg.visible{transform: translateX(0);}
section.img-left{position:relative;}
section.img-left .container{position:relative;z-index:5;}
section.img-left .secimg{position: absolute;height: 100%;width: calc((100% - 1320px) / 2 + (1320px * .3333));background-position: bottom right;background-size: cover;top: 0;left: 0;border-radius: 0 100px 100px 0;z-index:0;}
section.full-width{position:relative;}
section.full-width .container{position:relative;z-index:5;}
section.full-width .secimg{position:absolute;height: 100%;width:100%;background-position:bottom center;background-size:cover;top:0;left:0;z-index:0;background-attachment:fixed;}

section.testimonials {
  padding: 120px 0;
  background-color: #FFF;
}

/* The wrapper inside the column now handles the flex growth */
section.testimonials .testwrap {
  position: relative;
  display: flex;        
  flex-direction: column;
}

/* TOP LEFT QUOTE (75%) */
section.testimonials .testwrap::before {
  content: '';
  background-image: url('./imgs/quotes-top.png');
  width: 105px;         
  height: 82px;         
  position: absolute; 
  top: 0; 
  left: 0;
  background-size: contain;
  background-repeat: no-repeat;
  transform: translate3d(-10px, -45%, 0); 
  z-index: 9;
}

/* BOTTOM RIGHT QUOTE (75%) */
section.testimonials .testwrap::after {
  content: '';
  background-image: url('./imgs/quotes-bot.png');
  width: 105px;         
  height: 82px;         
  position: absolute; 
  bottom: 0; 
  right: 0;
  background-size: contain;
  background-repeat: no-repeat;
  transform: translate3d(10px, 45%, 0);  
  z-index: 9;
}

/* The gradient card fills the space */
section.testimonials .testwrap .test {
  padding: 70px 100px;
  background: #0E4473;
  background: linear-gradient(0deg, rgb(14, 68, 115) 0%, rgb(96, 147, 192) 100%);
  color: #FFF;
  border-radius: 75px;
  position: relative;
  flex-grow: 1; /* This forces the gradient box to expand to equal height */
}

section.testimonials .testwrap .test p span {
  font-weight: 700;
  text-transform: uppercase;
}

section#innerheader{background-image:url('./imgs/dixie-headerbraid.png');padding: 40px 0;background-color: #104580;background-size: 10%;color: #FFF;}
section#innerheader .pagetitle{margin:0;}

section#projects .project{margin-top: 60px;border-top: 1px solid #ccc;padding-top: 60px;}
section#projects .project:nth-child(even){flex-direction: row-reverse;}

/* new css */
#projects .images-only-projects{margin-top: 60px;border-top: 1px solid #ccc;padding-top: 60px;}
.images-only-project h4 {margin-top: 15px; color: #111;}
.images-only-project {text-decoration: none;}

.centervert img {width: 413px;height: 310px;object-fit: cover;}
/* gallery titles hover css */
.images-only-projects .images-only-project {position: relative;display: block;overflow: hidden;}
.images-only-projects .images-only-project picture,
.images-only-projects .images-only-project img {width: 100%;height: 310px !important;display: block;object-fit: cover;transition: transform 0.4s ease;}
.images-only-projects .images-only-project::before {content: "";position: absolute;inset: 0;
background: rgba(0, 0, 0, 0.45);opacity: 0;transition: opacity 0.4s ease;z-index: 1;}
.images-only-projects .images-only-project h4 {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);margin: 0;width: 100%;padding: 0 20px;text-align: center;color: #fff;font-size: 24px;font-weight: 600;line-height: 1.3;opacity: 0;visibility: hidden;transition: all 0.4s ease;z-index: 2;}
.images-only-projects .images-only-project:hover::before {opacity: 1;}
.images-only-projects .images-only-project:hover h4 {opacity: 1;visibility: visible;}
.images-only-projects .images-only-project:hover img {transform: scale(1.08);}
/* Masonry Layout */
.gallery{column-count:4;column-gap:20px;}
.fancybox__footer {display: none;}
.gallery-item{display:block;margin-bottom:20px;break-inside:avoid;overflow:hidden;}
.gallery-item img{width:100%;display:block;transition:0.4s ease;}

/* end */


.page .row.images-only-projects {margin-top: 30px;}

section.projectslider .tns-slider img{height:auto;}

section#resources .resource .featimg{height:200px;background-position:center;background-size:cover;border-radius: 0 20px 20px 0;margin-bottom:20px;}
section#resources .resource:nth-child(odd) .featimg{border-radius: 20px 0 0 20px;}
.resource .btn {margin-top: 20px;}

nav#projectsnav{position: relative;overflow: hidden;height:50px;border: 1px solid #ccc;border-radius: 10px;z-index:999;cursor:pointer;background-color:#FFF;}
nav#projectsnav.active{overflow:visible;}
nav#projectsnav::before{content:'\f32d';font-family:"Font Awesome 6 Pro";font-weight: 700;position: absolute;top: 0;right: 0;font-size: 1.5rem;line-height: 48px;padding: 0 12px;background-color: #0e4473;color: #FFF;z-index:2;border-radius: 0 10px 0px 0px;}
nav#projectsnav:hover::before{background-color:#0E4473;}
nav#projectsnav.active::before{content:'\f331';}
nav#projectsnav .menu-projects-menu-container{position: absolute;top:0;left:0;width: 100%;overflow: visible;background-color:#FFF;border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.12);z-index:1;}
nav#projectsnav .menu-projects-menu-container .menu{display:flex;flex-direction:column;margin:0;padding:0px;list-style: none;max-width: 100%;background-color: #FFF;border-radius: 10px;}
nav#projectsnav .menu-projects-menu-container .menu li a{text-decoration:none;color:#222;display: block;padding: 15.5px 16px;line-height: 18px;pointer-events: none;}
nav#projectsnav .menu-projects-menu-container .menu li.current-menu-item{order:-1;}
nav#projectsnav.active .menu-projects-menu-container .menu li a{pointer-events: auto;}
nav#projectsnav.active .menu-projects-menu-container .menu li a:hover{color:#FFF;background-color:#6093c0;}
/* nav#projectsnav.active .menu-projects-menu-container .menu li.current-menu-item a{color:#FFF;background-color: #0e4473;} */
nav#projectsnav .menu-projects-menu-container .menu li.current-menu-item a{color:#FFF;background-color: #0e4473;border-radius: 10px 10px 0px 0px;}
nav#projectsnav.active .menu-projects-menu-container .menu .current-menu-item a:hover{color:#FFF;background-color: #0e4473;}
nav#projectsnav.active .menu-projects-menu-container .menu li:last-child a:hover {border-radius: 0 0 10px 10px;}

footer#footer{background-color: #0E4473;color: #FFF;padding: 70px 0 35px;} 
footer#footer::before{content:'';background: #0E4473;background: linear-gradient(90deg, rgba(14, 68, 115, 1) 0%, rgba(96, 147, 192, 1) 100%);display:block;width:100%;height:5px;position:relative;top:-70px;left:0;}
footer#footer #footlogo{width:auto;height:200px;display:block;margin-top:0; margin-bottom:0;}
footer#footer #fwa{list-style: none;text-align: right;}
footer#footer #fwa nav.menu-footer-menu-container{height: 100%;display: flex;justify-content: center;flex-direction: column;margin-bottom: 20px;}
footer#footer #fwa nav.menu-footer-menu-container .menu{display:flex;justify-content:end;margin:0;padding:0;flex-wrap:wrap;}
footer#footer #fwa nav.menu-footer-menu-container .menu li{padding:0;list-style: none;}
footer#footer #fwa nav.menu-footer-menu-container .menu li::after{content:' | ';font-weight:300;color: #FFF;margin-right: 5px;}
footer#footer #fwa nav.menu-footer-menu-container .menu li:last-child::after{content:'';}
footer#footer #fwa nav.menu-footer-menu-container .menu li a{color:#FFF;text-transform:uppercase;font-weight:700;text-decoration:none;}
footer#footer #fwa nav.menu-footer-menu-container .menu li a:hover{text-decoration:underline;}
footer#footer #sitebuiltby a{font-size:.8rem;color:#FFF;text-decoration:none;}
footer#footer #sitebuiltby a:hover{text-decoration:underline;}
footer#footer #fwa p{font-size:.9rem;}
#copyright p{font-size:.8rem;}


/* Ensure the card controls the rounded corners and clips the image */
.custom-wp-card {border-radius: 12px !important; border: 1px solid rgba(0,0,0,0.125); background: #fff;}

/* Fix for the Image Wrapper to ensure equal height/sizing */
.custom-wp-card .card-img-wrapper {
	position: relative; 
    width: 100%; 
    /* CHANGED: Remove height: 100% */
    min-height: 450px; 
    display: flex; /* ADDED: Ensures flex behavior cascades down */
    flex: 1 1 auto; /* ADDED: Forces the wrapper to fill its parent column */
}

/* Force the image to fill the space perfectly without distorting */
.custom-wp-card .card-img-wrapper img {
    width: 100%; 
    height: 100%;
    min-height: 100%; 
    object-fit: cover; 
    object-position: center;
    padding: 25px;
}

/* Responsive tweak for mobile: stacks image nicely instead of forcing absolute height */
@media (max-width: 767.98px) {
    .custom-wp-card .card-img-wrapper {min-height: auto;}
    .btn{padding: 10px 15px;}
}
.card-bullets li {margin-bottom: 0.5rem;color: #495057;}
.card-bullets li:last-child {margin-bottom: 0;}

@media (max-width: 1290px) {
header#header nav #menu-main-menu li a {font-size: 0.8rem;}
header#header nav #menu-main-menu li::after {margin-right: 0px;}
}
@media screen and (min-width:992px) and (max-width:1199px){}
@media screen and (min-width:768px) and (max-width:991px){}
@media (max-width: 991.98px) {
    section.img-right,
    section.img-left {overflow: hidden;padding: 0px !important;}

section.img-right .secimg,
section.img-left .secimg {position: relative;top: auto;right: auto;left: auto;display: block;width: 100%;height: clamp(240px, 52vw, 420px);margin-top: 30px;border-radius: 0;background-position: center;transform: none;}
#ctas .cta{margin-bottom:20px;}
#ctas .cta h2{transform: translateY(0);-webkit-transform: translateY(0);}
.btn.large {font-size: 1rem;}
#ctas {padding: 40px 0 0;}
section.testimonials {padding: 80px 0;background-color: #FFF;}
section.testimonials .testwrap::after {width: 100px;height: 70px;bottom: 25px;}
section.testimonials .testwrap::before {width: 100px;height: 70px;top: 10px;}
footer#footer #fwa {text-align: left;padding-left: 0;}
footer#footer #fwa nav.menu-footer-menu-container .menu {justify-content: start;}
footer#footer .text-right {text-align: left;}
footer#footer #footlogo {margin-bottom: 30px;width: 250px;height: auto;}
#mainsliderwrap .slide .slidecontent{flex-direction: column;}
section.testimonials .testwrap .test {margin-bottom: 10px;}
header#header .utility{justify-content: space-between;}
header#header img#logo{height: 90px;}
header#header.scrolled img#logo{height: 80px;}
header#header + section{margin-top: 137px;}
header#header nav{height:0;overflow:hidden;}
header#header nav.active{height:auto;}
header#header #mobilebtn{display:block;}
header#header nav #menu-main-menu{display:block;overflow: scroll;max-height: 500px;}
header#header nav #menu-main-menu li a, header#header nav #menu-main-menu li ul.sub-menu li a{line-height: 1.5rem;display: block;padding: 5px 0;}
header#header nav #menu-main-menu li ul.sub-menu, header#header nav #menu-main-menu li ul.sub-menu li ul.sub-menu{display: block;position: relative;}
header#header nav #menu-main-menu li::after{display:none;}
header#header nav #menu-main-menu li ul.sub-menu li a{font-size:1rem;}
nav#projectsnav{margin-top:30px;}
.project .projectlinks{margin-bottom:20px;}
.p-featimg{margin-top:20px;}
.phone {padding: 10px 20px 10px 0px;}
}
@media (max-width: 768px) {
  .two-col-list {column-count: 1;}
}
@media screen and (min-width:1px) and (max-width:767px){
	html {font-size:14px;}
	section.testimonials .testwrap .test{padding:70px 50px;margin-bottom: 10px;}
}

@media(max-width:1200px){.gallery{column-count:3;}}
@media(max-width:768px){.gallery{column-count:2;}}
@media(max-width:576px){.gallery{column-count:1;}}