html, body {
	font-family: 'Raleway', "Trebuchet MS", Arial, Helvetica, sans-serif; 
	padding: 0px; 
	margin: 0px; 
	color: #8a8a8a;
}

a {
	color: #00ACE9;
}

a:hover {
	text-decoration: none;
}

p {
	color: #777;
}

.height10 { height: 10px; }
.height20 { height: 20px; }

h1, h2, h3, h4, h5, h6 {
	font-family: 'Raleway', "Trebuchet MS", Arial, Helvetica, sans-serif;
	font-weight: 400;
}

h1	{	font-size: 1.5em;
	color: #ffffff;
	background: #343537;
	padding: 10px 8px;
	float: left;
	}
	
h2	{ font-size: 24px; color: #333333; }

.templatemo_reasonbg h2, .templatemo_blog h2 { color: #ffffff; }

img {
  	max-width: 100%;
  	height: auto;
  	display: block;
}
.clear	{ clear: both;}

.mWrapper {
  	width: 100%;
  	background-color: white;
  	z-index: 5000;
}

.templatemo_top	{
	position: fixed;
	z-index: 5000;
	background: #ffffff;
	width: 100%;

}
.templatemo_slider {
	top: 80px;
	position: relative;
}
.logo {
	padding: 0 0 0 16px;
	width: 326px;
}
.mainMenu {

}
.mainMenu ul {
	float: right;
	padding-left: 0;
	margin-bottom: 0;
	line-height: 60px;
}
.mainMenu li {
	list-style-type: none;
	display: inline-block;
}
.mainMenu li a {
	display: block;
	text-transform: uppercase;
	color: #939393;
}

#top-menu {
    background: white;
}
#top-menu ul { float: right;}
#top-menu li {
    float: left;
	line-height: 60px;
	display: inline-block;
}

#top-menu a {
    display: block;
    -webkit-transition: 1s all ease;
    -moz-transition: 1s all ease;
    transition: 1s all ease;
    color: #666;
    text-decoration: none;
	font-size: 14px;
}

#top-menu a:hover {
    color: #ffffff;
	background: #3161b6; /*#72b842*/
}

#top-menu li.active a {
    color: #ffffff;
	background: #3161b6; /*#72b842*/
	line-height: 60px;
	font-size: 14px;
}

.btn-primary {
	background-color: #3161b6; /*#72b842*/
	/* border-color: #5ea32e; */
}

.btn-primary:hover {
	background-color: #3161b6; /*#72b842*/
	/* border-color: #5ea32e; */
}

