/*
Theme Name: AXIOM CHILD THEME
Template: axiom
Author: AXIOM Web Development Staff
Author URI: https://axiomad.com
Description: Child Template Theme for AXIOM Produced websites
Version: 1.3.0
Text Domain: AXIOM
*/


/*ADD CUSTOM FONT TO USE ON WEBSITE*/
/*
@font-face {
    font-family: 'Cachet Std';
    src: url("") format('woff2'),
        url("") format('woff'),
        url("") format('truetype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}
*/

/* CSS RESET */
/*html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{border:0;font-size:100%;font:inherit;vertical-align:baseline;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}table{border-collapse:collapse;border-spacing:0}*/
/* Fix WordPress admin bar site icon when Imagify wraps it in <picture> */
#wpadminbar #wp-admin-bar-site-name picture.site-icon {
	display: inline-block !important;
	width: 20px !important;
	height: 20px !important;
	max-width: 20px !important;
	max-height: 20px !important;
	margin-right: 6px;
	overflow: hidden;
	vertical-align: middle;
}

#wpadminbar #wp-admin-bar-site-name picture.site-icon img {
	display: block !important;
	width: 20px !important;
	height: 20px !important;
	max-width: 20px !important;
	max-height: 20px !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: cover;
}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder;}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}
/*# sourceMappingURL=normalize.min.css.map */

/* Box Sizing
--------------------------------------------- */

html {
	box-sizing: border-box;
/*
	max-width: 100vw;
	width: 100%;
*/
}

/* General Reset & Box-Sizing */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* Float Clearing
--------------------------------------------- */

.author-box::before,
.clearfix::before,
.entry::before,
.entry-content::before,
.footer-widgets::before,
.nav-primary::before,
.nav-secondary::before,
.pagination::before,
.site-container::before,
.site-footer::before,
.site-header::before,
.site-inner::before,
.widget::before,
.wrap::before {
	content: " ";
	display: table;
}

.author-box::after,
.clearfix::after,
.entry::after,
.entry-content::after,
.footer-widgets::after,
.nav-primary::after,
.nav-secondary::after,
.pagination::after,
.site-container::after,
.site-footer::after,
.site-header::after,
.site-inner::after,
.widget::after,
.wrap::after {
	clear: both;
	content: " ";
	display: table;
}

.clearfix {
	clear:both;
}

.sticky{
	position: -webkit-sticky; /* Safari */
	position: sticky;
	z-index: 9999;
}
.hide{
	display: none;
}
.show{
	display: block;
}
.mobile{
	display: none;
}
.desktop{
	display:inherit;
}
.pointer {
	cursor: pointer;
}


@keyframes fadeIn {
  0% {opacity:0;}
  100% {opacity:1;}
}

@-moz-keyframes fadeIn {
  0% {opacity:0;}
  100% {opacity:1;}
}

@-webkit-keyframes fadeIn {
  0% {opacity:0;}
  100% {opacity:1;}
}

@-o-keyframes fadeIn {
  0% {opacity:0;}
  100% {opacity:1;}
}

@-ms-keyframes fadeIn {
  0% {opacity:0;}
  100% {opacity:1;}
}

