/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Aug 03 2026 | 19:14:46 */
rbody {
	position: relative;
}
/** Screen Reader **/
.sr-only {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

:focus:not(:focus-visible) {
  outline: none;
}

/**
Animations 
**/
@keyframes navItemIn {
  from {
    opacity: 0;
    transform: translateX(20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

main.wp-block-group {
	margin-top: 0 !important;
}

.wp-block-image.logo {
	margin-top: 0 !important;
}

/**
* Navigation 
**/
/* Hide the default SVG hamburger */
.primary-navigation-toggle .wp-block-navigation__responsive-container-open  {
	flex-direction: column;
	gap: 3px;
	align-items: flex-start;
}
.wp-block-navigation__responsive-container-open svg {
  display: none;
}

/* Inject fa-bars via pseudo-element */
.wp-block-navigation__responsive-container-open::before {
  font-family: "FontAwesome";
  content: "\f0c9";
  font-size: 2.4rem;
  line-height: 1;
  color: #11213a;
}


/**
* Button hover states
**/
a.wp-block-button__link:hover,
.wp-block-button__link:hover,
.wp-element-button:hover,
input[type="submit"]:hover {
	transition: all .3s ease-in-out;
	background: #11213a !important;
	cursor: pointer;
}

/* Hide the default X icon */
.wp-block-navigation__responsive-container-close svg {
  display: none;
}

.wp-block-navigation-overlay-close__text {
	display: none;
}

.wp-block-navigation__overlay-container {
	background: rgba(0,0,0, .5) !important;
	height: 100vh;
}

.navigation-overlay {
	width: 80%;
	max-width: 400px;
	min-width: 140px;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	-moz-box-shadow: 0 0 10px 0 rgba(0,0,0,.75);
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, .75);
	overflow-y: scroll;
}

.navigation-overlay.hidden {
  display: none !important;
}

.navigation-overlay.submenu-overlay.hidden {
	display: none;
}

ul.wp-block-navigation__container {
	width: 100%;
}

.navigation-sidebar {
	position: relative;
}

.close-menu {
	position: absolute;
	top: -30px;
    right: 10px;
	display: none;
}

/**
* Super block slider
**/
.superblockslider__button svg {
  display: none;
}

.superblockslider__button::before {
  content: '';
  display: block;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: #1b3b5d;
  opacity: 1;
  transition: all 0.5s ease;
  border: solid 1px #fff;
}

/* Make active dot larger or a different color */
.superblockslider__button--active::before {
  background-color: #11213a;
  width: 16px;
  height: 16px;
}

/* Force superblock slider images to 100% width */
.superblockslider__slide__bg picture {
	width: 100% !important;
}
.superblockslider__slide__bg picture img {
	width: 100% !important;
}

/* Remove default list and bullet styling */
.navigation-sidebar .wp-block-navigation__container {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  gap: 0 !important;
  padding-right: 44px;
}

/* Each nav item */
.navigation-sidebar .wp-block-navigation-item {
  list-style: none !important;
  border-bottom: 1px solid var(--wp--preset--color--custom-text-blue);
  margin: 0 !important;
  width: 100%;
}

/* Remove top border on first item — header group already has one */
.navigation-sidebar .wp-block-navigation-item:first-child {
  border-top: none;
}

/* The anchor/link */
.navigation-sidebar .wp-block-navigation-item__content {
  display: block !important;
  padding: 16px 44px 16px 25px !important; /* right padding reserves arrow space */
  color: white !important;
  text-decoration: none !important;
  line-height: 1.2 !important;
  width: 100%;
  font-size: 14px !important;
}

/* Hover */
.navigation-sidebar .wp-block-navigation-item__content:hover {
  opacity: 0.7;
  text-decoration: none !important;
}

/* Remove any WP navigation default flex gap or spacing */
.navigation-sidebar .wp-block-navigation-is-layout-flex {
  gap: 0 !important;
}

/* Arrow on has-subnav items — keep right-side only */
.navigation-sidebar .has-subnav {
  position: relative;
}

.navigation-sidebar .has-subnav::after {
  content: "\203A";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  cursor: pointer;
  color: white;
  opacity: 0.8;
  z-index: 10;
  border-right: 1px solid var(--wp--preset--color--custom-text-blue);
  border-left: 1px solid var(--wp--preset--color--custom-text-blue);
}

.subnav-header {
	position: relative;
}

.subnav-back {
	position: absolute;
	top: 40%;
	transform: translateY(-51%);
	left: 25px;
	color: transparent;
    font-size: 0;
}

.subnav-back::before {
  content: "\2039";
  font-size: 2.5rem;
  display: inline-block;
  width: 25px;
  height: 25px;
  color: #fff;
}

/* Items start invisible */

/* ============================================
   ANIMATION TRIGGER — name & fill only
   (Do NOT use the shorthand here — it would
   reset animation-delay to 0s and kill the stagger)
   ============================================ */

/* Items start invisible */
.navigation-sidebar .wp-block-navigation-item {
    animation-name: none;
    animation-duration: 0.35s;
    animation-timing-function: ease;
    animation-fill-mode: both;
    opacity: 0;
}

/* Trigger animation when panel is active */
.navigation-overlay.menu-open .navigation-sidebar .wp-block-navigation-item,
.navigation-overlay.submenu-overlay.is-active .navigation-sidebar .wp-block-navigation-item {
    animation-name: navItemIn;
}

/* ============================================
   MAIN NAV — staggered delays (15 items)
   ============================================ */
.navigation-sidebar .wp-block-navigation-item:nth-child(1)  { animation-delay: 0.04s; }
.navigation-sidebar .wp-block-navigation-item:nth-child(2)  { animation-delay: 0.08s; }
.navigation-sidebar .wp-block-navigation-item:nth-child(3)  { animation-delay: 0.12s; }
.navigation-sidebar .wp-block-navigation-item:nth-child(4)  { animation-delay: 0.16s; }
.navigation-sidebar .wp-block-navigation-item:nth-child(5)  { animation-delay: 0.20s; }
.navigation-sidebar .wp-block-navigation-item:nth-child(6)  { animation-delay: 0.24s; }
.navigation-sidebar .wp-block-navigation-item:nth-child(7)  { animation-delay: 0.28s; }
.navigation-sidebar .wp-block-navigation-item:nth-child(8)  { animation-delay: 0.32s; }
.navigation-sidebar .wp-block-navigation-item:nth-child(9)  { animation-delay: 0.36s; }
.navigation-sidebar .wp-block-navigation-item:nth-child(10) { animation-delay: 0.40s; }
.navigation-sidebar .wp-block-navigation-item:nth-child(11) { animation-delay: 0.44s; }
.navigation-sidebar .wp-block-navigation-item:nth-child(12) { animation-delay: 0.48s; }
.navigation-sidebar .wp-block-navigation-item:nth-child(13) { animation-delay: 0.52s; }
.navigation-sidebar .wp-block-navigation-item:nth-child(14) { animation-delay: 0.56s; }
.navigation-sidebar .wp-block-navigation-item:nth-child(15) { animation-delay: 0.60s; }

/* Container must be a positioning context to contain absolute subnavs */
.wp-block-navigation__overlay-container {
  position: relative;
  overflow: hidden;
  min-height: 100vh;
}

/* Subnavs: fill the container, start off-screen right */
.navigation-overlay.submenu-overlay {
  position: absolute !important;
  top: 0;
  right: 0;
  width: 100%;
  min-height: 100%;
  display: none !important;
  transform: translateX(110%);
  transition: transform 0.35s ease;
  z-index: 10;
}

.navigation-overlay.submenu-overlay.is-active {
  transform: translateX(0);
	display: block !important;
}


/**
* homepage 
**/
.home-about-block {
	background-size: auto !important;
	background-repeat: repeat !important;
	background-attachment: none !important;
}

.mountain-slider {
	background-repeat: no-repeat !important;
	background-position: top center !important;
}

/**
* Inner pages
**/

/** Breadcrumbs **/
nav.rank-math-breadcrumb p {
	font-size: .6875rem;
	text-transform: uppercase;
	color: #fff;
	display: flex;
	flex-direction: row;
	gap: .75rem;
}

nav.rank-math-breadcrumb p a {
	color: #aec4e4;
	text-decoration: none;
	font-size: .6875rem;
}

/**
* Contact Form
**/
form .gform-footer input[type="submit"].gform_button {
	background: #1f456c !important;
	border-bottom: solid 5px #142c44 !important;
	font-size: 1rem !important;
}

form .gfield_label span.gfield_required {
	color: #fff !important;
}

form .gform_heading p.gform_required_legend {
	display: none !important;
}

/**
* Inner page - sidebar nav 
**/

.inner-page-content a {
	color: #aec4e4 !important;
}

.inner-page-navigation {
	gap: 4px;
}

.inner-page-navigation ul.wp-block-navigation__submenu-container {
	margin-top: 10px;
}

.inner-page-navigation li {
  display: list-item !important;
  list-style-type: disc !important;
}

.inner-page-navigation > li.no-link > a {
  color: #ffffff !important;
}

.inner-page-navigation li a {
	color: #aec4e4 !important;
}

.inner-page-navigation li a:hover {
	text-decoration: none !important;
	cursor: pointer;
}

.inner-page-navigation .wp-block-navigation .has-child.open-always .wp-block-navigation__submenu-container, 
.inner-page-navigation .wp-block-navigation .has-child.open-always.wp-block-navigation-submenu {
	gap: 10px !important;
}

.inner-page-navigation li.no-link.has-child.current-menu-item a {
	color: #fff !important;
}

.inner-page-navigation li.wp-block-navigation__submenu-container.no-link li a {
	color: #aec4e4 !important;
}

/**
* Buttons 
**/
.wp-block-button .wp-block-button__link:after {
  font: var(--fa-font-solid);
  font-weight: 900;                  /* Required for Solid style icons */
  content: "\f101";                  /* Unicode for fa-angle-double-right */
  display: inline-block;
  margin-left: 5px;                  /* Spacing from text */
}

/**
Get a quote button
**/
.get-a-quote-button {
	position: fixed;
	right: 25px;
	bottom: 25px;
}

.get-a-quote-button a.wp-element-button, .inner-page-quote-button a.wp-element-button {
	border-bottom: none;
	border-radius: 100px;

}

.inner-page-quote-button a.wp-element-button {
		color: #1B3B5D !important;
}

.get-a-quote-button a.wp-element-button:before,
.inner-page-quote-button a.wp-element-button:before {
	font: var(--fa-font-solid);
	font-weight: 900;
	 content: "\f1ec";
	display: inline-block;
	margin-right: 8px;
}

.inner-page-quote-button a.wp-element-button:hover {
	background: #aec4e4 !important;
}

.get-a-quote-button a.wp-element-button:after,
.inner-page-quote-button a.wp-element-button:after {
	content: '';
}

body:not(.home) .get-a-quote-btn-wrapper {
	display: none;
}

/**
* Footer 
**/

footer .footer-copyright a {
	font-size: inherit;
	text-decoration: underline;
}

footer .footer-tel a {
	font-size: 1.667em;
    font-weight: 700;
	text-decoration: none !important;
}

footer a[href^="tel:"],
footer a {
	text-decoration: none;	
}
	

.wp-block-social-links .wp-block-social-link.wp-social-link {
	width: 50px;
	height: 50px;
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.wp-block-social-links .wp-block-social-link.wp-social-link svg {
	width: 36px;
	height: 36px;
}

/* ── Back to Top Button ── */
.back-to-top {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;         /* hidden until JS adds .visible */
  pointer-events: none;
  z-index: 1000;
}

.back-to-top.visible {
  opacity: 1;
  pointer-events: auto;
}

.back-to-top a {
  background: #1f456c;          /* Match your brand colour */
  color: #ffffff;
  display: inline-block;
  font-size: 0.875em;
  font-weight: 300;
  line-height: 1;
  padding: 12px 30px 10px;
  text-transform: uppercase;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  text-decoration: none;
}

.back-to-top a:hover {
  background: #2a5a8c;          /* Optional hover state */
}

.back-to-top a i {
  color: #ffffff;
}

/* Hide on smaller screens (matches original 1024px breakpoint) */
@media (max-width: 1024px) {
  .back-to-top {
    display: none !important;
  }
}

/**
* Mobile CSS 
**/
@media (max-width: 1024px) {
	.inner-page-content .entry-content .wp-block-group.is-layout-flex {
		flex-direction: column !important;
		align-items: flex-start;
		gap: 24px;
	}
}

@media (max-width: 768px) {
	footer .wp-block-group.is-layout-grid {
		 grid-template-columns: 1fr; /* Defines 1 column */
  		 place-items: center; 
		gap: 40px;
	}
	footer .wp-block-group.is-layout-grid .wp-block-group.is-vertical {
		width: 100%;
	}
}