.templatemo_caption p { color: #ffffff; background: rgba(0, 0, 0, 0.32); padding: 10px; font-size: 12px; }

.templatemo_caption	{
	margin-left: 20%;
	text-align: left;
	text-shadow: none;
	top: 15%;
	position: absolute;
	z-index: 10;
	width: 60%;
}

.templatemo_slidetitle	{
	font-size: 1em;
	background: #ffffff;
	padding: 5px 8px;
	color: #202224;
	float: left;
	margin-bottom: -10px;
	-webkit-box-shadow: 1px 3px 13px 0px rgba(158, 158, 158, 0.75);
	-moz-box-shadow:    1px 3px 13px 0px rgba(158, 158, 158, 0.75);
	box-shadow:         1px 3px 13px 0px rgba(158, 158, 158, 0.75);
}

.templatemo_lightgrey_about	{
	background-color: #EE1C27;
	padding: 120px 0px 50px 0px;

}

.templatemo_lightgrey {
	background-color: #e9e9e9;
	padding: 70px 0px;

}

.templatemo_paracenter { text-align: center; }

.templatemo_about_box {
	background: #ffffff;
	border-radius: 5px;
	padding: 20px 0px;
	text-align: center;
}

.square_coner {
	margin: 0 auto;
	width: 100px;
	margin-bottom: 20px;

}
.texts-a {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	padding: 20px 30px;
	background: #3161b6; /* #72b842 */
	border-radius: 5px;
	font-size: 32px;
	color: #ffffff;
} 

.hover-box {
    position: absolute;
    top: 0;
    left: 4%;
    width: 92%;
    height: 100%;
	border-radius: 5px;
    background: #3161b6; /* #72b842 */
    visibility: hidden\0/;
    opacity: 0\0/;
    transition: all 0.25s ease-in-out;
    -moz-transition: all 0.25s ease-in-out;
    -webkit-transition: all 0.25s ease-in-out;
    -o-transition: all 0.25s ease-in-out;
    -webkit-transform: rotateY(-90deg) scale(0.8);
    -moz-transform: rotateY(-90deg) scale(0.8);
    -ms-transform: rotateY(-90deg) scale(0.8);
    -o-transform: rotateY(-90deg) scale(0.8);
    transform: rotateY(-90deg) scale(0.8);
}

.project-post:hover .hover-box {
    visibility: visible;\0/;
    opacity: 1\0/;
    -webkit-transform: rotateY(0deg) scale(1);
    -moz-transform: rotateY(0deg) scale(1);
    -ms-transform: rotateY(0deg) scale(1);
    -o-transform: rotateY(0deg) scale(1);
    transform: rotateY(0deg) scale(1);
}

.inner-hover-box p {
	color: #ffffff;
	padding: 15px 10px;
}

.templatemo_reasonbg {
	background: url(../images/templatemo_reasonbg.jpg) no-repeat;
	background-position: center;
	padding: 30px 0px 70px 0px;
	color: #ffffff;
	text-align: center;
}

.templatemo_reasonbg p { color: #ffffff; }

.templatemo_reasonbg div.fa {
	font-size: 40px;
	margin: 10px 8px;
}

.templatemo_portfolio {
	padding: 10px 0px;
	text-align: center;
}

.templatemo_portfolio p { padding-bottom: 50px; }

.portfolio-thumb { overflow: hidden; position: relative; }

.portfolio-thumb img { width: 100%; height: auto; }

.portfolio-thumb .overlay-p { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #3161b6; /* #72b842 */ 
visibility: hidden; opacity: 0; -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -ms-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; }

.portfolio-thumb .overlay-p a { position: absolute; top: 10%; margin-top: -12px; left: 10%; width: 80%; margin-left: -15px; color: white; text-align: center; }
.portfolio-thumb .overlay-p a ul { text-align: center; margin-top:0.1em;}
.portfolio-thumb .overlay-p a ul li	{ padding: 0.2em 0em; margin: 0px; width: 100%; list-style: none;}
.portfolio-thumb .overlay-p a ul li.fsmall{ font-size: 0.7em; }

.portfolio-item { margin-bottom: 40px; overflow: hidden; }
.portfolio-item:hover .overlay-p { visibility: visible; opacity: 1; }

.portfolio-title { width: 100%; text-align: center; }
.portfolio-title a { color: #38e395; font-size: 18px; text-transform: uppercase; }


.templatemo_blog {
	width: 100%;
	background: #333537;
	padding: 80px 0px;
	color: #ffffff;
	text-align: center;
}
.templatemo_blog p { padding-bottom: 50px; }
.templatemo_wrapperblogbox	{	
	float: left;
}
.templatemo_wrapperblogbox a.fa	{ 
	padding: 8px;
	background: #c6cfd3;
	color: #ffffff;
	margin: 0px;
	text-align: left;
	float: left;
	font-size: 18px;
}

.templatemo_wrapperblogbox a.fa:hover {
	background: #3161b6; /* #72b842 */
}

.templatemo_wrapperblogbox .tooltip1, .templatemo_wrapperblogbox .tooltip2, .templatemo_wrapperblogbox .tooltip3, .templatemo_wrapperblogbox .tooltip4 {
    display: inline;
    position: relative;
	opacity: 1.0;
	filter:alpha(opacity=100);
}

.templatemo_wrapperblogbox .tooltip1:hover:after, .templatemo_wrapperblogbox .tooltip2:hover:after,
.templatemo_wrapperblogbox .tooltip3:hover:after, .templatemo_wrapperblogbox .tooltip4:hover:after {
    background: #3161b6; /* #72b842 */
    top: 33px;
    color: #fff;
    content: attr(title);
    padding: 5px 15px;
    position: absolute;
    z-index: 98;
	font-size: 14px;
	white-space: nowrap;
}
.templatemo_wrapperblogbox .tooltip1:hover:after {
    left: 0px;
}
.templatemo_wrapperblogbox .tooltip2:hover:after {
    left: -33px;
}
.templatemo_wrapperblogbox .tooltip3:hover:after {
    left: -63px;
}

.templatemo_wrapperblogbox .tooltip4:hover:after {
    left: -94px;
}
.templatemo_wrapperblogbox img	{
	width: 100%;
}

.templatemo_blogtext	{
	width: 100%;
}

.templatemo_blogtext span.left	{
	text-align: left;
	width: 70%;
	float: left;
}
.templatemo_blogtext span.right	{
	text-align: right;
	width: 30%;
	float: left;
}
.templatemo_blogtext span.right	a i {
	padding-left: 5px;
	font-size: 9px;
	color: #ffffff;
}
.templatemo_blogtext span.right	a:hover i	{
	color: #3161b6; /* #72b842 */
}

.templatemo_partner	{ padding: 80px 0px;}

#prev {
  width: 35px;
  height: 50px;
  position: absolute;
  top: -30%;
  left:0;
  text-indent: -9999px;
  background: url(../images/prev.png)0px -50px no-repeat;
}

#next {
  width: 35px;
  height: 50px;
  position: absolute;
  top: -30%;
  right: 0;
  text-indent: -9999px;
  background: url(../images/next.png)0px -50px no-repeat;
}

#prev:hover, #next:hover {
  background-position: 0px 0px;
}

