:root {
	--white: #FFF;
	--pink: #E6007E;
	--blue: #009FE3;
	--green: #AFCB37;
	--light-grey: #f4f4f4;
}

html {
  scroll-behavior: smooth;
}

.orange-gradient {
	background: linear-gradient(to bottom right, #FF5101 0%, transparent 100%);
}
/* ----------------------------------------------------- Background Styles ------------------------------------------------- */
.bg-light-grey {
	background-color: var(--light-grey);
}

.bg-black {
	background-color: black;
}

.bg-green {
	background-color: var(--green);
}

/*
.orange-button {
  background-color: var(--orange);
  color: white;
  padding: 10px 20px;
  font-weight: bold;
  text-decoration: none;
  border-radius: 4px;
  transition: background 0.3s;
}

.orange-button:hover {
  background-color: #cc583f;
}
*/

/* ----------------------------------------------------- Menu Styles ------------------------------------------------- */

.menu ul {
	padding: 0px;
	margin: 0;
}
.menu li {
	list-style: none;
	display: inline-block;
	padding: 3px 15px;
	margin-left: 10px;
	background-image: none;
	margin-bottom: 10px;
}

.menu li {
  list-style: none;
}

.menu ul li ul {
	position:absolute;
	left:-999em;
	z-index:9999 !important;
	width: auto;
	text-align: left;
	padding-top: 10px;
	padding-bottom: 10px;
	background-color: rgba(255,255,255,0.80);
}
.menu ul li ul li {
	display: block;
	margin-bottom: 0;
	padding-left: 0;
	padding-right: 20px;
}
.menu ul li:hover ul, .menu ul li ul:hover {
	left:auto;
}

.menu a {
	color: var(--white);
	font-size: 17px;
	font-weight: 400;
}
.menu ul li ul li a {
	color: #000;
}

/** Menu arrows **/
.menu li > a:after {
    content: '  ▾';
	vertical-align: 1px;
}

.menu li > a:only-child:after {
    content: '';
}

.menu-item-5321 a, .menu-item-5320 a {
	font-weight: 700 !important;
}
.sub-menu a {
	font-weight: 400 !important;
}

.link-row {
  display: flex;
  justify-content: center;
  column-gap: 40px; /* keep horizontal space */
  row-gap: 8px;     /* reduce vertical space between wrapped lines */
  flex-wrap: wrap;
}

.link-row a {
  border-bottom: solid 1px var(--blue);
}

/* ----------------------------------------------------- Header And Banner Image Styles ---------------------------------------------------------------- */

header {
	/*position: absolute;*/
	width: 100%;
	top: 0;
	left: 0;
	right: 0;
	/*padding: 50px 5%;*/
}

.logo {
	/*width: 45%;*/
	max-width: 220px;
	/*min-width: 200px;*/
}

.banner-image {
	width: 100%;
	height: auto;
	min-height: 65vh;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	background-color: rgba(0,0,0,0.25);
	background-blend-mode: multiply;
	display: flex;
	flex-direction: column;
}
.banner-overlay {
	padding-top: 130px !important;
}
.banner-overlay-text {
	top: 25%;
	width: 70%;
}

.banner-overlay-text-black, .banner-overlay-text-black h1, .banner-overlay-text-black h2, .banner-overlay-text-black h3, .banner-overlay-text-black h4, .banner-overlay-text-black h5, .banner-overlay-text-black h6, .banner-overlay-text-black p {
	color: #000;
}
#solutions-switcher .slider-wrap {
  display: flex;
  align-items: center;
  gap: .5rem;
}


/* ----------------------------------------------------- Solutions Slider Styles ---------------------------------------------------------------- */

/* Center the image/icon within its container */
#solutions-switcher .media {
  flex: 0 0 100%;      /* let it span full card width */
  display: flex;       /* enable flexbox */
  justify-content: center;
  align-items: center;
  margin-bottom: 1rem; /* spacing below image */
}

