:root {
	--mainfont: 'Montserrat';
	--yellow: #face01;
	--red: #8F354C;
	--blue: #23719D;
}
/*--------------------------------------------------------------*/

body, h1, h2, h3, h4, h5, h6, /* Base Font for Site */
.navigation--main,
.navbar-toggle__text,
.navigation--main .sub-menu,
a.read-more {
	font-family: var(--mainfont), sans-serif;
}
body { /* Base Font Size for whole site */
	font-size: 16px;
}
h1, h2, h3, h4, h5, h6 {
	text-transform: uppercase;
}
.icontop::before {
	content: '';
	background: url(/wp-content/uploads/2026/02/PSG-Logo-Vector-ICON-100x100.png) 50%/contain no-repeat;
	width: 100%;
	height: 60px;
	display: flex;
}
/*--------------------------------------------------------------*/

a.action, .menu-feature a, .dark input[type="submit"] {
	border: 1.5px solid;
}
a.action:not(:hover),
.dark input[type="submit"] {
	background: transparent;
}
.master-container a.action:hover,
li.menu-feature:hover a {
	border-color: transparent;
}
.form-box input[type="submit"],
.jumbotron .action,
li.menu-feature:hover a {
	color: #fff;
}
li.menu-feature:hover a {
	background: var(--blue);
}
/*--------------------------------------------------------------*/

.blue-row {
	background: var(--blue);
}
.blue-row .subby {
	color: #fff;
}
/*------------------------------Header--------------------------------*/

header {
	filter: drop-shadow(0 4px 6px rgba(0,0,0,0.15));
}
.header-slim .logo .img-responsive {
	border-radius: 15px;
	background: #fff;
	padding: 0 15px 15px;
}
.header-slim.is-sticky-navbar .logo .img-responsive {
	padding: 0 10px 10px;
	border-radius: 10px;
}
.menu-feature a {
	gap: 0.5em;
	border-radius: 2em;
}
/*-------------------------------Slider-------------------------------*/

.jumbotron {
	position: relative;
}
.jumbotron__title h2 {
	line-height: 0.9;
	font-size: clamp(38px, 4.5vw, 80px);
}
.form-cont {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	pointer-events: none;
}
.form-holder {
	pointer-events: none;
	display: flex;
	justify-content: flex-end;
}
.form-box {
	background: rgba(35,113,157,0.8);
	padding: 20px;
	pointer-events: all;
	border-radius: 15px;
}
.form-cont .action {
	pointer-events: all;
	display: none;
}
.form-box .gform_wrapper, .form-box .gform_title {
	margin-top: 0;
	text-align: center;
}
.form-box .gform_wrapper.gravity-theme .gform_footer {
	padding-bottom: 0;
}
body .gform_wrapper .gform_footer input[type="submit"] {
	line-height: 1.2 !important;
}
/*------------------------------Widget Bar--------------------------------*/

div#wij-top .widget, div#wij-bottom .widget {
	flex: 1;
}
div#wij-top .widget .so-widget-sow-image img,
div#wij-bottom .widget .so-widget-sow-image img {
	max-width: clamp(70px, 16vw, 120px);
}
#wij-top h2.widget-title, #wij-bottom h2.widget-title {
	font-size: clamp(14px, 2vw, 24px);
	font-weight: 400;
	letter-spacing: 0;
}
/*------------------------------Blocklinks--------------------------------*/

.blocklinks .panel-grid-cell > div {
	border-radius: 15px;
	overflow: hidden;
}
.blocklinks div.sow-image-container,
.blocklinks .sow-image-container img {
	border-radius: 15px 15px 0 0;
}
.blocklinks h2.widget-title {
	font-weight: 600;
	margin-bottom: 15px;
	color: var(--red);
}
.blocklinks .so-widget-sow-editor {
	padding-bottom: 70px;
}
.blocklinks a.more {
	border: 1.5px solid;
	padding: 0.5em 1em;
	position: absolute;
	bottom: 25px;
	transform: translateX(-50%);
	font-weight: 500;
	border-radius: 2em;
	transition: all 0.3s ease;
}
.blocklinks .panel-grid-cell:hover .more {
	background: var(--blue);
	color: #fff;
	border-color: transparent;
}
/*--------------------------------------------------------------*/

.boilers {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: space-around;
	margin: 1.5em 0 0;
	gap: 20px;
}
.boilers img, .boilers a img {
	margin: 0;
	max-height: 60px;
	max-width: clamp(200px, 20vw, 300px);
	width: auto;
	transition: all 0.3s ease;
}
.boilers a:hover img {
	opacity: 0.7;
}
/*------------------------------Forms--------------------------------*/