.partnerWrap {
  margin: 50px 0;
  position: relative;
}
.slideshow { 
  margin: auto;
  width: 80%;
}
.slideshow img { padding: 2px; }
.templatemo_clientwrapper	{
	margin: 0 auto;
	float: none;
	width: 500px;
}

.templatemo_clientimage {
	float: left;
	margin-left: 10px;
	margin-top: 80px;
}

.templatemo_clientimage img{
	width: 80px;
	height: 80px;
	border-radius: 150px;
	-webkit-border-radius: 150px;
	-moz-border-radius: 150px;
}
.templatemo_clientimage img:hover { border: 3px solid #3161b6; }

.templatemo_clientdes {
  position: absolute;
  top: 0;
  bottom: 50px;
  left: 0;
  right: 0;
  color: #fff;
  visibility: hidden;
  opacity: 0;
  width: 100%;

}
.templatemo_clientimage:hover .templatemo_clientdes {
  visibility: visible;
  opacity: 1;

}
.templatemo_clientimage	div.fa	{font-size: 12px; position: absolute;}
.templatemo_clientimage:hover div.fa{ color: #3161b6; font-size: 12px; }
.templatemo_clientimage	div.mleft1	{ left: 40%;}
.templatemo_clientimage	div.mleft2	{ left: 43%;}
.templatemo_clientimage	div.mleft3	{ left: 46%;}
.templatemo_clientimage	div.mleft4	{ left: 49%;}
.templatemo_clientimage	div.mleft5	{ left: 52%;}

.templatemo_maps {
  margin: 50px 0;
  display: block;
  overflow: hidden;
  height: 400px;
}

.fluid-wrapper {
    position: relative;
    /* padding-bottom: 56.25%;  16:9 */
    height: 0;
}
.fluid-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 400px;
    border: none;
}
.addr {

}
.addr ul {
  padding-left: 0;
}
.addr ul li {
  list-style-type: none;
} 
.addr ul li i {
  width: 14px;
  margin-right: 10px;
  margin-bottom: 15px;
  color: #00ACE9;
  font-size: 18px;
  text-align: center;
}
.templatemo_footer	{
	padding: 40px 0px;
}

.templatemo_footer ul {
	float: left;
	margin: 0px;
	padding: 0px;
}

.templatemo_footer ul li {
	padding: 0px;
	margin: 0px;
	list-style: none;
}
.templatemo_footer ul li:before {
    content: "\002022 ";
    color: #3161b6;  /* #72b842 */
	font-size: 2.5em;
    vertical-align: middle;
	line-height: 30px;
	margin-right: 5px;
}
.templatemo_morelink a{
	float: left;
	color: #5d9e30;
	text-indent: 15px;
}

.templatemo_footer span.left {
	float: left;
	color: #3161b6; /* #72b842 */
	font-size: 1.5em;
	text-align: left;
	line-height: 30px;
}
.templatemo_footer span.right {
	float: left;
}
.templatemo_footer .col-xs-1 {
	padding: 0px;
}
.templatemo_footer .col-xs-11	{
	padding: 0px 0px 0px 10px;
}
.templatemo_footer span.left.fa-envelope { font-size: 1.2em;}

.templatemo_bottom	{ 
	padding: 35px 0px; 
	width: 100%; 
	background: #3161B6;
	}
.templatemo_bottom .left { float: left;}
.templatemo_bottom .right { float: right;}
.templatemo_bottom .right fa { padding: 15px;}
.templatemo_bottom .right div.soc {
	width: 28px;
	height: 28px;
	text-align: center;
	font-size: 16px;
	line-height: 28px;
	background: #c6cfd3;
	color: #333536;
	border-radius: 150px;
	-webkit-border-radius: 150px;
	-moz-border-radius: 150px;
}

.templatemo_bottom .right a:hover div.soc{
	background: #EEE; /* #72b842 */
}

#templatemo_flicker	{}
#templatemo_flicker ul li:before {
    content: none;
    vertical-align: middle;
}

#templatemo_flicker.ddsmoothmenu ul li a {
	width: 55px;
	height: 55px;
	margin-right: 0px;
}

