/* ============================================================
   PCII site-custom.css — consolidated site styling.
   To give any WPBakery row the blue band treatment, set
   Row settings > Extra class name to: pcii-band  (plus expanded="2").
   ============================================================ */


/* ---- Full-bleed blue band treatment ---- */

.pcii-band {
	margin-top: -40px !important;
	padding-top: 50px !important;
	padding-bottom: 40px !important;
	background-color: #095875 !important;
}

.pcii-band h2,
.vc_custom_1486055439612 h2,
.pcband13007 h2,
.pcband13008 h2,
.pcband13009 h2,
.pcband13010 h2,
.pcband13011 h2,
.pcband13012 h2,
.pcband13026 h2,
.pcband12283 h2,
.vc_custom_1427954677088 h2,
.vc_custom_1785265093607 h2,
.vc_custom_1429493726522 h2,
.pcii-band h3,
.vc_custom_1486055439612 h3,
.pcband13007 h3,
.pcband13008 h3,
.pcband13009 h3,
.pcband13010 h3,
.pcband13011 h3,
.pcband13012 h3,
.pcband13026 h3,
.pcband12283 h3,
.vc_custom_1427954677088 h3,
.vc_custom_1785265093607 h3,
.vc_custom_1429493726522 h3,
.pcii-band h4,
.vc_custom_1486055439612 h4,
.pcband13007 h4,
.pcband13008 h4,
.pcband13009 h4,
.pcband13010 h4,
.pcband13011 h4,
.pcband13012 h4,
.pcband13026 h4,
.pcband12283 h4,
.vc_custom_1427954677088 h4,
.vc_custom_1785265093607 h4,
.vc_custom_1429493726522 h4,
.pcii-band p,
.vc_custom_1486055439612 p,
.pcband13007 p,
.pcband13008 p,
.pcband13009 p,
.pcband13010 p,
.pcband13011 p,
.pcband13012 p,
.pcband13026 p,
.pcband12283 p,
.vc_custom_1427954677088 p,
.vc_custom_1785265093607 p,
.vc_custom_1429493726522 p,
.pcii-band li,
.vc_custom_1486055439612 li,
.pcband13007 li,
.pcband13008 li,
.pcband13009 li,
.pcband13010 li,
.pcband13011 li,
.pcband13012 li,
.pcband13026 li,
.pcband12283 li,
.vc_custom_1427954677088 li,
.vc_custom_1785265093607 li,
.vc_custom_1429493726522 li,
.pcii-band strong,
.vc_custom_1486055439612 strong,
.pcband13007 strong,
.pcband13008 strong,
.pcband13009 strong,
.pcband13010 strong,
.pcband13011 strong,
.pcband13012 strong,
.pcband13026 strong,
.pcband12283 strong,
.vc_custom_1427954677088 strong,
.vc_custom_1785265093607 strong,
.vc_custom_1429493726522 strong,
.pcii-band a,
.vc_custom_1486055439612 a,
.pcband13007 a,
.pcband13008 a,
.pcband13009 a,
.pcband13010 a,
.pcband13011 a,
.pcband13012 a,
.pcband13026 a,
.pcband12283 a,
.vc_custom_1427954677088 a,
.vc_custom_1785265093607 a,
.vc_custom_1429493726522 a,
.pcii-band label,
.vc_custom_1486055439612 label,
.pcband13007 label,
.pcband13008 label,
.pcband13009 label,
.pcband13010 label,
.pcband13011 label,
.pcband13012 label,
.pcband13026 label,
.pcband12283 label,
.vc_custom_1427954677088 label,
.vc_custom_1785265093607 label,
.vc_custom_1429493726522 label {
	color: #ffffff !important;
}

.pcii-band .wpb_single_image img,
.vc_custom_1486055439612 .wpb_single_image img,
.pcband13007 .wpb_single_image img,
.pcband13008 .wpb_single_image img,
.pcband13009 .wpb_single_image img,
.pcband13010 .wpb_single_image img,
.pcband13011 .wpb_single_image img,
.pcband13012 .wpb_single_image img,
.pcband13026 .wpb_single_image img,
.pcband12283 .wpb_single_image img,
.vc_custom_1427954677088 .wpb_single_image img,
.vc_custom_1785265093607 .wpb_single_image img,
.vc_custom_1429493726522 .wpb_single_image img {
	max-height: 500px;
	width: auto;
}