@-webkit-keyframes pulseLarge {
from {
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
50% {
-webkit-transform: scale3d(1.50, 1.50, 1.50);
transform: scale3d(1.50, 1.50, 1.50);
}
to {
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
}
@keyframes pulseLarge {
from {
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
50% {
-webkit-transform: scale3d(1.50, 1.50, 1.50);
transform: scale3d(1.50, 1.50, 1.50);
}
to {
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
}

@-webkit-keyframes pulse {
from {
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
50% {
-webkit-transform: scale3d(1.05, 1.05, 1.05);
transform: scale3d(1.05, 1.05, 1.05);
}
to {
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
}
@keyframes pulse {
from {
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
50% {
-webkit-transform: scale3d(1.05, 1.05, 1.05);
transform: scale3d(1.05, 1.05, 1.05);
}
to {
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
}
.animate__pulse {
-webkit-animation-name: pulse;
animation-name: pulse;
-webkit-animation-timing-function: ease-in-out;
animation-timing-function: ease-in-out;
-webkit-animation-duration: 1s;
animation-duration: 1s;
-webkit-animation-fill-mode: both;
animation-fill-mode: both;
}

@keyframes slideInUp {
from {
-webkit-transform: translate3d(0, 100%, 0);
transform: translate3d(0, 100%, 0);
/*visibility: visible;*/
}
to {
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
}
.animate__slideInUp {
-webkit-animation-name: slideInUp;
animation-name: slideInUp;
-webkit-animation-duration: 1s;
animation-duration: 1s;
-webkit-animation-fill-mode: both;
animation-fill-mode: both;
}

/* Accessibility Improvements */
.screen-reader-text {
    position: absolute;
    left: -9999px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.screen-reader-text:focus {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
}
body{
	display: block;
	position: relative;
	transition: top 0.8s ease-in-out;
	font-family: "myriad-pro-condensed", sans-serif;
    font-weight: 400;
    font-style: normal;
	font-size: calc(18px + ((22 - 18) * ((100vw - 480px) / (2560 - 480))));
	line-height: 1.5;
	color: #000000;
	margin: 0;
	max-width: 100vw;
}

h1, h2, h3, h4, h5, h6 {
	font-family: "myriad-pro-condensed", sans-serif;
    font-weight: 600;
    font-style: normal;
	margin:0 0 15px 0 !important;
	padding: 0;
	line-height:1;

}
h1{
	font-size: calc(40px + ((50 - 40) * ((100vw - 480px) / (2560 - 480))));
}
h2{
	font-size: calc(30px + ((38 - 30) * ((100vw - 480px) / (2560 - 480))));
	
}
h3{
	font-size: calc(26px + ((30 - 26) * ((100vw - 480px) / (2560 - 480))));
	
}
h4{
	font-size: calc(18px + ((26 - 18) * ((100vw - 480px) / (2560 - 480))));
	
}
h5{
	font-size: calc(16px + ((20 - 16) * ((100vw - 480px) / (2560 - 480))));
	
}
h6{
	font-size: calc(14px + ((16 - 14) * ((100vw - 480px) / (2560 - 480))));
	
}


p {
    font-size: calc(18px + ((22 - 18) * ((100vw - 480px) / (2560 - 480))));
    line-height: 1.5;
	margin: 0 0 15px 0 !important;
	padding: 0;
	
}
li strong,
p strong{
    font-weight: 600;
	
}
.justify{
	text-align: justify;
}
.no-margin {
	margin: 0 !important;
}
.extra-large{
	font-size:200%;
}
.full-height,
.full-height .gb-block-layout-column-inner {
    height: 100%;
}
.service-bg{
	clip-path: polygon(0% 0%, 100% 0%, 100% 90%, 90% 100%, 0% 100%);
	background: linear-gradient(to bottom, rgba(0,41,78,1), rgba(0, 124, 196, 1) 90%);
	align-self: stretch;
	flex: 1 1 23%;
	padding: 25px;
    color:#fff;
    height: 100%!important;
}
/*SET DEFAULT STYLING FOR SITE LINKS*/
a {
	color: #005389;
	transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
}
a:focus,
a:hover {
	opacity: .8;
	transition-duration: .2s;
}
.wp-block-image figcaption{
    	font-size: calc(18px + ((26 - 18) * ((100vw - 1180px) / (2560 - 1180))));

    margin:0 0 10px 0;
    color:#000;
}
.wp-block-button__link {
    display: flex;
    align-content: center;
    align-items: center;
    font-size: 22px !important;
    text-align: center;
    vertical-align: bottom !important;
	font-family: "myriad-pro-condensed", sans-serif !important;
    text-transform: uppercase;
    font-weight: 600!important;
    font-style: normal;
    border-radius: 0 !important;
    text-shadow: 1px 1px 1px rgba(0,0,0, .5);
}
.has-light-green-white-links a {
	color: #72b644;
	text-decoration: none;
	transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
}
.has-light-green-white-links a:focus,
.has-light-green-white-links a:hover {
	color: white;
	transition-duration: .3s;
	text-decoration: none;
}
/* Lists */
ul, ol {
    margin-top:0 !important;
    margin-bottom: 1em;
    padding-left: 1.5em;
}

ul {
    list-style-type: disc;
}

ol {
    list-style-type: decimal;
}
/*SET DEFAULT STYLING FOR SITE BUTTONS AND FORM SUBMIT BUTTONS*/
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.button, .button a {
	transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out;
	cursor: pointer;
	border: 1px solid black;
	border-radius: 20px;
	background-color: white;
	color: black;
	padding: 5px 10px;
	font-size: calc(14px + ((20 - 14) * ((100vw - 1180px) / (2560 - 1180))));
	font-weight: 600;
}
button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
.button:hover, .button a:hover {
	border: 1px solid white;
	background-color: black;
	color: white;
}
.popup-overlay {
    display: none;
    position: fixed; /* Ensures it stays on top */
    top: 180px;
    left: 0;
    bottom:0;
    right:0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    z-index: 999999 !important; /* Ensures it’s above everything */
    justify-content: center;
    align-items: center;
    padding:0 5% 5% 5%;
}


.popup-content {
    background: #fff;
    padding: 20px;
    max-width: 90%;
    max-height: 85vh; /* Limit popup height to 90% of viewport height */
    text-align: center;
    position: relative;
    z-index: 100000 !important; /* Ensures it’s above everything */
    display: flex;
    justify-content: center;
    align-items: center;
}

.popup-content img {
    max-width: 100%;
    max-height: 70vh; /* Ensures the image doesn't exceed 80% of viewport height */
    height: auto; /* Maintains aspect ratio */
    width: auto;
}


.close-popup {
    position: absolute;
    top: 5px;
    right: 5px;
    font-size: 24px;
    cursor: pointer;
}

/*SET DEFAULT SIZES AND SETTINGS FOR SITE CONTAINER AND MAIN ELEMENT*/
.site-container {
	margin: 0 auto;
}

#site-main{
	z-index: 1;
	position: relative;
	display: block;
	width: 100%;
	max-width: 100vw;
	margin: 145px auto 0 ;
}
.nav-up {
    top: -180px !important;
}
.nav-down{
	top: 0px !important;
}

/************************ HEADERS *************************/

/* SET DEFAULT SIZES AND SETTINGS FOR HEADERS */
#site-header{
	background: white;
	position: fixed;
    z-index: 900;
    transition: top 0.8s ease-in-out;
	max-width: 100vw;
	width: 100%;
	height: auto;
	margin: 0 auto;
	box-shadow: 0px 4px 5px 0px rgba(0,0,0,0.3);
}
#maxmegamenu-2{
    text-align:right;
    display: flex;
    justify-content: flex-end;
    align-content: flex-end;
    align-items: flex-end;
}
#mega-menu-wrap-max_mega_menu_1{
	background-color: var(--wp--preset--color--rms-blue);
	background-image: url("images/menu-top-corner.jpg");
  background-repeat: no-repeat;
  background-size: 35px 50%;
  background-position: top left;
    display: inline-block !important;
    padding: 0 25px 0 50px !important;
}
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item > a.mega-menu-link{
	font-family: oswald, sans-serif;
font-weight: 500 !important;
font-style: normal;
	font-size: calc(18px + ((24 - 18) * ((100vw - 1180px) / (2560 - 1180)))) !important;
}
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link{
	font-family: oswald, sans-serif;
font-weight: 500 !important;
font-style: normal;
}

#main-header {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: flex-end!important;
  align-content: flex-end!important;
  gap: 0 !important;
}
.header-widget {
  flex: 1 1 auto;
}
#main-header-widget-1{
    max-width:360px;
    width: 15%;
    padding:10px;
}

#main-header-widget-2 {
  align-self: flex-end;
    max-width:1280px;
    width:auto;
}
.top-header-widget{
    margin-bottom: 1%;
}
#maxmegamenu-2 {
  width: 100%;
  font-style: normal;
  font-weight: 400;
  font-size: calc(18px + ((24 - 18) * ((100vw - 1180px) / (2560 - 1180))));
  margin: 0;
  padding: 0;
}
#mega-menu-wrap-primary::before {
  content: ' ';
  position: absolute;
  display: table-cell;
  width: 50px;
  height: 100%;
  clip-path: polygon(50% 0, 100% 0%, 100% 100%, 0 100%, 0 50%);
  background: var(--wp--preset--color--rpm-grey);
  left: -50px;
}
.small-logo-header-current {
  border-right: 5px solid;
    border-right-color: currentcolor;
  border-color: #333;
  padding:10px 20px;
    
}
.small-logo-header-current img {width:auto !important;
    max-height:34px !important;}
.small-logo-header {
 
  padding: 20px;
}
.small-logo-header a img{
    opacity: .5;
    width:auto !important;
    max-height:34px !important;
}
.small-logo-header a:hover,
.small-logo-header a:hover img{
    opacity: 1 !important;
    width:auto !important;
    max-height:34px !important;
}
/************************ NAVIGATION MENUS *************************/

/* SECONDARY/TOP NAVIGATION */


/* MAIN NAVIGATION */
#menu-footer-menu-nav-left a{
	color: white;
}