ul.nobullet { margin: 0; padding: 0; list-style: none }
ul.nobullet li { margin: 0; padding: 0 }

ul.list_bullet { margin: 10px 0 10px 15px; padding: 0; list-style: none }
ul.list_bullet li { color:#555; margin: 0 0 7px 0; padding: 0 0 0 20px; background: url(images/templatemo_bullet.png) no-repeat scroll 0 5px  }
ul.list_bullet li a { color: #555; font-weight: normal; text-decoration: none }
ul.list_bullet li a:hover { color: #555 }

ul.footer_gallery li { display: block; float: left; margin: 0 5px 5px 0 }
ul.footer_gallery li img { }



.mainpic-flt-left { float:left; margin:0px 15px 6px -1px;
}
.mainpic-flt-left img { border:1px solid #352C2C; box-shadow:3px 3px 6px #373030; margin-bottom:3px;
}
.mainpic-flt-right { float:right; margin:0px -1px 6px 12px;
}
.mainpic-flt-right img {border:1px solid #352C2C; box-shadow:3px 3px 6px #373030; margin-bottom:3px;
}
.caption { font-family:Tahoma, Geneva, sans-serif; font-size:10px; color:#222; line-height:15px; 
}

.sly {
	display: none; 
}



/* Smartphones (portrait and landscape) ----------- */
@media only screen 
and (min-device-width : 320px) 
and (max-width : 480px) {
	.mainMenu li a {		
		font-size: 8px;
	}
	#top-menu li a {		
		font-size: 8px;
	}
	#top-menu li a	{ padding: 0px;}
	#top-menu li.active a {
    color: #ffffff;
	background: #3161b6; /* #72b842 */
	font-size: 8px;
	}
	.templatemo_col12	{
		width: 100%;
		margin-bottom: 5px;
	}

	.hover-box {
    left: 3%;
    width: 94%;
	}
	.templatemo_bottom span.left	{ width: 90%; margin-left: 10px;}
	.templatemo_bottom span.right { width: 90%; float: left; margin: 10px;}
}
@media (max-width:600px){
	.templatemo_caption {
		display: none;
	}
}
@media(min-width:500px) and (max-width: 650px){
	.hover-box {
    left: 5%;
    width: 90%;
	}
}
@media(max-width:767px){
	.templatemo_col9	{ padding: 0px;}
	.templatemo_slider	{ top: 130px;}
	.templatemo_lightgrey_about	{ padding-top: 150px;}
	.templatemo_portfolio	{ padding-top: 130px; }
	.templatemo_blog	{ padding-top: 130px;}
	.templatemo_partner	{ padding-top: 130px;}
	.templatemo_lightgrey	{ padding-top: 130px;}
	.templatemo_margintop10	{
	margin-top: 10px;
	}
	.mailme {
		
	}
	.logo {
		text-align: center;
	}
	.socials ul {
		float: none;
		text-align: center;
	}
	.mainMenu ul {
		float: none;
		text-align: center;
		line-height: 40px;
	}
	.mainMenu li a {
	padding: 8px 7px;

	}
	#top-menu ul {
		float: none;
		text-align: center;
		line-height: 40px;
		margin-left: 15px;
	}
	#top-menu li {
    float: left;
	line-height: 40px;
}
	#top-menu li a {
	padding: 8px 7px;

	}
	#top-menu li.active a {
    color: #ffffff;
	background: #3161b6; /* #72b842 */
	line-height: 40px;
	}
	
  .teamInfo ul li {
    width: 50%;
  }
  .imgWrp {
    height: 220px;
  }
  .imgWrp:hover {
      height: 220px;
      opacity: 1;
      margin-top: 0px;
  }
  .txtarea {
    margin: 20px 0;
  }
  .info3 {
    margin-bottom: 30px;
  }
}

@media(min-width:768px){
	.rmargin	{ right: 10%;}
   .socials ul {
    float: none;
    text-align: center;
  }
  .imgWrp {
    height: 160px;
  }
  .imgWrp:hover {
      height: 160px;
      opacity: 1;
      margin-top: 0px;
  }
  .txtarea {
    margin: 20px 0px;
  }
  #box-img_testimonial a {
    width: 40px;
  }
  .opener span:before,
  .opener span:after {
    width: 30%;
  }
  .info3 {
    margin-bottom: 30px;
  }

}
@media(min-width:600px) and (max-width:769px){
	h1	{ font-size: 1em;}
	.templatemo_slidetitle { font-size: 0.8em;}
	.templatemo_caption	{ font-size: 12px; top: 20.5%;  width: 90%; margin-left: 5%; }
	.rmargin	{ right: 3%; }
	.btn	{ font-size: 12px; padding: 3px 5px;}
	}