@media (min-width: 768px) {
.pcii-band .inner-flex,
.vc_custom_1486055439612 .inner-flex,
.pcband13007 .inner-flex,
.pcband13008 .inner-flex,
.pcband13009 .inner-flex,
.pcband13010 .inner-flex,
.pcband13011 .inner-flex,
.pcband13012 .inner-flex,
.pcband13026 .inner-flex,
.pcband12283 .inner-flex,
.vc_custom_1427954677088 .inner-flex,
.vc_custom_1785265093607 .inner-flex,
.vc_custom_1429493726522 .inner-flex {
		display: flex;
		align-items: center;
	}
}

/* ---- Contact page (three-column layout) overrides ---- */
@media (min-width: 992px) {
	.vc_custom_1429493726522 > .container {
		width: calc(100% - 150px) !important;
		max-width: none !important;
	}
}

@media (min-width: 768px) {
	.vc_custom_1429493726522 .inner-flex {
		align-items: flex-start;
	}
}
.vc_custom_1429493726522 h4 {
	font-size: 27px;
	font-weight: 600;
	margin-bottom: 15px;
}
.vc_custom_1429493726522 .wpcf7 input[type="text"],
.vc_custom_1429493726522 .wpcf7 input[type="email"],
.vc_custom_1429493726522 .wpcf7 textarea {
	width: 100% !important;
	box-sizing: border-box !important;
	margin-right: 0 !important;
}

/* ---- Form field text on blue bands (fields are white; text must be dark) ---- */
.pcii-band input[type="text"],
.pcii-band input[type="email"],
.pcii-band input[type="tel"],
.pcii-band input[type="number"],
.pcii-band input[type="date"],
.pcii-band textarea,
.pcii-band select,
.vc_custom_1486055439612 input[type="text"],
.vc_custom_1486055439612 input[type="email"],
.vc_custom_1486055439612 input[type="tel"],
.vc_custom_1486055439612 input[type="number"],
.vc_custom_1486055439612 input[type="date"],
.vc_custom_1486055439612 textarea,
.vc_custom_1486055439612 select,
.pcband13007 input[type="text"],
.pcband13007 input[type="email"],
.pcband13007 input[type="tel"],
.pcband13007 input[type="number"],
.pcband13007 input[type="date"],
.pcband13007 textarea,
.pcband13007 select,
.pcband13008 input[type="text"],
.pcband13008 input[type="email"],
.pcband13008 input[type="tel"],
.pcband13008 input[type="number"],
.pcband13008 input[type="date"],
.pcband13008 textarea,
.pcband13008 select,
.pcband13009 input[type="text"],
.pcband13009 input[type="email"],
.pcband13009 input[type="tel"],
.pcband13009 input[type="number"],
.pcband13009 input[type="date"],
.pcband13009 textarea,
.pcband13009 select,
.pcband13010 input[type="text"],
.pcband13010 input[type="email"],
.pcband13010 input[type="tel"],
.pcband13010 input[type="number"],
.pcband13010 input[type="date"],
.pcband13010 textarea,
.pcband13010 select,
.pcband13011 input[type="text"],
.pcband13011 input[type="email"],
.pcband13011 input[type="tel"],
.pcband13011 input[type="number"],
.pcband13011 input[type="date"],
.pcband13011 textarea,
.pcband13011 select,
.pcband13012 input[type="text"],
.pcband13012 input[type="email"],
.pcband13012 input[type="tel"],
.pcband13012 input[type="number"],
.pcband13012 input[type="date"],
.pcband13012 textarea,
.pcband13012 select,
.pcband13026 input[type="text"],
.pcband13026 input[type="email"],
.pcband13026 input[type="tel"],
.pcband13026 input[type="number"],
.pcband13026 input[type="date"],
.pcband13026 textarea,
.pcband13026 select,
.pcband12283 input[type="text"],
.pcband12283 input[type="email"],
.pcband12283 input[type="tel"],
.pcband12283 input[type="number"],
.pcband12283 input[type="date"],
.pcband12283 textarea,
.pcband12283 select,
.vc_custom_1427954677088 input[type="text"],
.vc_custom_1427954677088 input[type="email"],
.vc_custom_1427954677088 input[type="tel"],
.vc_custom_1427954677088 input[type="number"],
.vc_custom_1427954677088 input[type="date"],
.vc_custom_1427954677088 textarea,
.vc_custom_1427954677088 select,
.vc_custom_1785265093607 input[type="text"],
.vc_custom_1785265093607 input[type="email"],
.vc_custom_1785265093607 input[type="tel"],
.vc_custom_1785265093607 input[type="number"],
.vc_custom_1785265093607 input[type="date"],
.vc_custom_1785265093607 textarea,
.vc_custom_1785265093607 select,
.vc_custom_1429493726522 input[type="text"],
.vc_custom_1429493726522 input[type="email"],
.vc_custom_1429493726522 input[type="tel"],
.vc_custom_1429493726522 input[type="number"],
.vc_custom_1429493726522 input[type="date"],
.vc_custom_1429493726522 textarea,
.vc_custom_1429493726522 select,
.pcii-band .select-target,
.vc_custom_1486055439612 .select-target,
.pcband13007 .select-target,
.pcband13008 .select-target,
.pcband13009 .select-target,
.pcband13010 .select-target,
.pcband13011 .select-target,
.pcband13012 .select-target,
.pcband13026 .select-target,
.pcband12283 .select-target,
.vc_custom_1427954677088 .select-target,
.vc_custom_1785265093607 .select-target,
.vc_custom_1429493726522 .select-target {
	color: #333333 !important;
}