#close{
	color: white !important;
}



/* SOCIAL MENU NAVIGATION */
#menu-social-menu{
	width: 100%;
	font-style: normal;
	font-weight: 400;
	font-size: calc(18px + ((24 - 18) * ((100vw - 1180px) / (2560 - 1180))));
	margin: 0;
	padding: 0;
}
#menu-social-menu li {
	display: inline;
	list-style-type: none;
	padding: 1% 2%;
}
#menu-social-menu li a{
	color: blue;
}
#menu-social-menu li a:hover{
	color: purple;
}
#menu-social-menu li a:active{
	color: purple;
}

/* MOBILE NAVIGATION */

#hamburger{
	right: 0;
	bottom: 0;
	position: relative;
	width: 30px;
	height: 20px;
	cursor: pointer;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}
.hamburger-icon {
	width: 100%;
	height: 3px;
	background-color: blue;
}
.nav-bar{
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-end;
	align-items: center;
}
@keyframes spinclosebutton {
	from {
        transform:rotate(0deg);
    }
    to {
        transform:rotate(1180deg);
    }
}
#close{
	position: relative;
	cursor: pointer;
	color: blue;
	text-align: right;
	font-size: 2em;
	font-weight: 100;
	padding: 10px 10px 0 0;
}
#close:hover {
 	transition: all 0.4s linear;
	opacity: .5;
}
#mobile-menu{
	padding: 5px 5px 5px 0;
	text-align: -webkit-right;
	display: none;
}
.mobile-navigation-container{
	z-index: 999999;
	position: relative;
}
.mobile-navigation{
	position: fixed;
	top: 0;
	right: -100vw;
	width: 100vw;
	height: 100vh;
	background: linear-gradient(to right, rgba(0, 83, 137, .7), rgba(0, 83, 137, .9));
	opacity: 0;
	padding: 1%;
}
.animate-nav-menu-open{
	animation: animateNavMenuOpen 1s;
	animation-fill-mode: forwards;
}
.animate-nav-menu-close{
	animation: animateNavMenuClosed 1s;
	animation-fill-mode: forwards;
}
@keyframes animateNavMenuOpen {
 0% {
    right: -100vw;
	 opacity: 0;
  }
100% {
	right: 0;
	opacity: 1;
	}
}
@keyframes animateNavMenuClosed {
 0% {
    right: 0;
	 opacity: 1;
  }
100% {
	right: -100vw;
	opacity: 0;
	}
}
#menu-mobile-menu{
	padding: 10px 20px 0 0;
	text-align: right;
	text-align: -webkit-right;
	list-style: none;
	position: relative;
	margin: 0 !important;
}
#menu-mobile-menu li {
	font-weight: 400;
	font-size: calc(22px + ((80 - 22) * ((100vw - 320px) / (2560 - 320))));
	margin: 20px 0;
	width: 50%;
}
#menu-mobile-menu li a{
	display: block;
	width: 100%;
	border: 2px solid blue;
	border-radius: 10px;
	cursor: pointer;
	padding: 5px 10px;
	color: blue !important;
	background-color: rgba(255, 255, 255, .8);
	text-decoration: none;
}
#menu-mobile-menu li a:hover{
	border: 2px solid purple;
	color: purple !important;
	background-color: rgba(255, 255, 255, .8);
}