@media(min-width:768px) and (max-width:992px){
	 h1	{ font-size: 1em;}
	.templatemo_slidetitle { font-size: 0.8em;}
	.templatemo_caption	{ font-size: 12px; margin-left: 15%; top: 18%;}
	.btn	{ font-size: 13px; padding: 3px 5px;}
	.templatemo_container {
	width: 100%;
	}
	
	.templatemo_container .mainMenu li a { 
	padding: 10px;
	}
	.templatemo_margintop10	{
	margin-top: 10px;
	}
}
@media(min-width:992px) {
  .imgWrp {
    height: 190px;
    opacity: 0.5;
  }
  .imgWrp:hover {
      height: 220px;
      opacity: 1;
      margin-top: -15px;
  }
  .txtarea {
    margin: 0;
  }
  #box-img_testimonial a {
    width: 50px;
  }
  .opener span:before,
  .opener span:after {
    width: 45%;
  }
  .socials ul {
    float: right;
  }
}

@media only screen 
and (min-device-width : 320px) 
and (max-width : 540px)	{
	.templatemo_clientwrapper	{ width: 320px; font-size: 12px;}
	.templatemo_clientwrapper .next{ margin-top: 20px;}
	.templatemo_marginleft50	{ margin-left: 50px;}
	.templatemo_clientimage	div.fa	{ display: none;}
}

/* iPads (portrait and landscape) ----------- */
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px) {
	#slider-direction-nav,
	#slider-control-nav { opacity: 1; }
}

/* PG Construction modernization layer */
:root {
	--pg-red: #EE1C27;
	--pg-blue: #3161B6;
	--pg-navy: #283592;
	--pg-ink: #2f3338;
	--pg-muted: #646d76;
	--pg-line: #d9dee5;
	--pg-soft: #f5f7fa;
}

.pg-site {
	background: #ffffff;
	color: var(--pg-ink);
	font-size: 16px;
	line-height: 1.6;
}

.pg-site p {
	color: var(--pg-muted);
}

.pg-site a {
	color: var(--pg-blue);
}

.pg-site .templatemo_top {
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.08);
	min-height: 82px;
}

.site-nav-row {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	justify-content: space-between;
	padding: 14px 0;
}

.pg-site .logo {
	padding: 0;
	width: auto;
}

.pg-site .logo img {
	height: auto;
	max-width: 255px;
	width: auto;
}

.pg-site #top-menu {
	background: transparent;
}

.pg-site #top-menu ul,
.pg-site .mainMenu ul {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	justify-content: flex-end;
	line-height: normal;
	margin: 0;
}

.pg-site #top-menu li,
.pg-site .mainMenu li {
	float: none;
	line-height: normal;
}

.pg-site #top-menu a {
	border-radius: 4px;
	color: #555f6b;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.2;
	padding: 12px 14px;
	transition: background 0.2s ease, color 0.2s ease;
}

.pg-site #top-menu a:hover,
.pg-site #top-menu a:focus {
	background: var(--pg-red);
	color: #ffffff;
	outline: none;
}

.pg-site #top-menu a.current,
.pg-site #top-menu a.current:hover,
.pg-site #top-menu a.current:focus {
	background: var(--pg-blue);
	color: #ffffff;
}

.site-hero {
	background: #111820;
	padding-top: 82px;
	position: relative;
}

.site-hero img {
	height: clamp(260px, 32vw, 520px);
	object-fit: cover;
	width: 100%;
}

.site-hero--compact img {
	height: clamp(220px, 28vw, 400px);
}

.site-hero__caption {
	background: rgba(0, 0, 0, 0.56);
	border-left: 5px solid var(--pg-red);
	bottom: 17px;
	color: #ffffff;
	display: flex;
	gap: 14px;
	align-items: baseline;
	left: 50%;
	line-height: 1.35;
	max-width: 760px;
	padding: 8px 18px;
	position: absolute;
	transform: translateX(-50%);
	width: calc(100% - 32px);
}

.site-hero__caption h1 {
	background: transparent;
	color: #ffffff;
	float: none;
	font-size: clamp(23px, 3vw, 36px);
	font-weight: 600;
	line-height: 1.1;
	margin: 0;
	padding: 0;
	white-space: nowrap;
}

.site-hero__caption p {
	color: #ffffff;
	font-size: clamp(13px, 1.5vw, 18px);
	font-weight: 500;
	line-height: 1.35;
	margin: 0;
}

.section-title-band {
	background: var(--pg-red);
	color: #ffffff;
	padding: 26px 16px;
	text-align: center;
}