/* ---- Form submit buttons on blue bands ---- */
.pcii-band .wpcf7-submit,
.vc_custom_1429493726522 .wpcf7-submit {
	background-color: #444444 !important;
	color: #ffffff !important;
	border: none !important;
	float: none !important;
	display: block;
	margin: 15px 0 0 auto;
	padding: 14px 25px;
	font-size: 18px;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1.33;
	border-radius: 0;
	cursor: pointer;
}
.pcii-band .wpcf7-submit:hover,
.pcii-band .wpcf7-submit:focus,
.vc_custom_1429493726522 .wpcf7-submit:hover,
.vc_custom_1429493726522 .wpcf7-submit:focus {
	color: #ffffff !important;
	background-color: #333333 !important;
}

/* ---- Contact form: quiz + send on a single row ---- */
.vc_custom_1429493726522 .wpcf7 form {
	display: flex;
	flex-wrap: wrap;
}
.vc_custom_1429493726522 .wpcf7 form > * {
	flex: 0 0 100%;
	min-width: 0;
}
.vc_custom_1429493726522 .wpcf7 form p:empty {
	display: none;
}
.vc_custom_1429493726522 .wpcf7 form p:has(.wpcf7-quiz) {
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin: 15px 0 0;
}
.vc_custom_1429493726522 .wpcf7 form p:has(.wpcf7-quiz) br {
	display: none;
}
.vc_custom_1429493726522 .wpcf7 form p:has(.wpcf7-quiz) label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	white-space: nowrap;
}
.vc_custom_1429493726522 .wpcf7 input.wpcf7-quiz {
	width: 120px !important;
}
.vc_custom_1429493726522 .wpcf7 form p:has(.wpcf7-submit) {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	margin: 15px 0 0 auto !important;
}
.vc_custom_1429493726522 .wpcf7 form p:has(.wpcf7-submit) .wpcf7-submit {
	margin: 0 !important;
}
.vc_custom_1429493726522 .wpcf7 form p:has(.wpcf7-submit) .wpcf7-spinner,
.vc_custom_1429493726522 .wpcf7 form p:has(.wpcf7-submit) .ajax-loader {
	position: absolute;
}
.vc_custom_1429493726522 .wpcf7 form p:has(.wpcf7-submit) {
	margin-right: -5px !important;
}

/* ---- CF7 response messages on blue bands ---- */
.pcii-band .wpcf7-response-output,
.vc_custom_1429493726522 .wpcf7-response-output {
	color: #ffffff !important;
	border-width: 2px;
	padding: 12px 16px;
	margin: 20px 0 0;
	flex: 0 0 100%;
}

/* ---- Certifications page: full-blue content area ---- */
.page-id-12283 .content {
	background-color: #095875;
}
.page-id-12283 .content :is(h1, h2, h3, h4, h5, p, li, a, strong, span) {
	color: #ffffff !important;
}
.page-id-12283 .content li,
.page-id-12283 .content .tab-content {
	border-color: rgba(255, 255, 255, 0.35) !important;
}

/* ---- Footer/section headers: no border box (underline only) ---- */
.section-heading-thin-border {
	border: none !important;
}


/* ---- Mobile hero block: desktop uses the RevSlider ---- */
/* (landscape phones — short viewports — keep the mobile hero too) */
@media (min-width: 768px) and (min-height: 521px) {
	.pcii-mobile-hero {
		display: none !important;
	}
}