/* FOOTER NAVIGATION */

.footer-widget .menu {
	width: 100%;
  font-style: normal;
  font-weight: 400 !important;
  font-size: c16px;
  margin: 0;
  padding: 0;}
.footer-widget .menu li {
  list-style-type: none;
  padding: 0;
	margin:0;
	line-height: 100%;
}
.footer-widget .menu li a{
	font-weight: 400 !important;
  padding:10px 0;
	display: block;
}
#main-footer-widget-1{
	align-self: flex-start;
}
.footer-widget {
  flex: 1 1 auto;
}



/************************ FEATURED IMAGE *************************/
.featured-image {
	width: 100%;
	max-width: 100vw;
	height: auto;
}

.featured-image img{
	width: 100%;
	max-width: 100vw;
	height: auto;
	object-fit: cover;
	object-position: center center;
}

/************************ PAGE TITLE *************************/
.page-title{
	padding: 20px 0;
	background-color: var(--wp--preset--color--rpm-blue);
	color: white;
	text-align: center;
}
.page-title h1{
	color: white;
}

/************************ BREADCRUMBS *************************/
.breadcrumbs {
    padding: 8px 15px;
    margin-bottom: 20px;
    list-style: none;
    background-color: #f5f5f5;
    border-radius: 4px;
}
.breadcrumbs a {
    color: #428bca;
    text-decoration: none;
}
.breadcrumbs a:hover {
    color: #ff0000;
    text-decoration: none;
}


/************************ INNER CONTENT *************************/
.inner-content{
	margin: 0 auto;
	padding: 0 0;
}

/************************ CUSTOM BUTTONS *************************/
.button-orange a{
	border: white;
	background-color: orange;
	color: white !important;
	padding: 10px 20px;
}
.button-orange a:hover{
	border: orange;
	background-color: white;
	color: orange !important;
}
.gform_button, .gform_next_button{
	text-transform: uppercase;
	background-color: var(--wp--preset--color--rms-blue) !important;
	color: white !important;
	padding: 10px 20px !important;
	border-radius: 0 !important;
	font-size: 24px !important;
	border: 1px solid var(--wp--preset--color--rms-blue) !important;
}
.gform_button:hover, .gform_next_button:hover{
	background-color: white !important;
	color: var(--wp--preset--color--rms-blue) !important;
}
/************************ CUSTOM SITE CSS *************************/
.service .ui-accordion .ui-accordion-header {
	background: none !important;
	border: none !important;
	color: white !important;
	font-family: "myriad-pro-condensed", sans-serif !important;
    font-weight: 600 !important;
    font-style: normal !important;
	font-size: calc(24px + ((30 - 24) * ((100vw - 480px) / (2560 - 480)))) !important;
	line-height: 1.2 !important;
	padding: 0 !important;
}
.service .ui-accordion .ui-accordion-content {
    padding: 0;
	background-color: none !important;
/*
    border-top: 0;
    overflow: auto;
*/
}
.service .ui-widget-content {
    border: none !important;
    background: none !important;
    color: white !important;
	font-family: "myriad-pro-condensed", sans-serif !important;
    font-weight: 400 !important;
    font-style: normal;
    font-size: calc(18px +((22 - 18)*((100vw - 480px) /(2560 - 480)))) !important;
    line-height: 1.2 !important;
}

.service .ui-widget-content a:hover {
    color: rgba(255, 255, 255, .7) !important;
}
.service .ui-icon {
	display: none !important;
/*    margin-right: 20px !important;*/
}
.intro-section{
    background-size:100% 95% !important;
}
.intro-section.gb-2-col-wideright > .gb-layout-column-wrap {
  -ms-grid-columns: 40% 60% !important;
  grid-template-columns: 40% 60% !important;
}

.our-people {
	position: relative;
    height: 50vh;
	width: 100%;
/*
    background-image: url("");
    background-position:bottom center;
*/
/*    background-size: contain;*/
/*
    background-repeat: no-repeat;
    background-attachment: fixed;
*/
}
.our-people-background {
	position: fixed;
	top: 20%;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	z-index: -1;
	}