#solutions-switcher .media img {
  max-width: 80px;     /* or whatever size you want */
  height: auto;
  display: block;
}



 .tablist { 
	display: flex; 
	flex-direction: column; 
	gap: 8px; 
}
  .tab {
	appearance: none; 
	background: transparent !important; 
	border: none; 
	text-align: left;
	padding: 10px 0; 
	opacity: 0.7; 
	cursor: pointer;
	color: white;
	font-weight: 500;
	font-size: 25px;
  }
  .tab:hover, .tab:focus { 
	outline: none; 
	background: transparent !important; 
	opacity: 1; 
}
  .tab.active { 
	border-radius: 6px; 
	color: white;
	font-weight: 500;
	font-size: 25px;
	opacity: 1; 
}

  .tabpanel { 
	  color: #fff; 
}
  .tabpanel[hidden] { 
	  display: none; 
}
  .tabpanel.active { 
	  display: block; 
}
.tabpanel p {
	font-size: 19px;
}

.solutions-row {
          display: flex;
          flex-wrap: wrap;
          justify-content: space-between;
          gap: 1.5rem;
          margin-bottom: 2rem;
        }
        .solutions-row.last-row {
          justify-content: center; /* centre the last two */
        }
        .solution-card {
          flex: 1 1 calc(25% - 1.5rem);
          max-width: calc(25% - 1.5rem);
          text-decoration: none;
          color: inherit;
        }
        .solution-card .card {
          background: #fff;
          border: 1px solid #ddd;
          border-radius: .75rem;
          padding: 2rem 1.5rem;
          text-align: center;
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: flex-start;
          min-height: 400px; /* fixed height */
          box-shadow: 0 3px 6px rgba(0,0,0,0.07);
          transition: transform .2s ease, box-shadow .2s ease;
        }
        .solution-card .card:hover {
          transform: translateY(-4px);
          box-shadow: 0 6px 12px rgba(0,0,0,0.1);
        }

/* ----------------------------------------------------- Post Slider Styles ---------------------------------------------------------------- */
/* Keep heading/content padding */
#all.content-padding { padding-right: var(--bs-gutter-x, 15px); }

/* Slider flush right */
.post-slider-wrapper {
  padding-right: 0 !important;
  margin-right: 0 !important;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
  position: relative;
  cursor: grab;
}
.post-slider-wrapper:active { cursor: grabbing; }

.post-slider-track {
  display: flex;
  gap: 20px;
  align-items: stretch;
  width: max-content;
  padding: 0 0 10px 0;
}

.post-slide {
  flex: 0 0 auto;
  text-decoration: none;
  color: inherit;
}

.post-card {
  position: relative;
  width: 560px;
  height: 460px;
  border-radius: 10px;
  background-size: cover;
  background-position: center;
  overflow: hidden;
}

/* Solid orange overlay */
.post-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #FF5101;
  opacity: 0.75;
  pointer-events: none;
  z-index: 0;
}

/* White text */
.post-content {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 20px;
  color: #fff;
  z-index: 1;
}

/* Hide scrollbar */
.post-slider-wrapper::-webkit-scrollbar { height: 0; }
.post-slider-wrapper { scrollbar-width: none; }


/* Hide overlay and text initially */
.post-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #FF5101;
  opacity: 0; /* hidden by default */
  pointer-events: none;
  z-index: 0;
  transition: opacity 0.3s ease;
}

.post-content {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 20px;
  color: #fff;
  z-index: 1;
  opacity: 0; /* hidden by default */
  transition: opacity 0.3s ease;
}

/* Show overlay and text on hover */
.post-slide:hover .post-card::after,
.post-slide:hover .post-content {
  opacity: 0.85; /* adjust overlay strength */
}


/* ----------------------------------------------------- Generic Content Styles ---------------------------------------------------------------- */

.content-padding {
	padding: 5%;
}
.content-padding-sm {
	padding: 2.5%;
}
.content-margin {
	margin: 5% 0;
}




/* ----------------------------------------------------- Metaslider Styles ---------------------------------------------------------------- */