/* ---- Mobile fixes (portrait phones, plus landscape phones <=480px tall) ---- */
@media (max-width: 767px), (max-height: 520px) {
	/* full-bleed 100vw sections can overhang a classic scrollbar in
	   desktop-emulated views; clamp sidescroll at phone widths */
	html, body {
		overflow-x: hidden;
	}
	/* header: constrain logo within the bar, keep vertical centering */
	#mobile-header img {
		max-height: 62px !important;
		width: auto !important;
		max-width: 78% !important;
		left: 12px;
	}
	/* hamburger: on-screen at the right edge, white */
	#mobile-header label.toggle[for="main-nav-check"] {
		left: auto !important;
		right: 14px !important;
		color: #ffffff !important;
	}
	/* top bar tagline: single compact line */
	#top-bar .topbar-text {
		font-size: 11px;
		line-height: 1.4;
	}
	/* homepage blue band: desktop-asymmetric VC column paddings (15/45,
	   45/15) stack up lopsided on mobile — even them out (extra class
	   outranks the footer-printed vc_custom !important rules) */
	.vc_column-inner.vc_custom_1469455848398,
	.vc_column-inner.vc_custom_1428637015507 {
		padding-left: 15px !important;
		padding-right: 15px !important;
	}
	.dt-section-head .section-main-title {
		padding-left: 0 !important;
		font-size: 24px !important;
		line-height: 1.25 !important;
	}
	.vc_column-inner.vc_custom_1428637015507 h3 {
		font-size: 18px !important;
		line-height: 1.3 !important;
	}
	/* white icon boxes: extra breathing room from the screen edges */
	.module_dt_iconboxes {
		margin-left: 15px;
		margin-right: 15px;
	}
	/* real mobile hero (markup from inc/mobile-hero.php). The legacy slider
	   row's hidden-xs only hides it under 768px, so hide it here too for
	   landscape phones */
	.vc_row.hidden-xs,
	.rev_slider_wrapper,
	.tp-fullwidth-forcer {
		display: none !important;
	}
	.pcii-mobile-hero {
		display: block;
		position: relative;
		width: 100vw;
		margin: -42px 0 0 calc(50% - 50vw);
		background: url(/wp-content/uploads/2017/03/2.jpg) center top / cover no-repeat;
	}
	.pcii-mobile-hero::before {
		content: "";
		position: absolute;
		inset: 0;
		background: rgba(0, 0, 0, 0.45);
	}
	.pcii-mobile-hero-inner {
		position: relative;
		/* top padding clears the translucent header bar overlaying the hero */
		padding: 130px 22px 32px;
	}
	.pcii-mobile-hero-title {
		margin: 0;
	}
	.pcii-mobile-hero-title em {
		display: block;
		text-transform: none;
		font-family: Georgia, 'Times New Roman', serif;
		font-style: normal;
		font-weight: 400;
		font-size: 30px;
		line-height: 1.2;
		color: #ffffff !important;
	}
	.pcii-mobile-hero-title span {
		display: block;
		font-weight: 700;
		font-size: 30px;
		line-height: 1.25;
		color: #ffffff !important;
	}
	.pcii-mobile-hero-inner p {
		margin: 14px 0 20px !important;
		color: #ffffff !important;
		font-size: 14px;
		line-height: 1.6;
	}
	.pcii-mobile-hero-btn {
		display: inline-block;
		background: #12718e;
		color: #ffffff !important;
		font-weight: 700;
		font-size: 15px;
		padding: 13px 30px;
		text-decoration: none;
	}
	.pcii-mobile-hero-btn:hover,
	.pcii-mobile-hero-btn:focus {
		background: #095875;
		color: #ffffff !important;
	}
	/* the boxes row overlaps the slider on desktop (pull-me-up margin +
	   165px padding) - neutralize on mobile. Also: its -40px bottom margin
	   overlays the band below, and only portrait gets the dark row bg from
	   VC's own media rules — pin both here so landscape matches */
	.home .vc_row.vc_custom_1746729070362 {
		margin-top: 0 !important;
		padding-top: 0 !important;
	}
	.vc_row.vc_custom_1746729070362 {
		background-color: #3a3a3a;
		margin-bottom: 0 !important;
	}
	.vc_row.vc_custom_1746729129903 {
		padding-top: 40px !important;
	}
	/* info boxes: compact */
	.vc_col-has-fill {
		height: auto !important;
	}
	.vc_custom_1746729070362 .vc_column-inner {
		padding-top: 6px !important;
		padding-bottom: 6px !important;
	}
	.vc_custom_1746729070362 .wpb_text_column {
		margin-bottom: 0 !important;
	}
	.vc_custom_1746729070362 .wpb_wrapper h1,
	.vc_custom_1746729070362 .wpb_wrapper h2,
	.vc_custom_1746729070362 .wpb_wrapper h3,
	.vc_custom_1746729070362 .wpb_wrapper h4,
	.vc_custom_1746729070362 .wpb_wrapper h5,
	.vc_custom_1746729070362 .wpb_wrapper p {
		margin: 0 !important;
		padding: 0 !important;
		line-height: 1.3 !important;
	}
	.vc_custom_1746729070362 .col-xs-3 img,
	.vc_custom_1746729070362 .col-xs-3 .fa,
	.vc_custom_1746729070362 .col-xs-3 [class*="flaticon"] {
		max-height: 44px !important;
		font-size: 38px !important;
	}
}