.our-people-background img{
	width: 100%;
}
/*CSS for custom Accordion script*/
.accordion-title::before{
/*content: "\f139";*/
}
.open {
	display: block;
}
.closed {
	display: none;
}
/*END CSS for custom Accordion script*/ 

.cta-section{
	clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 10% 100%, 0% 90%);
  background: linear-gradient(to right,  rgb(0, 44, 81), rgb(0, 124, 196) 70%);
    background-color: rgba(0, 0, 0, 0);
}
.cta-list{
	
	margin: 0 0 15px 0;
	list-style-type: none;
	padding-left: 0 !important;
	display: flex;
	flex-flow: column;
	
}
.cta-list li{
/*	align-self: center;*/
	margin:0 0 5px 0;
    
}
.cta-list li::before{
	color: #339900;
	font-size: 36px;
	font: var(--fa-font-solid);
	font-weight: 900;
	content: "\f00c";
	margin: 0 5px 0 0;
}
.check-list{
	
	list-style-type: none;
	padding-left: 10px !important;
	
	
}
.check-list li::before{
	color: #339900;
	font-size: 36px;
	font: var(--fa-font-solid);
	font-weight: 900;
	content: "\f00c";
	margin: 0 10px 0 0;
}
.gb-layout-column-wrap{
/*	display: flex;*/
}
.certification-tile, .certification-tile>div{
	height: 100%;
}
.supplier-terms-tile, 
.supplier-terms-tile>div{
	height: 100%;
	 background: rgb(0,102,0);
background: linear-gradient(0deg, rgba(0,102,0,1) 0%, rgba(51,153,0,1) 100%); 
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 50px 100%, 0px 90%);
}
.service-capabilities-tile, .service-capabilities-tile>div{
	height: 100%;
}
.service-capabilities-tile>div{
/*	border-radius: 20px;*/
	clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 10% 100%, 0px 90%);
}
.service-capabilities-tile h3 {
    margin:0 0 10px 0 !important;
}
.service-capabilities-tile-image {
    position:relative;
    display: block;
}
.service-capabilities-tile-image:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url("images/services-decoration.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    z-index: 2;
    pointer-events: none;
}
/*top home block left*/
.roy-home{
	min-width:40% !important;
}
.angled-corner-bottom-left {
	clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 5% 100%, 0px 90%);
}
.angled-corner-bottom-right {
	clip-path: polygon(0% 0%, 100% 0%, 100% 90%, 95% 100%, 0% 100%);
}
.top-home-buttons{
	display: flex;
}
.navigation{
	justify-content: flex-end !important;
	padding: 20px;
}
/* production maching services*/
.machining-services{
	padding: 3% 0 5% 0;
}
.machining-services-header{
	width: 50%;
	position: relative;
	left: 48%;
}
.our-production-machining{
	text-wrap: nowrap;
}
.services{
  position: relative;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)); /* 4 columns by default */
  gap: 1.5rem;
  align-items: start;          /* tweak as needed */
  justify-items: stretch;      /* tweak as needed */
}



.service {
	clip-path: polygon(0% 0%, 100% 0%, 100% 90%, 90% 100%, 0% 100%);
	background: linear-gradient(to bottom, rgba(0,41,78,1), rgba(0, 124, 196, 1) 90%);
	align-self: stretch;
    align-content: stretch;
    display: flex;
    flex-flow: column;
	flex: 1 1 23%;
	padding: 25px;
    color:#fff;
    height: 100%!important;
}
.services-image{
	position: relative;
	display: block;
	 width: 100%; /* Adjust as needed */
    height: auto; /* Adjust as needed */
    margin-bottom: 5px !important;
}
.services-image img{
	width: 100%;
	height: auto;
	display: block;
	
	z-index: 1000;
}

.services-image:before {
	content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom:0;
    width: 100%;
    height: 100%;
    background-image: url("images/services-decoration.svg");
    background-repeat: no-repeat;
    background-size: contain; /* or cover, depending on the effect */
    background-position: center left; /* Adjust position if needed */
    z-index: 2; /* Ensure it sits above the image */
    pointer-events: none; /* Prevent interaction with the pseudo-element */
}

.services-title{
	font-size: calc(26px + ((30 - 26) * ((100vw - 480px) / (2560 - 480))));
    color: white;
    margin-bottom: 5px !important;
}
.services-title::after{
	margin-left: 10px;
	
	font-size: calc(22px + ((26 - 22) * ((100vw - 480px) / (2560 - 480))));
	font-style: normal;
	font-weight: 700;
	content: '»';
}

.services-description{
	color: white;
}

a.services-link {
    display: inline-block;
	font-weight: 600;
    color: white !important;
	font-size: 22px !important;
    background: linear-gradient(to right, rgba(0,0,0,.5), rgba(0,0,0,0) 70%);
    padding: 10px;
    text-align: left;
    text-decoration: none;
}

a.services-link:hover{
    color: white !important;
	background-color: rgba(0,0,0,.5);
    
}