.slides {
	padding: 0px !important;
}
.ms-image {
	display: block !important;
	height: 80vh !important;
	position: relative !important;
}
.ms-image img {
	height: 100%;
	object-fit: cover;
	object-position: center;
	width: 100%;
	background-color: rgba(0,55,98,0.65);
}
.metaslider .caption-wrap {
    top: 20% !important;
    background: none !important;
	opacity: 1 !important;
	width: 55% !important;
}
.caption-wrap .caption {
	/*position: absolute;
	bottom: 5%;
	left: 3%;*/
	padding: 8.5% !important;
	width: auto;
	color: var(--white) !important;
	font-size: 35px;
	line-height: initial;
}

.caption-wrap .caption p {
	color: var(--white) !important;
	margin-bottom: 15px !important;
}

.caption-wrap .caption h1 {
	color: var(--white) !important;
}

.metaslider .flexslider .slides > li img
{
	height: inherit;
}
.metaslider a {
	text-align: center;
	background-color: var(--pink);
	color: var(--white);
	font-weight: 400;
	font-size: 16px;
	padding: 10px 24px;	
	text-decoration: none !important;
	border: none;
	transition-property: all;
    transition-duration: 500ms;
	cursor: pointer;
	border-radius: 50px;
}
.metaslider a:hover {
	background-color: var(--blue) !important;
	color: #fff;
}


/* ----------- Blog Styles ----------- */
.blog {
	margin-bottom: 30px;
	transition: opacity .25s ease-in-out;
	  -moz-transition: opacity .25s ease-in-out;
	  -webkit-transition: opacity .25s ease-in-out;
}
.blog:hover {
	opacity: 0.7;
}
.blog-img-category {
	/*height: 245px;
	height: 18vw;*/
	aspect-ratio: 1 / 0.7;
	overflow: hidden;
	position: relative;
	border-radius: 10px;
	box-shadow: 0 6px 12px rgba(0,0,0,0.1);
}
.featured-cat-img {
	height: 25vw;
}
.blog-img img.attachment-post-thumbnail, .blog-img img.attachment-post-thumbnails {
	height: 108%;
	width: 100%;
	position: absolute;
	left: -50%;
	right: -50%;
	margin: 0 auto;
}
.blog-img-category img.attachment-post-thumbnail, .blog-img-category img.attachment-post-thumbnails {
	width: 100%;
	height: auto;
}
.blog-img-home img.attachment-post-thumbnail, .blog-img-home img.attachment-post-thumbnails {
	height: 108%;
	width: auto;
	position: absolute;
	left: -50%;
	right: -50%;
	margin: 0 auto;
	border-radius: 10px
}
.featured-cat-img img.attachment-post-thumbnail, .featured-cat-img img.attachment-post-thumbnails {
	width: 100%;
	height: auto;
}
.blog-text {
	padding: 15px 15px 25px 15px;
	/*height: 190px;
	min-height: 210px;*/
	border-radius: 0 0 10px 10px;
}
.blog-text-lrg {
	height: 250px;
}

.category-tags {
	font-size: 13px;
	margin-bottom: 25px;
	position: absolute;
	z-index: 99999;
	right: 0;
	top: 15px;
}
.category-tags a {
	display: inline-block;
  	margin-bottom: 10px;
}
p.category-tags span {
  border: solid 1px black;
  padding: 3px 11px;
  border-radius: 15px;
  margin-right: 10px;
  text-wrap: nowrap;
	background-color: #000;
	color: #fff;
}
p.category-tags span:hover {
	background-color: #fff;
	color: #000;
}
/*p.category-tags span.All {
	display: none;
}*/
p.category-tags span.News {
	display: none;
}
.blog-img {
  position: relative;
  width: 100%;
  height: 250px; /* adjust this to your desired height */
  overflow: hidden;
}

.blog-img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
/*
.wtr-time-wrap {
	margin: 0 !important;
}
*/


/* ----------------------------------------------------- Testimonial ---------------------------------------------------------------- */



#sp-testimonial-free-wrapper-42 .sp-testimonial-free-section .sp-testimonial-title .sp-testimonial-post-title {
	color: white !important;
}

#sp-testimonial-free-wrapper-42 .sp-testimonial-free-section .testimonial-nav-arrow {
	color: white !important;
}

/* ----------------------------------------------------- Ninja Forms Styles ---------------------------------------------------------------- */


.nf-form-fields-required {
	display: none !important;
}