/* ---- Migrated site custom CSS (was: Customizer Additional CSS) ---- */
#top-bar {
	min-height: 33px;
	background-color:#095876;
line-height:12px;
}

/* ---- migrated from billio Theme Options css-code ---- */
                body{
height: 100%;
}



/* Post Navigation Area Responsiveness*/
@media (max-width:991px) {
  .post-nav-area i {   
    font-size:25px;
    position:relative;
    top:10px;
  }  
  .post-nav-area p:last-child {
    font-size:11px!important;
  }
}

/*Banner Section Responsiveness*/
@media (max-width:767px) {
    #banner-section .row {
        top:180px!important;
    }
    section#banner-section .breadcrumbs {
        display:none;
    }
     section#banner-section .banner-title h1 {
         font-size: 16px;
     }
}

/*Mobile Logo Position */

#mobile-header img{
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);        
}

/*Flags Responsiveness*/
@media (max-width:767px) {
    .right-menu .nav{
        margin:0 0 10px;
    }
    #top-bar .right-menu .nav > li > a {
        padding:0 5px;
    }
    #top-bar .right-menu .nav > li:first-child > a {
        padding-left:0;
    }
}

.style-404 .btn.btn-ghost{
  color:#000!important;
  border:1px solid #000!important;
  width:100%;
}
.style-404 .btn.btn-ghost:hover {
    color:#fff!important;
    background-color:#000;
}

#dt-menu > ul > li {
    font-weight: 700;
    font-size: 14px;
}

#top-bar {
    border-bottom:1px solid rgba(255,255,255, 0.3);
    background-color: rgba(0,0,0, 0.9);
    padding-top:-4px;
}

#top-bar .topbar-text {
    margin-top: 10px;
}

section#banner-section .breadcrumbs {
    font-weight: bold;
}

section#banner-section .breadcrumbs .current {
    color: #dadee3;
}

.footer-links a {
    color: #999;
}


/* Landscape phones (wide but short): the 750px container leaves white
   gutters beside the gray boxes bar, and 4-across icon columns get too
   narrow — full-bleed the bar and go 2x2 on the service boxes */
@media (min-width: 768px) and (max-height: 520px) {
	.vc_row.vc_custom_1746729070362 {
		width: 100vw;
		margin-left: calc(50% - 50vw) !important;
		margin-right: 0 !important;
	}
	.icon-gray.vc_col-sm-3 {
		width: 50%;
	}
}

/* Scrolled (reveal) sticky header on mobile: the compiled theme CSS paints
   it white, but the reveal logo's wordmark is white — use the dark gray */
@media (max-width: 991px), (max-height: 520px) {
	#head-page.reveal,
	#head-page.reveal.menu_background_color,
	.home #head-page.reveal,
	.home #head-page.reveal.menu_background_color {
		background: #222222 !important;
	}
	#head-page.reveal #mobile-header label.toggle,
	.home #head-page.reveal:not(.alt) #mobile-header label.toggle {
		color: #ffffff !important;
	}
	/* mobile sticky header is dark — keep the white-text logo in every
	   state (the reveal slot now holds the dark-text desktop variant) */
	#head-page.reveal #logomenurevealmobile {
		display: none !important;
	}
	#head-page.reveal #logomenumobile {
		display: block !important;
	}
}

/* ==========================================================================
   Mobile menu: accordion submenus (expand down) instead of slide-over panels
   ========================================================================== */