.services-link::after {
    color: white !important;
    padding-left:5px;
	font-style: normal;
	font-weight: 500;
	content: '»';
    
}
.section-line-decoration:before {
	content: '';
    position: absolute;
    display: block;
    margin: 0; padding: 0;
    top: -15px;
    left: 0;
    width: 75%;
    height: 30px;
    background-image: url("images/section-line-decoration.svg");
   background-repeat: no-repeat;
    background-size: 100.65%; /* or cover, depending on the effect */
    background-position: right; /* Adjust position if needed */
    z-index: 2; /* Ensure it sits above the image */
    pointer-events: none; /* Prevent interaction with the pseudo-element */
}

.line-decoration-fade{
    position: relative;
	padding-bottom:15px;
	margin-bottom:20px;
	width:100%;
}
.line-decoration-fade h2{
    padding-left:2% !important;
}
.line-decoration-fade:after {
	max-width: 100%;
  content: '';
  position: absolute;
  width: 100%;
  height: 12px;
  bottom: 0;
  left: 0;
  background-image: url("");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: left bottom;
  z-index: 2;
  pointer-events: none;
  clear: both;
}
.cnc{
	-webkit-clip-path: polygon(0 0, 100% 0, 100% 90%, 90% 100%, 0% 100%);
	background: linear-gradient(to bottom, rgba(0,83,137,1), rgba(0,83,137, 1) 70%);
	align-self: stretch;
	flex: 1 1 20%;
	padding: 10px;
}
.cnc-img{
	justify-self: center;
	padding: 3%;
}


/*bottom section*/
.bottom-col{
	background-size: unset !important;
	background-position-x: center;
	background-position-y: top;
}
.gb-block-container .gb-container-image-wrap{
	height: auto !important;
}
/*quality policy*/


.quality-policy {
	max-width: 800px;
	margin:0 auto;
  background-image: url("images/quality-background.svg");
   background-size: 100% 100%;  /* Fills the container without distortion */
    background-position: center;  /* Centers the SVG */
    background-repeat: no-repeat; /* Prevents tiling */
  width: 100%;
  height: 100%;
    object-fit: cover;
}
 


.guarantee{
	font-style: italic;
	text-align: center;
	font-weight: 900;
	font-size: calc(26px +((32 - 26)*((100vw - 1180px) /(2560 - 1180))));
}
.quality-policy h5{
	font-weight: 900;
}
.blue-gradient-bg, .blue-gradient-bg>div {
	background: linear-gradient(to bottom, rgba(0,83,137,1), rgba(0,83,137, 1) 70%);
	height: 100% !important;
}

.green-gradient-bg, .green-gradient-bg>div {
	background: linear-gradient(0deg, rgba(0,102,0,1) 0%, rgba(51,153,0,1) 100%);
	height: 100% !important;
}
/*what customers are saying*/
.reviews{
	margin: 0 10% 0;
	padding: 20% 0 0;
}
.reviews h2{
	text-align: center;
	font-weight: 900;
}
.three-buttons{
	justify-items: center;
}
.is-layout-flex{
	gap: 5px;
}

.three-reasons-number {
        flex-basis: 150px !important;
        width:150px !important;
        text-align: center;
    }
.three-reasons-text{ 
    flex:auto !important;}
.survey-section{}
/*hiring*/
.hiring-box{
    padding:2rem 5%;
    position: relative;
	clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 50px 100%, 0 85%);
	background: linear-gradient(to right, rgba(0, 124, 196, 1), rgba(0, 44, 81, 1) 70%);
    z-index: 1;
    color:#fff;
    gap:2em!important;
}
.hiring-box .wp-block-group:first-of-type{
    width:55% !important;
}
.hiring-box .wp-block-group:last-of-type{
    width:45% !important;
}
/*contact us page*/
.contact-form-column form{
	padding: 20px;
	background-color: var(--wp--preset--color--rpm-green);
	color: white;
	border-radius: 20px;
}
.contact-form-column form h2, .contact-form-column form h3{
	color: white;
}

/*About Us Page*/
.rpm-bg-image{
	background-color: rgba(255,255,255,0.7);
    background-blend-mode: lighten;
}
.rpm-history-block p{
	margin: 0 0 20px 0;
}
.section-testimonials, .section-cta {
	border-radius: 20px;
}