.section-title-band h1,
.section-title-band h2 {
	background: transparent;
	color: #ffffff;
	float: none;
	font-size: clamp(28px, 4vw, 42px);
	font-weight: 600;
	margin: 0;
	padding: 0;
}

.content-section {
	padding: 54px 0;
}

.content-section--soft {
	background: var(--pg-soft);
}

.lead-copy {
	color: var(--pg-navy);
	font-size: clamp(22px, 3vw, 32px);
	font-weight: 500;
	line-height: 1.25;
	margin: 0 auto 28px;
	max-width: 780px;
	text-align: center;
}

.feature-card-band {
	background: var(--pg-red);
	padding: 48px 0 52px;
}

.feature-card-grid {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(2, minmax(240px, 340px));
	justify-content: center;
}

.service-flip-card {
	color: inherit;
	display: block;
	min-height: 230px;
	perspective: 1000px;
	text-decoration: none;
}

.service-flip-card:hover,
.service-flip-card:focus {
	color: inherit;
	text-decoration: none;
}

.service-flip-card__inner {
	display: block;
	min-height: 230px;
	position: relative;
	transform-style: preserve-3d;
	transition: transform 0.45s ease;
	width: 100%;
}

.service-flip-card:hover .service-flip-card__inner,
.service-flip-card:focus .service-flip-card__inner,
.service-flip-card.is-flipped .service-flip-card__inner {
	transform: rotateY(180deg);
}

.service-flip-card__face {
	align-items: center;
	backface-visibility: hidden;
	background: #ffffff;
	border-radius: 6px;
	box-shadow: 0 14px 30px rgba(40, 53, 146, 0.16);
	display: flex;
	flex-direction: column;
	inset: 0;
	justify-content: center;
	padding: 28px;
	position: absolute;
	text-align: center;
}

.service-flip-card__back {
	background: var(--pg-blue);
	color: #ffffff;
	transform: rotateY(180deg);
}

.service-flip-card__back p {
	color: #ffffff;
	font-size: 16px;
	line-height: 1.55;
	margin: 0;
}

.service-flip-card__icon {
	align-items: center;
	background: var(--pg-blue);
	border-radius: 6px;
	color: #ffffff;
	display: flex;
	font-size: 34px;
	height: 86px;
	justify-content: center;
	margin-bottom: 22px;
	width: 86px;
}

.service-flip-card h2 {
	color: var(--pg-ink);
	font-size: 22px;
	font-weight: 600;
	line-height: 1.25;
	margin: 0;
}

.owner-profile {
	align-items: start;
	display: grid;
	gap: 34px;
	grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
	margin: 0 auto;
	max-width: 980px;
}

.owner-photo {
	background: #ffffff;
	border: 1px solid var(--pg-line);
	border-radius: 6px;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
	padding: 10px;
}

.owner-photo img {
	aspect-ratio: 5 / 6;
	border-radius: 4px;
	object-fit: cover;
	width: 100%;
}

.owner-bio h2,
.owner-bio h3 {
	color: var(--pg-ink);
	font-weight: 600;
	margin-top: 0;
}

.owner-bio p {
	font-size: 17px;
	margin-bottom: 18px;
}

.service-feature {
	align-items: start;
	display: grid;
	gap: 34px;
	grid-template-columns: minmax(240px, 420px) minmax(0, 1fr);
	margin-bottom: 38px;
}

.service-feature > *,
.service-lists > *,
.gallery-card-grid > *,
.photo-gallery-grid > * {
	min-width: 0;
}

.service-feature--reverse {
	grid-template-columns: minmax(0, 1fr) minmax(240px, 420px);
}

.service-feature img {
	border: 1px solid #352C2C;
	border-radius: 5px;
	box-shadow: 3px 3px 12px rgba(55, 48, 48, 0.24);
	width: 100%;
}

.service-feature .service-copy {
	padding-top: 1.2em;
}

.service-copy h2,
.service-list-block h2 {
	color: var(--pg-ink);
	font-weight: 600;
	margin-top: 0;
}

.service-copy p,
.service-list-block li {
	font-size: 17px;
}

.service-lists {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 34px;
}

.service-list-block {
	background: #ffffff;
	border: 1px solid var(--pg-line);
	border-radius: 6px;
	padding: 24px;
}

.service-list-block ul {
	margin: 0;
	padding-left: 20px;
}

.service-area-list {
	columns: 2;
	column-gap: 34px;
}

.inspection-cta {
	background: var(--pg-blue);
	border-radius: 6px;
	color: #ffffff;
	font-size: clamp(22px, 3vw, 32px);
	font-weight: 400;
	line-height: 1.25;
	margin: 38px auto 0;
	max-width: 760px;
	padding: 22px;
	text-align: center;
}