@media (max-width: 990px), (max-height: 520px) {
	/* Sub-menus flow in-document under their parent item */
	#dt-menu .sub-nav {
		position: static;
		top: auto;
		bottom: auto;
		left: auto;
		width: auto;
		height: auto;
		max-height: 0;
		overflow: hidden;
		background-color: #1a1a1a;
		transform: none !important;
		-webkit-transform: none !important;
		transition: max-height 350ms ease;
	}
	#dt-menu .sub-nav-check:checked ~ ul.sub-nav,
	#dt-menu .sub-nav-check:checked ~ ul[id*='fof-sub-'] {
		max-height: 1500px;
		transform: none !important;
		-webkit-transform: none !important;
	}
	/* The slide-over "BACK" header row is meaningless in an accordion */
	#dt-menu .sub-nav .sub-heading {
		display: none;
	}
	/* Indent children to show hierarchy; tighter type than top level */
	#dt-menu .sub-nav li a {
		position: relative;
		padding-left: 32px;
		font-size: 12px;
		line-height: 1.3;
		padding-top: 8px;
		padding-bottom: 8px;
	}
	/* Right-pointing chevron before each submenu item (no circle) */
	#dt-menu .sub-nav li a:before {
		content: "";
		position: absolute;
		left: 16px;
		top: 14px;
		width: 6px;
		height: 6px;
		border-top: 2px solid;
		border-right: 2px solid;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	/* Thin separators between submenu items, like the top-level rows */
	#dt-menu .sub-nav li + li {
		border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
	}
	#dt-menu .sub-nav .sub-heading + li {
		border-top: 0 !important;
	}
	#dt-menu .sub-nav li:first-child {
		padding-top: 4px;
	}
	#dt-menu .sub-nav li:last-child {
		padding-bottom: 10px;
	}
	/* Anchor the round arrow to its own row (the float hack breaks once
	   the submenu is in flow and stretches the parent li) */
	#dt-menu li {
		position: relative;
	}
	#dt-menu .toggle-sub,
	#dt-menu .sub-nav .toggle-sub {
		float: none;
		position: absolute;
		top: 12px;
		right: 15px;
		margin: 0;
		width: 22px;
		height: 22px;
		background: rgba(255, 255, 255, 0.25);
		border-radius: 50%;
	}
	/* Chevron drawn as a rotated border corner — font glyph ink is never
	   truly centered in its box, geometry is */
	#dt-menu .toggle-sub:after {
		content: "";
		position: absolute;
		left: 50%;
		top: 50%;
		right: auto;
		width: 8px;
		height: 8px;
		padding: 0;
		background: none;
		border-radius: 0;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		margin-left: -2px;
		-webkit-transform: translate(-50%, -50%) rotate(45deg);
		transform: translate(-50%, -50%) rotate(45deg);
	}
	/* Top-level rows in the theme blue; submenus keep the dark panel */
	#dt-menu > ul > li:not(.menu-item-type-search):not(.logo-desktop) {
		background-color: #095875;
		border-top-color: rgba(255, 255, 255, 0.18);
	}
	/* Row text stays white in every state. The compiled customstyle.css
	   prints in the footer, so its blue !important hover rule wins order
	   ties — the extra .menu-item class here outranks it on specificity. */
	#head-page #dt-menu > ul > li.menu-item > a,
	#head-page #dt-menu > ul > li.menu-item > a:hover,
	#head-page #dt-menu > ul > li.menu-item > a:focus,
	#head-page #dt-menu > ul > li.menu-item > a:active,
	#head-page #dt-menu > ul > li.current-menu-item > a,
	#head-page #dt-menu > ul > li.current-menu-ancestor > a,
	#head-page.reveal #dt-menu > ul > li.menu-item > a,
	#head-page.reveal.alt #dt-menu > ul > li.menu-item > a {
		color: #ffffff !important;
	}
	/* Header strip: dark gray like the panel, with the logo shown */
	#dt-menu > ul > li.logo-desktop {
		background-color: #222;
		width: auto !important;
		min-height: 0;
		padding: 16px 44px 14px 8px;
		border-top: 0;
	}
	#dt-menu > ul > li.logo-desktop a {
		padding-left: 0;
	}
	#head-page #dt-menu #logomenu {
		display: inline-block !important;
		max-width: 215px;
		height: auto;
	}
	/* Rotate the round arrow to point down while its submenu is open */
	#dt-menu li:has(> .sub-nav-check:checked) > .toggle-sub {
		transform: rotate(90deg);
	}
}


/* ==========================================================================
   Sidebar widgets: bordered box + heading bar (the old accordion look)
   ========================================================================== */