details.royster-accordion {
	margin-bottom:10px;
}
.royster-accordion summary{
	cursor: pointer;
	color: white;
	background-color: #333333 !important;
	padding: 10px 20px;
    clip-path: polygon(0 0, 98% 0, 100% 50%, 100% 100%, 0 100%);
    border-radius:0 !important;
    
}
summary.gb-accordion-title,
.royster-accordion .gb-accordion-title{
	cursor: pointer;
	color: white;
	background-color: #666 !important;
	padding: 10px 20px;
    clip-path: polygon(0 0, 98% 0, 100% 50%, 100% 100%, 0 100%);
    border-radius:0 !important;
}
.two-column{
    column-count:2;
    column-gap: 20px !important;
}
/************************ FOOTERS *************************/
#site-footer {
	position: relative;
   	z-index: 9;
	width: 100%;
	max-width: 100vw;
	height: auto;
	margin: 0 auto;
	padding:50px 5%;
	background-color: #013765;
    background-image: url("../../uploads/2025/03/black-footer.jpg");
	background-repeat: no-repeat;
    background-position:top center;
	background-size: cover;
    color: white;
	font-family: "myriad-pro-condensed", sans-serif;
	font-weight: 400;
	font-style: normal;
	border-top:2px solid #fff;
}
#site-footer a{
	color: white;
}
#main-footer {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: flex-start !important;
  align-content: flex-start !important;
}
.quote-button a{
	text-wrap: nowrap;
}
.iso-button a{
	text-wrap: nowrap;
}
.main-footer .widget_block{
	margin-bottom:20px;
}
/************************ MEDIA QUERIES *************************/
@media only screen and (max-width: 1680px) {
    .services{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
    .service{
	clip-path: polygon(0% 0%, 100% 0%, 100% 90%, 95% 100%, 0% 100%);
	background: linear-gradient(to bottom, rgba(0,41,78,1), rgba(0, 124, 196, 1) 90%);
	align-self: stretch;
	flex: 1 1 48%;
	padding: 20px;
    color:#fff;
        display: flex;
        flex-flow: row nowrap;
        gap:1em;
}
    .service-image-container {
        width:40%;
    }
    .service-description-container{
        width:60%;
    }
}
@media only screen and (max-width: 1180px) {
	#site-main {
    
    margin: 150px auto 0;
}
	
	.machining-services-header{
		display: flex;
		flex-direction: row;
		justify-content: flex-end;
	}
	.top-home-buttons .gb-layout-column-wrap{
		flex-direction: row;
	}
	
	.gb-block-container .gb-container-image-wrap{
		height: -webkit-fill-available !important;
	}
	.iso-buttons .gb-layout-column-wrap{
		flex-direction: row;
	}
	.service {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 92%, 92% 100%, 0% 100%);
  background: linear-gradient(to bottom, rgba(0,41,69,1), rgba(0,83,137, 1) 90%);
  align-self: stretch;
  flex: 1 1 48%;
  padding: 20px;
}
}
@media only screen and (max-width: 900px) {
    .service {
	clip-path: polygon(0% 0%, 100% 0%, 100% 90%, 90% 100%, 0% 100%);
	background: linear-gradient(to bottom, rgba(0,41,78,1), rgba(0, 124, 196, 1) 90%);
	align-self: stretch;
    align-content: stretch;
    display: flex;
    flex-flow: column;
	flex: auto;
	padding: 20px;
    color:#fff;
    height: 100%!important;
}
     .service-image-container {
        width:100%;
    }
    .service-description-container{
        width:100%;
    }
   

.intro-section.gb-2-col-wideright > .gb-layout-column-wrap{
		flex-direction: column;
		display: flex;
        clear:both;
        gap:20px !important;
	}
    .top-cols .gb-layout-column-wrap{
		flex-direction: column-reverse;
	}
    .home-slider {
    margin: 0 0 0 0;
    display: flex !important
;
    justify-content: flex-end;
}
	#main-footer{
		flex-direction: column !important;
	}
	#main-footer-widget-1, #main-footer-widget-2, #main-footer-widget-3{
		align-self: unset;
	}
	#main-footer-widget-2{
		margin: 0;
	}
	#block-12 .gb-layout-column-wrap{
		flex-direction: row;
	}
	#slider{