.field-wrap > div input[type="checkbox"], .field-wrap button, .field-wrap input[type="button"], .field-wrap input[type="submit"] {
	background-color: var(--blue);
	border: var(--blue); 
	width: 100% !important;
	border-radius: 5px;
	padding: 10px;
}

/* ----------------------------------------------------- Button and A Styles ---------------------------------------------------------------- */

a.button  {
	text-align: center;
	color: var(--white);
	font-size: 16px;
	padding: 10px 24px;	
	text-decoration: none !important;
}

button  {
	text-align: center;
	background-color: #000;
	color: var(--white);
	font-weight: 400;
	font-size: 16px;
	padding: 10px 24px;	
	text-decoration: none !important;
	border: none;
	transition-property: all;
    transition-duration: 500ms;
	cursor: pointer;
	border-radius: 50px;
}
button:hover {
	background-color: var(--pink) !important;
	color: #fff;
}
button strong {
	color: #fff;
}

.btn-white {
	background: var(--white);
	color: black;
}
.btn-white:hover {
	background: var(--pink);
	color: white;
}
.btn-white-green {
	background: var(--white);
	color: var(--green);
	border: solid 1px white;
}
.btn-white-green:hover {
	background: var(--green) !important;
	color: white;
	border: solid 1px white;
}
.btn-black {
	background: #000;
	color: #fff;
}
.btn-black:hover {
	background: #fff;
	color: #000;
}
.btn-black-border {
	background: var(--white);
	color: #000;
	border: solid 1px #000;
}
.btn-black-border:hover {
	background: #000 !important;
	color: white;
}
.btn-small {
	font-size: 14px;
	padding: 5px 18px;
}
.btn-pink {
	background: var(--pink);
	color: white;
}
.btn-pink:hover {
	background: var(--blue) !important;
}
.btn-blue {
	background: var(--blue);
	color: white;
}
.btn-blue:hover {
	background: var(--pink);
}

#solutions-switcher .toggle-btn {
	border: none !important;
	border-radius: 0 !important;
	color: #000;
}
	
#solutions-switcher .toggle-btn.is-active {	
	border-bottom: solid 3px var(--pink) !important;
	border-radius: 0 !important;
	outline: none !important;
	font-weight: 600;
	color: #000;
}

#solutions-switcher .nav {
	background: var(--pink) !important;
	border: none !important;
	font-size: 25px !important;
	color: white !important;
	padding: 0 !important;
}


@keyframes arrowPulse {
  0%, 100% {
    transform: translateY(-50%) rotate(45deg) scale(1);
  }
  50% {
    transform: translateY(-50%) rotate(45deg) scale(1.15);
  }
}

.swiper-pagination-bullet-active {
	background: white !important;
}

.swiper-pagination-bullet {
	background: white !important;
}

.benefit {
  display: flex;
  align-items: flex-start;   
  gap: 8px;                 
}

.benefit-tick {
  height: 40px;
  margin-top: 2px;           
}

.benefit p { margin: 0; }

/* ----------------------------------------------------- Footer Styles ---------------------------------------------------------------- */

footer {
	padding: 50px 5%;
}
footer p, footer a {
	font-size: 14px;
}

footer a:hover {
	color: var(--orange);
}

footer h4 {
	color: var(--white);
	font-size: 30px;
	margin-bottom: 5%;
}

footer h4 a{
	color: var(--white);
	font-size: 30px;
	margin-bottom: 5%;
}

/* ----- WordPress and Plugin overwrites ----- */
.wp-block-aab-accordion-block .aab__accordion_head, .aab__accordion_body {
	padding-left: 0 !important;
}


/* ----------------------------------------------------- 2200px + ---------------------------------------------------------------- */

@media only screen and (min-width : 2200px) {
}


/* ----------------------------------------------------- Smaller than 2200px ----------------------------------------------------- */

@media only screen and (max-width : 2200px) {
}


/* ----------------------------------------------------- Smaller than 1800px ----------------------------------------------------- */

@media only screen and (max-width : 1800px) {
}


/* ----------------------------------------------------- Smaller than 1750px ----------------------------------------------------- */