.sidebar .widget:not(.widget_search) {
	border: 1px solid #e0e0e0;
	margin-bottom: 30px;
}
.sidebar .widget:not(.widget_search) .widget_title {
	margin: 0;
	padding: 14px 18px;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: #444444;
	border-bottom: 1px solid #e0e0e0;
}
.sidebar .widget:not(.widget_search) ul {
	list-style: none;
	margin: 0;
	padding: 12px 18px 16px;
}
.sidebar .widget:not(.widget_search) ul li {
	padding: 4px 0;
}


/* Standalone action buttons (e.g. career-opportunities Accept/Decline) —
   matches the band form submit buttons */
.pcii-btn {
	display: inline-block;
	background: #444444;
	color: #ffffff !important;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 16px;
	padding: 14px 40px;
	margin: 6px 10px;
	text-decoration: none !important;
}
.pcii-btn:hover,
.pcii-btn:focus {
	background: #333333;
	color: #ffffff !important;
}


/* Hero banner page titles & breadcrumbs: white (were low-contrast grey) */
.banner-title .page-title,
.breadcrumbs,
.breadcrumbs a,
.breadcrumbs span,
.breadcrumbs .current {
	color: #ffffff !important;
}

/* Career Opportunities: breathing room above T&C heading and the buttons */
.page-id-13171 .pcii-band h3 {
	margin-top: 40px;
}
.page-id-13171 .pcii-btn {
	margin-top: 34px;
}


/* Desktop nav: the 450px logo slot + "News & Info" label overflow the
   menu row and wrap it to two lines (doubling the header). Cap the logo. */
@media (min-width: 991px) {
	#dt-menu > ul > li.logo-desktop {
		width: 350px !important;
		vertical-align: middle;
	}
	#dt-menu .logo-desktop img {
		max-width: 340px;
		height: auto;
		margin-top: 16px;
	}
}
/* Room to breathe at full desktop widths: near-original logo size */
@media (min-width: 1200px) {
	#dt-menu > ul > li.logo-desktop {
		width: 420px !important;
	}
	#dt-menu .logo-desktop img {
		max-width: 410px;
		margin-top: 8px;
	}
}


/* Desktop homepage: the translucent info boxes used to hang past the hero
   into the blue band — now they end exactly at the hero bottom, with
   slimmer symmetric padding (also adds gap below the LEARN MORE button) */
@media (min-width: 992px) and (min-height: 521px) {
	/* margin collapsing pins this row's TOP under the slider; transparent
	   row padding pushes the visible boxes down so their bottom lands on
	   the hero's bottom edge, and the compacted innards buy the gap below
	   the LEARN MORE button */
	.home .vc_row.vc_custom_1746729070362 {
		margin-bottom: 0 !important;
		padding-top: 16px !important;
	}
	.home .vc_row.vc_custom_1746729070362 .wpb_text_column {
		margin-bottom: 0 !important;
	}
	/* icon and text vertically centered relative to each other */
	.home .vc_row.vc_custom_1746729070362 .vc_col-has-fill .vc_row {
		display: flex;
		align-items: center;
	}
	.home .vc_row.vc_custom_1746729070362 .vc_col-has-fill .vc_row .vc_column-inner {
		margin-top: 0 !important;
	}
	/* blue band: top space equals bottom space */
	.vc_row.vc_custom_1746729129903 {
		padding-top: 39px !important;
	}
	.home .vc_row.vc_custom_1746729070362 .vc_col-has-fill > .vc_column-inner {
		padding-top: 8px !important;
		padding-bottom: 8px !important;
	}
	.home .vc_row.vc_custom_1746729070362 .vc_col-has-fill .wpb_column .vc_column-inner {
		padding-top: 12px !important;
		padding-bottom: 12px !important;
	}
}


/* Slider LEARN MORE buttons: center the label in the button rectangle */
#rev_slider_1_1 rs-layer.rev-btn,
#rev_slider_1_1 .rev-btn {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
}


/* Site Reviews widgets inside the blue band (customer-reviews page) */
.pcii-band label,
.pcii-band .glsr-label,
.pcii-band .glsr-review-author,
.pcii-band .glsr-review-date,
.pcii-band .glsr-review-content,
.pcii-band .glsr-tag-value,
.pcii-band .glsr-form-message,
.pcii-band .glsr,
.pcii-band .glsr p {
	color: #ffffff !important;
}
.pcii-band .glsr-button {
	background: #444444 !important;
	color: #ffffff !important;
	border: 0;
	border-radius: 0 !important;
	margin-top: 10px !important;
	font-weight: 700;
	text-transform: uppercase;
	padding: 14px 40px;
}
/* stars are the rating control; hide the fallback dropdown (both the
   native select and billio's styled .select-target clone of it) */