.ginput_container input:not([type="checkbox"]),
.ginput_container textarea,
.ginput_container select {
	border-radius: 10px;
}
/*-------------------------------Footer-------------------------------*/

.footer {
	padding-top: 3em;
	border-top: 5px solid var(--red);
}
.foot-social {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	justify-content: center;
	font-size: 1.5em;
	margin-top: 1em;
}
.foot-social a {
	background: #ccc;
	width: 1.8em;
	height: 1.8em;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	transition: all 0.3s ease;
}
a.whats {
	background: var(--whatsapp);
}
a.face {
	background: var(--facebook);
}
a.insta {
	background: linear-gradient(315deg, #f9ce34, #ee2a7b, #6228d7);
}
a.tik {
	box-shadow: inset 0 0 0 1px #999;
	background: #222;
	text-shadow: 1px 1px #ff2c56, -1px -1px #24f5ee;
}
.foot-social a:hover {
	opacity: 0.7;
}
iframe.gmaps {
	border-radius: 10px;
}
/*_____________________________DESKTOP STYLES_____________________________________*/

@media (min-width: 992px) {
.header-slim .logo .img-responsive {
	max-height: 180px;
	height: 180px;
	margin-bottom: -95px;
}
.header-slim.is-sticky-navbar .logo .img-responsive {
	max-height: 100px;
	margin-bottom: -47px;
}
.navigation--main > li > a {
	padding-left: clamp(15px, 1.5vw, 20px);
	padding-right: clamp(15px, 1.5vw, 20px);
}
.header-slim .navigation--main .menu-feature {
	align-items: center;
}
#slider-wrap[style^="background"] .carousel-content {
	padding-top: 4%;
}
.carousel-content > div {
	max-width: 50%;
}
.form-box {
	max-width: 50%;
	width: 500px;
}
}

/*_____________________________TABLET STYLES______________________________________*/

@media (max-width: 1199px) {
div#headstuff {
	width: 100%;
}
}

/*______________________________MOBILE STYLES______________________________________*/

@media (max-width: 991px) {
.logo {
	margin: 0 auto;
	padding-left: 60px;
	position: relative;
}
.logo .img-responsive {
	max-height: 160px;
	height: 160px;
	width: auto;
	margin-bottom: -90px;
}
.is-sticky-navbar .logo .img-responsive {
	max-height: 100px;
	margin-bottom: -50px;
}
div#navi {
	box-shadow: none;
}
.navigation--main {
	padding-top: 50px;
	padding-bottom: 20px;
}
.is-sticky-navbar .navigation--main {
	padding-top: 20px;
}
.navigation--main > li {
	font-weight: 500;
}
.navigation--main > li.current-menu-item {
	font-weight: bold;
}
li.menu-feature {
	display: none;
}
/*-------------------------------Slider-------------------------------*/
  
#slider-wrap[style^="background"] .carousel-content {
	padding: 50px 0 0;
}
.carousel-content,
.jumbotron__title h2,
.jumbotron__category h6 {
	text-align: center;
}
.form-cont {
	justify-content: center;
	align-items: flex-end;
}
.form-holder {
	display: none;
}
.form-cont .action {
	display: inline-block;
}
.form-cont .action.a-quote {
	background: var(--blue);
	margin: 0;
	transform: translateY(50%);
}
a.action.a-quote::after {
	content: '\f682';
}
div#wij-top {
	padding-top: 45px;
}
}

/*_____________________________SMALL MOBILE STYLES________________________________*/

@media (max-width: 779px) {
div#wij-top .widget, div#wij-bottom .widget {
	flex: 1 1 calc(50% - 5px);
}
}

/*__________________________________ANIMATIONS____________________________________*/

/*---------------------Slider Zoom in/out Animation-------------------*/

@keyframes slider { 		
    0% {transform: scale(1);}
	100% {transform: scale(1.3);}
}
.jumbotron .item img { 
    animation: slider 12s infinite alternate;
}
/*------------------------Slider Text Animations-----------------------*/

@keyframes fader { 		
    0% {opacity: 0;}
	100% {opacity: 1;}
}
@keyframes zoomer {
	0% {transform: scale(0.5); opacity: 0;}
	100% {transform: scale(1); opacity: 1;}
}
@keyframes lefty {
	0% {transform: translateX(25px); opacity: 0;}
	100% {transform: translateX(0); opacity: 1;}
}
/*.jumbotron.over .carousel-content {
	animation: fader 1s 1s backwards;
}
.jumbotron__category h6 {
	animation: lefty 1s 1.5s backwards;
}*/
.jumbotron__title h2 {
	animation: lefty 1s 0.5s backwards;
}
.jumbotron__content p {
	animation: lefty 1s 0.8s backwards;
}
.jumbotron__content .action {
	animation: lefty 1s 1.2s backwards;
}