.gallery-intro {
	color: var(--pg-muted);
	font-size: 18px;
	margin: 0 auto 34px;
	max-width: 720px;
	text-align: center;
}

.gallery-card-grid {
	display: grid;
	gap: 26px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gallery-card {
	background: #ffffff;
	border: 1px solid var(--pg-line);
	border-radius: 6px;
	color: inherit;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.gallery-card:hover,
.gallery-card:focus {
	box-shadow: 0 16px 32px rgba(40, 53, 146, 0.16);
	color: inherit;
	text-decoration: none;
	transform: translateY(-4px);
}

.gallery-card img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	width: 100%;
}

.gallery-card__body {
	padding: 22px;
}

.gallery-card h2 {
	color: var(--pg-ink);
	font-size: 23px;
	font-weight: 600;
	line-height: 1.25;
	margin: 0 0 10px;
}

.gallery-card p {
	font-size: 16px;
	margin: 0;
}

.gallery-back-link {
	display: inline-block;
	font-weight: 600;
	margin-bottom: 24px;
}

.photo-gallery-grid {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gallery-thumb {
	background: #ffffff;
	border: 1px solid var(--pg-line);
	border-radius: 6px;
	display: block;
	overflow: hidden;
	padding: 10px;
	position: relative;
	box-shadow: 3px 3px 12px rgba(55, 48, 48, 0.18);
	text-decoration: none;
}

.gallery-thumb img {
	aspect-ratio: 4 / 3;
	border-radius: 4px;
	object-fit: cover;
	transition: transform 0.24s ease;
	width: 100%;
}

.gallery-thumb span {
	background: rgba(49, 97, 182, 0.92);
	bottom: 10px;
	color: #ffffff;
	font-weight: 600;
	left: 10px;
	padding: 12px 14px;
	position: absolute;
	right: 10px;
}

.gallery-thumb:hover img,
.gallery-thumb:focus img {
	transform: scale(1.04);
}

.site-footer {
	background: var(--pg-blue);
	color: #ffffff;
	padding: 28px 0;
}

.site-footer a,
.site-footer span {
	color: #ffffff;
}

.footer-row {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: space-between;
}

.footer-contact {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.footer-contact a {
	font-weight: 600;
}

.footer-policy-links {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.footer-policy-links a {
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.footer-policy-links a:focus {
	outline: 2px solid #ffffff;
	outline-offset: 3px;
}

.policy-modal[hidden] {
	display: none;
}

.policy-modal {
	align-items: center;
	background: rgba(0, 0, 0, 0.72);
	display: flex;
	inset: 0;
	justify-content: center;
	padding: 24px;
	position: fixed;
	z-index: 9800;
}

.policy-modal__dialog {
	background: #ffffff;
	border: 1px solid var(--pg-line);
	border-radius: 6px;
	box-shadow: 0 18px 42px rgba(0, 0, 0, 0.34);
	color: var(--pg-ink);
	max-height: 88vh;
	max-width: 860px;
	overflow: auto;
	padding: 28px;
	width: 100%;
}

.policy-modal__header {
	align-items: flex-start;
	border-bottom: 1px solid var(--pg-line);
	display: flex;
	gap: 18px;
	justify-content: space-between;
	margin-bottom: 18px;
	padding-bottom: 14px;
}

.policy-modal__title {
	color: var(--pg-ink);
	font-size: clamp(24px, 3vw, 32px);
	font-weight: 600;
	line-height: 1.2;
	margin: 0;
}

.policy-modal__close {
	background: var(--pg-blue);
	border: 0;
	border-radius: 4px;
	color: #ffffff;
	font-weight: 600;
	padding: 10px 14px;
}

.policy-modal__close:hover,
.policy-modal__close:focus {
	background: var(--pg-red);
	outline: 2px solid var(--pg-blue);
	outline-offset: 2px;
}

.policy-modal__body h3 {
	color: var(--pg-ink);
	font-size: 20px;
	font-weight: 600;
	margin: 22px 0 8px;
}

.policy-modal__body p,
.policy-modal__body li {
	color: var(--pg-muted);
	font-size: 16px;
	line-height: 1.6;
}

.policy-modal__body ul {
	margin: 0 0 16px;
	padding-left: 20px;
}

.contact-card {
	background: #ffffff;
	border: 1px solid var(--pg-line);
	border-radius: 6px;
	margin: 0 auto;
	max-width: 990px;
	padding: 28px;
}

.contact-card + .contact-card {
	margin-top: 28px;
}

.contact-card p {
	font-size: 18px;
	margin: 0 0 18px;
}

.contact-map iframe {
	border: 3px double #555;
	border-radius: 12px;
	height: 515px;
	width: 100%;
}

.contact-form-fallback {
	background: #fff8f6;
	border: 1px solid rgba(194, 68, 49, 0.25);
	border-radius: 6px;
	color: var(--pg-ink);
	font-size: 17px;
	margin: 0;
	padding: 16px;
}

.gallery-lightbox {
	align-items: center;
	background: rgba(0, 0, 0, 0.78);
	display: none;
	inset: 0;
	justify-content: center;
	padding: 40px 2vw;
	position: fixed;
	z-index: 9500;
}

.gallery-lightbox.is-open {
	display: flex;
}

.gallery-lightbox__figure {
	margin: 0;
	max-height: calc(100vh - 80px);
	max-width: 96%;
	position: relative;
	text-align: center;
}

.gallery-lightbox__image {
	background: #ffffff;
	border: 1px solid var(--pg-line);
	border-radius: 6px;
	box-shadow: 0 18px 42px rgba(0, 0, 0, 0.38);
	display: block;
	height: auto;
	margin: 0 auto;
	max-height: min(900px, calc(100vh - 120px));
	max-width: 96vw;
	object-fit: contain;
	padding: 10px;
	width: auto;
}

.gallery-lightbox__caption {
	color: #ffffff;
	font-weight: 600;
	margin-top: 12px;
	text-align: center;
}

.gallery-lightbox__button {
	align-items: center;
	background: rgba(49, 97, 182, 0.95);
	border: 0;
	border-radius: 4px;
	color: #ffffff;
	cursor: pointer;
	display: flex;
	font-size: 34px;
	font-weight: 600;
	height: 52px;
	justify-content: center;
	line-height: 1;
	position: fixed;
	width: 52px;
	z-index: 9510;
}

.gallery-lightbox__button:hover,
.gallery-lightbox__button:focus {
	background: var(--pg-red);
	outline: 2px solid #ffffff;
	outline-offset: 2px;
}

.gallery-lightbox__button--prev {
	left: 20px;
	top: 50%;
	transform: translateY(-50%);
}

.gallery-lightbox__button--next {
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
}

.gallery-lightbox__button--close {
	font-size: 15px;
	height: auto;
	padding: 12px 16px;
	right: 20px;
	top: 20px;
	width: auto;
}

@media (prefers-reduced-motion: reduce) {
	.gallery-card,
	.gallery-thumb img {
		transition: none;
	}
}

@media (max-width: 991px) {
	.pg-site .templatemo_top {
		min-height: 118px;
	}

	.site-nav-row {
		justify-content: center;
	}

	.pg-site #top-menu ul,
	.pg-site .mainMenu ul {
		justify-content: center;
	}

	.site-hero {
		padding-top: 118px;
	}

	.gallery-card-grid,
	.service-lists {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px) {
	.pg-site {
		font-size: 15px;
	}

	.pg-site .logo img {
		max-width: 220px;
	}

	.pg-site #top-menu a {
		font-size: 12px;
		padding: 9px 10px;
	}

	.site-hero img {
		height: 245px;
	}

	.site-hero__caption {
		bottom: 17px;
		display: block;
		padding: 7px 14px;
	}

	.site-hero__caption h1 {
		white-space: normal;
	}

	.content-section {
		padding: 40px 0;
	}

	.feature-card-grid,
	.owner-profile,
	.service-feature,
	.photo-gallery-grid {
		grid-template-columns: 1fr;
	}

	.service-flip-card,
	.service-flip-card__inner {
		min-height: 260px;
	}

	.service-flip-card__face {
		position: absolute;
	}

	.service-feature .service-copy {
		padding-top: 0;
	}

	.service-area-list {
		columns: 1;
	}

	.footer-row {
		justify-content: center;
		text-align: center;
	}

	.footer-contact {
		justify-content: center;
	}

	.footer-policy-links {
		justify-content: center;
	}

	.policy-modal {
		padding: 12px;
	}

	.policy-modal__dialog {
		padding: 22px 18px;
	}

	.contact-card {
		max-width: 96%;
		padding: 22px;
	}

	.contact-map iframe {
		height: 360px;
	}

	.gallery-lightbox {
		padding: 46px 0;
	}

	.gallery-lightbox__button {
		font-size: 26px;
		height: 44px;
		width: 44px;
	}

	.gallery-lightbox__button--prev {
		left: 8px;
	}

	.gallery-lightbox__button--next {
		right: 8px;
	}

	.gallery-lightbox__button--close {
		font-size: 14px;
		right: 8px;
		top: 8px;
		width: auto;
	}
}