.glsr-form .glsr-star-rating select,
.glsr-form .glsr-field-rating .select-target {
	display: none !important;
}
.pcii-band .glsr-button:hover,
.pcii-band .glsr-button:focus {
	background: #333333 !important;
	color: #ffffff !important;
}

/* customer-reviews: the two band rows read as one continuous blue area,
   and the reviews/form columns top-align instead of vertically centering */
.pcii-band-cont {
	margin-top: 0 !important;
	padding-top: 0 !important;
}
.pcii-band-cont .inner-flex {
	align-items: flex-start !important;
}


/* footer location blocks: breathing room below each map, tighter above
   the next map */
.footer-loc-info {
	margin-top: 14px !important;
	margin-bottom: 20px !important;
}


/* footer: fluid width on desktop — columns track the browser width */
@media (min-width: 992px) {
	.footer-on-dark-bg > .container.dt-container {
		width: calc(100% - 150px);
		max-width: none;
	}
}


/* footer refinements */
.footer-on-dark-bg img[src*="originalLOGO"] {
	width: 100%;
	max-width: 100%;
	height: auto;
}
/* news teaser: clamp to half its former length */
.footer-on-dark-bg .flex-slider-plain .flex-caption p {
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
/* nudge col 3 content left: tighter to SERVICES, roomier before LOCATIONS */
@media (min-width: 992px) {
	.footer-on-dark-bg .inner-flex > .wpb_column:nth-child(3) > .vc_column-inner {
		padding-left: 0 !important;
		padding-right: 30px !important;
	}
	/* and col 2 content right: away from the logo column, toward the news */
	.footer-on-dark-bg .inner-flex > .wpb_column:nth-child(2) > .vc_column-inner {
		padding-left: 60px !important;
		padding-right: 0 !important;
	}
	/* col 4: maps/address flush with the copyright credit's right edge */
	.footer-on-dark-bg .inner-flex > .wpb_column:nth-child(4) > .vc_column-inner {
		padding-right: 0 !important;
	}
	/* copyright bar matches the fluid footer width */
	footer#footer .container.footer-section {
		width: calc(100% - 150px);
		max-width: none;
	}
}
/* copyright bar: two columns, left/right aligned */
#footer-left.pcii-footer-bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}
.pcii-footer-bar-left p,
.pcii-footer-bar-right p {
	margin: 0;
}


/* header: fluid width on desktop, matching the footer treatment */
@media (min-width: 992px) {
	#head-page > .container,
	#top-bar > .container {
		width: calc(100% - 150px);
		max-width: none;
	}
	#dt-menu {
		width: 100% !important;
		max-width: none !important;
	}
}


/* employment application: the CF7 form uses inline-styled 33% float
   columns — stack them full-width on phones AND tablets (columns only
   have room at desktop widths) */
@media (max-width: 991px), (max-height: 520px) {
	.wpcf7-form div[style*="float:left"],
	.wpcf7-form div[style*="float: left"] {
		width: 100% !important;
		float: none !important;
	}
	.wpcf7-form input[type="text"],
	.wpcf7-form input[type="tel"],
	.wpcf7-form input[type="email"],
	.wpcf7-form input[type="date"],
	.wpcf7-form select,
	.wpcf7-form textarea {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}
	/* iOS: date inputs keep an intrinsic min-width unless the native
	   appearance is stripped */
	.wpcf7-form input[type="date"] {
		-webkit-appearance: none;
		appearance: none;
		min-width: 0 !important;
		display: block;
		min-height: 44px;
		background-color: #ffffff;
	}
	.wpcf7-form .wpcf7-form-control-wrap {
		display: block;
		max-width: 100%;
	}
	/* breathing room where the stacked columns meet */
	.wpcf7-form div[style*="float"] ~ div[style*="float"] {
		margin-top: 22px;
	}
	/* the yes/no questions: drop the blank-line <br> separators and
	   tighten the paragraph gap */
	.wpcf7-form p + br,
	.wpcf7-form p:has(> br:first-child:last-child) {
		display: none;
	}
	.wpcf7-form p:has(.wpcf7-checkbox) {
		margin-bottom: 12px !important;
	}
	/* section headings need air above them in the stacked flow */
	.wpcf7-form h2 {
		margin-top: 34px;
	}
}

/* Turnstile widget: keep clear of the field above and the submit below */
.wpcf7-form .cf-turnstile {
	display: block;
	margin-top: 20px;
	margin-bottom: 10px;
}