/*		flex-wrap: wrap !important;*/
	}
	

	/*****quality*******/
	.provisions, .delivery{
		margin-bottom: 5%;
	}
	.section-cta{
		padding: 10px !important;
	}
	
	/******engineering*****/
	.service-capabilities-tile{
		margin-bottom: 2%;
	}
	.gb-layout-columns-4{
		margin-top: 0% !important;
	}
	.sbr_carousel.sbr-owl-drag .sbr-owl-item{
		padding: 5px;
	}
}
@media only screen and (max-width: 768px) {
    .services{
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
    .service{
	clip-path: polygon(0% 0%, 100% 0%, 100% 90%, 95% 100%, 0% 100%);
	background: linear-gradient(to bottom, rgba(0,41,78,1), rgba(0, 124, 196, 1) 90%);
	align-self: stretch;
	flex: 1 1 100%;
	padding: 20px;
    color:#fff;
        display: flex;
        flex-flow: row nowrap;
        gap:1em;
}
    .service-image-container {
        width:40%;
    }
    .service-description-container{
        width:60% !important;
    }
     #site-main {
    margin: 60px auto 0;
  }
    #main-header-widget-1 img {
        max-height:75px;
            width:auto;
    }
	
    #main-header-widget-2 .widget_block:first-child,
    .top-header-widget{
    display: none;
}
	.iso-buttons .gb-layout-column-wrap{
		flex-direction: column !important;
		margin: 0 10%
		
	}
	.three-buttons .is-layout-flex{
		justify-content: center;
	}
	#block-12 .gb-layout-column-wrap{
		flex-direction: column !important;
	}
	#block-8 .is-layout-flex{
		flex-direction: column;
	}
	#block-8 a{
		text-wrap: nowrap;
	}
	.small-logo-header{
		border: none !important;
	}

	.homepage-quality-policy-column .gb-block-layout-column-inner {
        padding: 1em !important;
    }
	.homepage-quality-policy-header {
        flex-wrap: wrap !important;
    }
	.iso_certified {
        flex-direction: column;
		padding-bottom: 30px;
    }
	   .homepage-customers-saying-container {
        padding: 1em !important;
    }
	/*****about page****/
	.about{
		padding-left: 0 !important;
		padding-right: 0 !important;
		text-align: center;
	}
	
	.wp-block-list{
		text-align: left;
	}
	.team-member-tile{
		width: 100% !important;
	}
	
	

}
@media only screen and (max-width: 600px) {
/*	DEFAULTS  */
	h2{
/*		font-size: 42px;*/
	}
	h3{
/*		font-size: 28px;*/
	}
	p{
		text-align: justify;
	}
	p, summary{
		font-size: 18px;
	}
	.hero-columns .gb-layout-column-wrap{
		flex-direction: column-reverse !important;
	}
/*	HOMEPAGE  */
	.roy-home ul{
		margin-bottom: 0 !important;
	}

	.homepage-services-header{
		flex-direction: column-reverse;
		gap: 2em;
		padding: 20px 0;
		flex-wrap: wrap !important;
	}
	.homepage-services-header h2{
		padding: 0 !important;
	}
	
	.equipment-list-button{
		margin: 0 auto !important;	
	}
	.homepage-quality-policy-header{
		flex-wrap: wrap !important;
	}
	.homepage-quality-policy-column .gb-block-layout-column-inner{
		padding: 1em !important;
	}
	.homepage-what-saying-column .gb-block-layout-column-inner{
		padding: 0 !important;
	}
	.homepage-customers-saying-container{
		padding: 1em !important;
	}
	.hiring-box{
		margin: 0 5% 5% 5% !important;
	}
	
/*	ABOUT US PAGE  */
	.hero-section{
		padding: 2em !important;
	}
	.state-of-the-art-columns .gb-layout-column-wrap{
		flex-direction: column-reverse;
	}
	.team-member-tile {
/*		width: 100%;*/
		min-width: 100% !important;
		max-width: 100% !important;
	}
	.team-member-tile-inner{
		flex-flow: row wrap!important;
	}
	.our-people{
		
	}
	.our-people-background {
/*
		position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("");
  background-size: cover;
  background-position: center;
  z-index: -1;
*/
/*		height: 170px !important;*/
/*		background-size: contain !important;*/
	}
/*  SERVICES PAGE  */
	.capabilities-container .gb-layout-column-wrap{
		flex-direction: column-reverse;
	}
	.intro-column .gb-block-layout-column-inner{
		padding: 0 !important;
	}
	.certified-columns{
		flex-wrap: wrap !important;
	}
	.certified-columns .wp-block-buttons{
		margin: 0 auto !important;
	}
	
	
/*	EQUIPMENT PAGE  */
	.summary.gb-accordion-title, .royster-accordion .gb-accordion-title{
		clip-path: unset;
	}
	li.grid-post{
		flex-flow: column nowrap!important;
	}
	.equipment-gallery-slider {
		width: 100% !important;
	}
	.equipment-copy {
		width: 100% !important;
	}
	div.accordion-header {
		width: 95% !important;
		clip-path: unset !important;
	}
	
/*	CUSTOMER SATISFACTION PAGE  */
	.quality-policy-columns .gb-layout-column-wrap{
		flex-direction: column-reverse !important;
	}
	
	
	
	
/*	CUSTOMER SATISFACTION PAGE  */
	.rpm-difference-columns .gb-layout-column-wrap{
		flex-direction: column-reverse !important;
	}
	.reasons-container-header{
		border-bottom: 1px solid var(--wp--preset--color--rpm-blue);
		padding: 0 0 30px 0 !important;
	}
	.reason-1 .gb-layout-column-wrap, .reason-3 .gb-layout-column-wrap{
		flex-direction: column-reverse !important;
	}
	.reasons-column{
		padding: 0 !important;
		margin: 0 0 20px 0 !important;
	}
	.reasons-row{
		flex-flow: column nowrap !important;
	}
	.three-reasons-number {
		flex-basis: auto !important;
		width: auto !important;
		margin: 0 !important;
/*		font-size: 200px!important*/
	}
	.three-reasons-heading{
		font-size: 42px;
	}
	.three-reasons-subheading{
		line-height: 1.2em;
		font-size: 30px;
	}
	
/*	CONTACT US PAGE  */
	.contact-hero .gb-layout-column-wrap{
/*		flex-direction: column-reverse !important;*/
	}
	.phone-number-row{
		flex-flow: column nowrap !important;
	}
	.gform_button{
		line-height: 1 !important;
		padding: 5px 10px !important;
	}
	
/*	JOIN OUR TEAM PAGE  */
	.job-listing-inner{
		flex-flow: column nowrap !important;
	}
	.panel{
		flex-flow: column nowrap !important;
		gap: 30px !important;
	}
	.job-listing-inner span{
		padding: 5px 0 !important;
	}
	.panel span p{
        padding: 5px 0 !important;
		text-align: left !important;
    }
	.job-listing-inner span:first-of-type {
		padding: 10px 1% !important;
	}
	
/*	PRIVACY POLICY PAGE  */
	.privacy-policy{
/*		padding-top: 5% !important;*/
	}
	
	.service{
		flex-direction: column;
	}	
	.service-image-container {
        width:100%;
    }
    .service-description-container{
        width:100% !important;
    }
	
}