@media only screen and (max-width : 1750px) {
}


/* ----------------------------------------------------- Smaller than 1650px ----------------------------------------------------- */

@media only screen and (max-width : 1650px) {	
}


/* ----------------------------------------------------- Smaller than 1550px ----------------------------------------------------- */

@media only screen and (max-width : 1550px) {
}


/* ----------------------------------------------------- Smaller than 1450px ----------------------------------------------------- */

@media only screen and (max-width : 1450px) {
}


/* ----------------------------------------------------- Smaller than 1350px ----------------------------------------------------- */

@media only screen and (max-width : 1350px) {
	.slider-image {
		width: calc(50% - 10px);
		min-width: calc(50% - 10px);
	}
}


/* ----------------------------------------------------- Smaller than 1250px ----------------------------------------------------- */

@media only screen and (max-width : 1250px) {
} 


/* ----------------------------------------------------- Smaller than 1125px ----------------------------------------------------- */

@media only screen and (max-width : 1125px) {
	
	
}


/* ----------------------------------------------------- Smaller than 1080px ----------------------------------------------------- */
@media only screen and (max-width : 1080px) {
	.caption-wrap .caption {
 	   font-size: 30px;
	}
}


/* ----------------------------------------------------- Smaller than 1024px - iPad landscape ----------------------------------------------------- */

@media only screen and (max-width : 1024px) {	
	.testimonial {
		margin-bottom: 40px;
		padding: 18px;
	}
	.bg-orange img {
    	max-width: 50px;
	}
}


/* ----------------------------------------------------- Smaller than 991px ------------------------------------------------------ */

@media only screen and (max-width : 991px) {
	.caption-wrap .caption {
 	   	font-size: 25px;
		padding: 16px 20px !important;
	}
	.menu li {
		padding: 1px 12px 2px 12px;
	}
	
	.solution-card {
        flex: 1 1 calc(50% - 1rem);
          max-width: calc(50% - 1rem);
     }
	.banner-overlay {
		padding-top: 100px;
	}
	.banner-overlay-text {
		top: 15%;
		width: 90%;
	}
	button {
		font-size: 13px;
	}
}

/* ----------------------------------------------------- Smaller than 870px ------------------------------------------------------ */

@media only screen and (max-width : 870px) {	

}

/* ----------------------------------------------------- Smaller than 800px ------------------------------------------------------ */

@media only screen and (max-width : 800px) {	
	
}


/* ----------------------------------------------------- Smaller than 768px - iPad portrait ------------------------------------------------------ */

@media only screen and (max-width : 768px) {
	.mobile-center {
		text-align: center !important;
	}
	.mobile-left {
		text-align: left !important;
	}
	.mobile-hidden {
		display: none;
	}
	button.mega-toggle-animated:hover {
		background-color: transparent !important;
	}
	.metaslider .caption-wrap {
	    width: 90% !important;
	}
	.ms-image {
		height: 65vh !important;
	}
	.bg-orange img {
    	max-width: 40px;
	}
	/*.psac-post-short-content {
		font-size: 14px !important;
    	line-height: 19px !important;
	}*/
	
	.wp-block-uagb-column{
		padding-right: 5%;
	}
	.benefit {
		margin-bottom: 10px;
	}
 
}


/* ----------------------------------------------------- Smaller than 700px ------------------------------------------------------ */

@media only screen and (max-width : 700px) {
}

/* ----------------------------------------------------- Smaller than Mobile ----------------------------------------------------- */

@media only screen and (max-width : 650px) {
	.psac-slider-and-carousel .owl-nav {
		width: 118% !important;
		left: -9%;
	}
	
	.psac-slider-and-carousel .owl-nav .owl-next, .psac-slider-and-carousel .owl-nav .owl-prev {
    	background: rgba(255,255,255,1) !important;
	}
}


/* ----------------------------------------------------- Smaller than 540px ------------------------------------------------------ */

@media only screen and (max-width : 540px) {	
	.solution-card {
            flex: 1 1 100%;
            max-width: 100%;
          }

}


/* ----------------------------------------------------- Smaller than 500px ------------------------------------------------------ */

@media only screen and (max-width : 450px) {

}