/* GANTRY5 DEVELOPMENT MODE ENABLED.
 *
 * WARNING: This file is automatically generated by Gantry5. Any modifications to this file will be lost!
 *
 * For more information on modifying CSS, please read:
 *
 * http://docs.gantry.org/gantry5/configure/styles
 * http://docs.gantry.org/gantry5/tutorials/adding-a-custom-style-sheet
 */

@charset "UTF-8";
.g-slider .swiper-slide .g-slider-overlay {
  background: transparent !important;
  opacity: 0 !important;
}
.g-slider .swiper-slide {
  filter: none !important;
  -webkit-filter: none !important;
}
/* Fix square images inside content tabs */
.g-contenttabs .g-contenttabs-tab img {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
  max-width: 400px;
  /* Optional: adjust max size */
  display: block;
  margin: 0 auto;
}
/* Or hard set them to a clean square */
.g-contenttabs .g-contenttabs-tab img {
  width: 300px;
  height: 300px;
  object-fit: cover;
  display: block;
  margin: 0 auto;
}
.g-slider .swiper-slide {
  filter: none !important;
  -webkit-filter: none !important;
  height: 430px;
}
/* Base height for desktop and larger */
.g-slider .swiper-slide {
  height: 430px;
  filter: none !important;
  -webkit-filter: none !important;
}
/* Tablet: under 76rem (1216px) */
@media (max-width: 76rem) {
  .g-slider .swiper-slide {
    height: 360px;
  }
}
/* Small Tablet: under 51rem (816px) */
@media (max-width: 51rem) {
  .g-slider .swiper-slide {
    height: 280px;
  }
}
/* Mobile: under 30rem (480px) */
@media (max-width: 30rem) {
  .g-slider .swiper-slide {
    height: 350px;
  }
}
/* Remove grey overlay on slider banners */
.g-slider .swiper-slide .g-slider-overlay {
  background: transparent !important;
  opacity: 0 !important;
}
/* Remove white overlay on slideshow images */
.g-slideshow .g-slideshow-slider .g-slideshow-overlay {
  background: transparent !important;
  opacity: 0 !important;
}
#g-above {
  clip-path: none !important;
}
/* .g-slideshow {
  clip-path: polygon(0 0, 100% 0, 100% 90%, 75% 95%, 50% 90%, 25% 95%, 0 90%);
} */
.g-activities .g-activities-item {
  width: 25%;
  max-height: 200px;
}
/* ABOUT ME SECTION STYLING */
.fidget-about {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 2rem 2rem 2rem;
  /* top right bottom left */
  line-height: 1.6;
  font-size: 1.05rem;
  color: #222;
}
.fidget-about p {
  margin-bottom: 1.5rem;
}
.fidget-about strong {
  color: #009EB9;
  font-weight: 600;
}
.fidget-about em {
  color: #6B1B56;
  font-style: normal;
  font-weight: 600;
}
.fidget-about .headline {
  font-size: 1.6rem;
  font-weight: 700;
  color: #6B1B56;
  margin-bottom: 1.5rem;
  text-align: center;
}
.fidget-about .cta {
  font-size: 1.25rem;
  color: #009EB9;
  font-weight: 600;
  text-align: center;
  margin-top: 2rem;
}
.fidget-about .book-button {
  display: inline-block;
  margin-top: 1rem;
  background: #009EB9;
  color: #fff;
  padding: 0.75rem 1.5rem;
  border-radius: 3px;
  font-weight: bold;
  text-decoration: none;
  transition: background 0.3s ease;
}
.fidget-about .book-button:hover {
  background: #6B1B56;
}
/* Anchor the slider title to the bottom of the image */
.g-slider-carousel .g-slider-carousel-title {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  text-align: center;
  font-weight: 600;
  font-size: 1rem;
  color: #ffffff;
  background: #6b1b56;
  padding: 0.5rem;
  box-sizing: border-box;
  z-index: 10;
}
/* Styled slider title bar like Fidget button */
.g-slider-carousel .g-slider-carousel-title {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  text-align: center;
  font-weight: bold;
  font-size: 1rem;
  background: #009EB9;
  /* Fidget Blue */
  padding: 0.6rem 1rem;
  box-sizing: border-box;
  z-index: 10;
  border: 2px solid #fff;
  border-radius: 0;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: background 0.3s ease;
}
/* Apply hover to the whole container */
.g-slider-carousel .g-slider-carousel-title:hover {
  background: #6B1B56;
}
/* Style the anchor inside */
.g-slider-carousel .g-slider-carousel-title a {
  color: #fff !important;
  text-decoration: none;
  display: block;
  width: 100%;
  height: 100%;
}
/* Anchor the slider title to the bottom of the image */
.g-slider-carousel .g-slider-carousel-title {
  position: relative;
  top: 80px;
}
.fidget-service-grid {
  max-width: 1000px;
  margin: 0 auto 4rem;
  padding: 2rem;
}
.fidget-services-heading {
  font-size: 2rem;
  color: #6B1B56;
  text-align: center;
  margin-bottom: 2rem;
}
.service-row {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 1.5rem;
  margin-bottom: 1.8rem;
  align-items: start;
}
.service-title {
  font-weight: 700;
  color: #009EB9;
  font-size: 1.1rem;
  white-space: nowrap;
}
.service-desc {
  color: #333;
  font-size: 1rem;
  line-height: 1.6;
}
@media (max-width: 768px) {
  .service-row {
    grid-template-columns: 1fr;
  }
  .service-title {
    margin-bottom: 0.5rem;
  }
}
/* Parallax effect for slideshow background */
.parallax-bg {
  background-attachment: fixed;
  background-size: cover;
  background-position: center center;
  position: relative;
  z-index: 1;
}
.parallax-bg .g-slideshow-slider {
  position: relative;
  z-index: 2;
}
.parallax-bg::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  /* optional dark overlay for contrast */
  z-index: 1;
}
div#g-page-surround {
  margin: 0rem !important;
}
div#slideshow-4169-particle {
  padding-left: 0;
  padding-right: 0;
  margin-left: 0;
  margin-right: 0;
}
/* Fidget Blue Top Bar Styling */
.topbarblue {
  background-color: #009EB9;
  color: #fff;
  padding: 0.5rem 1rem;
  font-size: 0.95rem;
  text-align: center;
}
/* Optional: style links inside the top bar */
.topbarblue a {
  color: #fff;
  font-weight: 600;
  text-decoration: underline;
}
.topbarblue a:hover {
  text-decoration: none;
  color: #cceff5;
}
/* Reduce inner spacing of g-content inside the topbar */
.topbarblue .g-content {
  margin: 0 !important;
  padding: 0.5rem 1rem !important;
  /* adjust as needed */
}
@media (max-width: 768px) {
  .topbarblue .g-content {
    padding: 0.4rem 0.8rem !important;
  }
}
div#heading-3283-particle {
  background-color: #009EB9;
  margin: 0;
  color: white;
  text-align: center;
}
.backgroundfidgetgrey {
  background-color: #e9e9e9;
}
.backgroundfidgetgray {
  background-color: #e9e9e9 !important;
}
.backgroundfidgetpurple {
  background-color: #6b1b56;
}
.backgroundfidgetblue {
  background-color: #009eb9 !important;
}
.nopadding {
  padding: 0px;
}
.nomargin {
  margin: 0px;
}
div#swiper-9208-particle {
  padding: 0px;
  margin: 0px;
}
div#heading-5651-particle {
  padding-bottom: 0px;
  margin-bottom: 0px;
}
.hptitlewhite {
  color: white;
}
div#custom-4472-particle {
  padding: 0px;
  margin: 0px;
  text-align: center;
}
.fidget-outline-btn {
  display: inline-block;
  padding: 0.6rem 1.2rem;
  border: 2px solid #fff;
  background: #009eb9;
  color: #fff;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 0.95rem;
  border-radius: 0;
  /* make it square */
  transition: all 0.3s ease;
  text-decoration: none;
  margin-bottom: 15px;
}
.fidget-outline-btn:hover {
  background-color: #6B1B56;
  /* Fidget purple */
  border: 2px solid #fff;
  /* keep border on hover */
  color: #fff;
  text-decoration: none;
}
.g-activities .g-activities-item {
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}
/* Accordion button headers */
.fidgetaccordions [data-rlta-element="button"] {
  background: #009EB9 !important;
  color: #fff !important;
  font-weight: bold !important;
  padding: 1rem 1.5rem !important;
  font-size: 1.1rem !important;
  cursor: pointer !important;
  border-bottom: 2px solid #ffffff22 !important;
  margin: 0 !important;
  transition: background 0.3s ease !important;
  text-transform: none !important;
  border-radius: 0 !important;
}
/* On hover or active */
.fidgetaccordions [data-rlta-element="button"]:hover, .fidgetaccordions [data-rlta-element="button"][data-rlta-state="open"], .fidgetaccordions [data-rlta-element="button"][aria-expanded="true"] {
  background: #6B1B56 !important;
  color: #fff !important;
}
/* Accordion content panel */
.fidgetaccordions [data-rlta-element="panel-content"] {
  background: #fff !important;
  padding: 1rem 1.5rem !important;
  font-size: 1rem !important;
  color: #222 !important;
  border-left: 2px solid #6B1B56 !important;
  border-right: 2px solid #6B1B56 !important;
  border-bottom: 2px solid #6B1B56 !important;
}
/* Kill unwanted purple border on open accordion panels */
.fidgetaccordions [data-rlta-element="panel"] {
  border: none !important;
  box-shadow: none !important;
}
/* Restore nice outer border */
.fidgetaccordions [data-rlta-element="panel"] {
  border-left: 2px solid #6B1B56 !important;
  border-right: 2px solid #6B1B56 !important;
  border-bottom: 2px solid #6B1B56 !important;
  border-top: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
/* Remove the inner thin purple box */
.fidgetaccordions [data-rlta-element="panel-content"] {
  border: none !important;
  box-shadow: none !important;
  padding: 1rem 1.5rem !important;
  font-size: 1rem !important;
  background: #fff !important;
  color: #222 !important;
}
/* Fidget Colours */
.graybg {
  background-color: #e9e9e9;
}
.purplebg {
  background-color: #6b1b56;
}
.bluebg {
  background-color: #009eb9;
}
.aboutpage #g-header {
  background: #e9e9e9 !important;
}
#g-extension {
  clip-path: none !important;
}
.meet-your-engineer {
  padding: 2rem 0;
}
.meet-your-engineer .g-title {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
}
.engineer-tag {
  display: inline-block;
  background-color: #00a8c6;
  color: #fff;
  font-weight: 600;
  padding: 0.3rem 0.75rem;
  border-radius: 0.25rem;
  margin-bottom: 1.5rem;
  font-size: 0.95rem;
}
.engineer-image {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}
.g-title-small {
  font-size: 1.3rem;
  margin-bottom: 1rem;
}
.aboutpage #g-expanded {
  background: #e9e9e9 !important;
}
.hero-banner {
  background-color: #009EB9;
  color: white;
  text-align: center;
  padding: 3rem 1rem;
  border-radius: 6px;
}
.hero-banner h1 {
  font-size: 2.5rem;
  margin-bottom: 0.5rem;
}
.hero-banner p {
  font-size: 1.25rem;
}
.intro-text, .reassurance, .session-process {
  margin: 2rem 0;
  font-size: 1rem;
  color: #333;
}
.benefits-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  justify-content: space-between;
  margin: 2rem 0;
}
.benefit-box {
  flex: 1 1 calc(50% - 2rem);
  background: #f9f9f9;
  padding: 1.5rem;
  border-radius: 6px;
  text-align: center;
  border: 1px solid #ddd;
}
.benefit-box i {
  font-size: 2rem;
  color: #6B1B56;
  margin-bottom: 0.5rem;
}
.benefit-box h3 {
  color: #6B1B56;
  margin-bottom: 0.5rem;
}
.session-process h2 {
  font-size: 1.5rem;
  color: #6B1B56;
  margin-bottom: 1rem;
}
.session-process ol {
  padding-left: 1.5rem;
  color: #444;
}
.cta-block {
  text-align: center;
  margin-top: 2rem;
}
/* Target the header image area only on service pages */
body.servicespage #g-header {
  padding: 0 !important;
  background-color: transparent;
}
body.servicespage #g-header img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  display: block;
  margin: 0 auto;
  border-bottom: 2px solid #ddd;
  /* Optional: a subtle divider */
}
/* Optional tweak for mobile */
@media (max-width: 768px) {
  body.servicespage #g-header img {
    height: 180px;
  }
}
.servicespage #g-header .g-content {
  padding: 0 !important;
  margin: 0 !important;
}
.service-hero-box {
  background: #009EB9;
  color: white;
  padding: 2rem;
  text-align: center;
  border-radius: 6px;
  margin-bottom: 2rem;
}
.service-hero-box h2 {
  font-size: 2rem;
  margin-bottom: 0.5rem;
}
.service-hero-box p {
  font-size: 1.1rem;
  margin: 0;
}
.feature-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  margin: 2rem 0;
  justify-content: center;
}
.feature-box {
  background: #f9f9f9;
  border: 1px solid #e3e3e3;
  border-radius: 6px;
  padding: 1.5rem;
  flex: 1 1 250px;
  max-width: 300px;
  text-align: center;
  transition: box-shadow 0.3s ease;
}
.feature-box:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}
.feature-box i {
  font-size: 2rem;
  color: #6B1B56;
  margin-bottom: 1rem;
  display: inline-block;
}
.feature-box h3 {
  color: #6B1B56;
  margin-bottom: 0.5rem;
}
.feature-box p {
  font-size: 0.95rem;
  color: #444;
}
.callout-text {
  margin-top: 2rem;
  font-size: 1rem;
  font-weight: bold;
  text-align: center;
  color: #6B1B56;
}
.services-overview {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  justify-content: center;
  margin-top: 2rem;
}
.services-overview .service-box {
  background: #fff;
  padding: 1.5rem;
  text-align: center;
  border: 1px solid #ddd;
  border-radius: 8px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.services-overview .service-box:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
}
.services-overview .icon {
  font-size: 2.5rem;
  color: #009EB9;
  margin-bottom: 1rem;
}
.services-overview h2 {
  font-size: 1.3rem;
  color: #6B1B56;
  margin-bottom: 0.5rem;
}
.services-overview p {
  margin-bottom: 1rem;
  font-size: 0.95rem;
  color: #444;
}
.button-outline {
  display: inline-block;
  padding: 0.5rem 1rem;
  border: 2px solid #009EB9;
  color: #009EB9;
  text-decoration: none;
  transition: all 0.3s ease;
  font-weight: bold;
  border-radius: 4px;
}
.button-outline:hover {
  background-color: #6B1B56;
  border-color: #6B1B56;
  color: #fff;
}
@media (max-width: 767px) {
  .services-overview .g-block.size-33 {
    width: 100% !important;
  }
}
/* Base menu item */
.g-main-nav .g-menu-item-container {
  padding: 0.8rem 1rem;
  transition: all 0.3s ease;
  border: 2px solid transparent;
  color: #333;
  display: inline-block;
}
/* Hover effect */
.g-main-nav .g-menu-item-container:hover {
  background-color: #BB2727;
  border-color: #BB2727;
  color: #fff !important;
}
/* Active item style */
.g-main-nav .g-menu-item.active > .g-menu-item-container, .g-main-nav .g-menu-item-container.active {
  border: 2px solid #BB2727;
  color: #BB2727 !important;
  background: transparent;
  font-weight: bold;
}
.g-main-nav .g-toplevel > li {
  margin-left: 4px;
  margin-right: 4px;
}
/* Dropdown items */
.g-sublevel .g-menu-item-container {
  border: none;
  padding: 0.7rem 1rem;
  transition: all 0.3s ease;
}
.g-sublevel .g-menu-item-container:hover {
  background-color: #BB2727;
  color: #fff !important;
}
/* Active dropdown item */
.g-sublevel .g-menu-item.active > .g-menu-item-container {
  background-color: #fff;
  border: 2px solid #BB2727;
  color: #C52525 !important;
}
/* === ABOUT PAGE STYLES (Scoped to .about2) === */
.about2 .hero-banner-image {
  background: url('../../../../images/about-banner.jpg') no-repeat center center;
  background-size: cover;
  text-align: center;
  position: relative;
  color: white;
}
.about2 .hero-banner-text {
  background: rgba(0, 0, 0, 0.5);
  display: inline-block;
  padding: 1.5rem 2rem;
  border-radius: 8px;
}
.about2 .hero-banner-text h1 {
  font-size: 2.8rem;
  margin-bottom: 0.5rem;
}
.about2 .hero-banner-text p {
  font-size: 1.25rem;
  margin: 0;
}
/* Page Section Text */
.about2 .intro-text {
  margin-bottom: 2rem;
  font-size: 1rem;
  line-height: 1.6;
}
/* Feature Boxes */
.about2.about-feature-section {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 3rem 1.5rem;
  max-width: 1000px;
  margin: 0 auto;
  background: #f4f4f4;
  border-top: 2px solid #eee;
  border-bottom: 2px solid #eee;
}
.about2 .about-feature-box {
  flex: 1 1 calc(50% - 1.5rem);
  background: white;
  border-radius: 8px;
  padding: 1.5rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  display: flex;
  align-items: center;
  gap: 1rem;
}
.about2 .feature-icon {
  font-size: 2rem;
  color: #009EB9;
  flex-shrink: 0;
}
.about2 .feature-text h3 {
  margin: 0 0 0.25rem;
  color: #6B1B56;
  font-size: 1.15rem;
}
.about2 .feature-text p {
  margin: 0;
  font-size: 0.95rem;
  color: #444;
}
/* Reassurance Block */
.about2 .about-footer {
  max-width: 900px;
  margin: 3rem auto;
  padding: 2rem 1.5rem;
  background: #fafafa;
}
.about2 .reassurance {
  font-size: 1rem;
  color: #333;
  margin-bottom: 2rem;
  line-height: 1.6;
}
.about2 .cta-block {
  text-align: center;
}
.about2 .cta-block .button {
  background: #009EB9;
  color: white;
  padding: 0.75rem 1.5rem;
  font-weight: bold;
  border: none;
  border-radius: 4px;
  text-decoration: none;
  transition: background 0.3s ease;
}
.about2 .cta-block .button:hover {
  background: #6B1B56;
}
body.barrydiston #g-header {
  padding: 0 !important;
  background-color: transparent;
}
body.barrydiston #g-header img {
  width: 100%;
  height: 600px;
  /* Increased height just for this page */
  object-fit: cover;
  display: block;
  margin: 0 auto;
  border-bottom: 2px solid #ddd;
}
@media (max-width: 768px) {
  body.barrydiston #g-header img {
    height: 260px;
    /* Adjusted for smaller screens */
  }
}
.slider_viewport img {
  filter: grayscale(100%) brightness(0.5);
  opacity: 0.8;
  transition: filter 0.3s ease, opacity 0.3s ease;
}
.slider_viewport img:hover {
  filter: grayscale(0%) brightness(1);
  opacity: 1;
}
.slider_viewport img {
  filter: grayscale(100%);
  opacity: 0.9;
  transition: opacity 0.3s ease;
}
.slider_viewport img:hover {
  opacity: 1;
  filter: grayscale(0%);
}
.isds_146 .slider_item {
  text-align: center !important;
  padding: 10px !important;
  box-sizing: border-box !important;
}
.isds_146 .slider_item img {
  max-height: 130px !important;
  /* or whatever height suits your layout */
  height: auto !important;
  width: auto !important;
  display: inline-block !important;
  vertical-align: middle !important;
  object-fit: contain !important;
}
.home-key-boxes {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px;
}
.key-box {
  flex: 1 1 calc(25% - 20px);
  background: #f9f9f9;
  padding: 20px;
  border-radius: 12px;
  text-align: center;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
  transition: transform 0.3s ease;
}
.key-box:hover {
  transform: translateY(-5px);
}
.key-box h3 {
  font-size: 1.2rem;
  margin-bottom: 10px;
  color: #d23030;
}
.key-box p {
  font-size: 1rem;
  color: #333;
}
/* Responsive tweaks */
@media (max-width: 991px) {
  .key-box {
    flex: 1 1 calc(50% - 20px);
  }
}
@media (max-width: 600px) {
  .key-box {
    flex: 1 1 100%;
  }
}
.nomargin .g-simplecontent .g-simplecontent-item-main-content {
  margin: 10px;
}
.youtube-placeholder {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  /* 16:9 Aspect Ratio */
  cursor: pointer;
  background-color: #000;
  overflow: hidden;
}
.youtube-placeholder img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.youtube-placeholder .play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 64px;
  height: 64px;
  background: rgba(0, 0, 0, 0.6);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.youtube-placeholder .play-button::before {
  content: "";
  display: block;
  margin-left: 5px;
  width: 0;
  height: 0;
  border-left: 20px solid white;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
}
.youtube-placeholder iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  border: none;
}
.g-latestnews-grid-item-content {
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 1rem;
  background: rgba(0, 0, 0, 0.55);
  /* semi-transparent black */
  color: #fff;
  /* text color for contrast */
  z-index: 2;
  transition: background 0.3s ease;
}
.g-latestnews-grid-item:hover .g-latestnews-grid-item-content {
  background: rgba(0, 0, 0, 0.75);
  /* darker on hover */
}
.news-article {
  max-width: 900px;
  margin: 0rem auto;
  padding: 0rem;
  font-family: "Helvetica Neue", sans-serif;
}
.news-hero img {
  width: 100%;
  max-height: 500px;
  object-fit: cover;
  border-radius: 10px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);
  margin-bottom: 2rem;
}
.news-content {
  background: #fff;
  padding: 2rem;
  border-radius: 10px;
  line-height: 1.7;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.05);
}
.news-content h1 {
  font-size: 2rem;
  margin-bottom: 1.5rem;
  color: #222;
}
.news-content em {
  font-style: italic;
  color: #555;
}
@media (max-width: 767.98px) {
  body.latestnews #g-mainbar .g-content {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
.news-article--sideimage {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 2rem;
}
.news-article--sideimage .news-content {
  flex: 1 1 60%;
}
.news-article--sideimage .side-image {
  flex: 1 1 35%;
}
@media (max-width: 768px) {
  .news-article--sideimage {
    flex-direction: column;
  }
  .news-article--sideimage .side-image, .news-article--sideimage .news-content {
    flex: 1 1 100%;
  }
}
.latestnews .g-latestnews-grid-pattern {
  display: none;
}
.latestnews .g-latestnews-grid-item-image img {
  filter: none !important;
  transition: transform 0.3s ease;
}
.latestnews .g-latestnews-grid-item-image:hover img {
  transform: scale(1.03);
  filter: brightness(1.1);
}
.latestnews .g-latestnews-grid-item {
  padding: 10px;
}
.latestnews .g-latestnews-grid {
  gap: 20px;
  justify-content: space-evenly;
}
/* Remove angled clip path for latest news images */
.g-latestnews .g-latestnews-grid.g-latestnews-clip-path .g-latestnews-grid-item-image {
  clip-path: none !important;
  -webkit-clip-path: none !important;
  overflow: hidden;
  border-radius: 6px;
  /* optional: soft corners */
}
.g-latestnews .g-latestnews-grid-item-image img {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.g-latestnews .g-latestnews-grid-item:hover .g-latestnews-grid-item-image img {
  transform: scale(1.03);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}
/* Keep activity images in full color (disable grayscale) */
.g-activities-item img {
  filter: none !important;
  transition: transform 0.3s ease;
  /* Optional: keep a subtle hover effect */
}
.g-activities-item:hover img {
  transform: scale(1.03);
  /* Optional zoom on hover */
}
@media (max-width: 768px) {
  /* Keep activity images in full color */
  /* Optional zoom on tap */
  /* Add spacing below each block */
  .g-activities-item img {
    filter: none !important;
    transition: transform 0.3s ease;
  }
  .g-activities-item:hover img {
    transform: scale(1.03);
  }
  .g-activities-item {
    margin-bottom: 20px;
  }
}
div#button-9289-particle {
  text-align: center;
}
.acoustic-measurements {
  display: grid;
  gap: 2rem;
  margin: 2rem 0;
}
.acoustic-measurements figure {
  text-align: center;
}
.acoustic-measurements img {
  max-width: 100%;
  border-radius: 12px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
}
/* Purple button variant */
.btn-purple {
  background-color: #6B1B56;
  /* Fidget purple */
  border: 2px solid #6B1B56;
  color: #fff;
  transition: all 0.25s ease;
}
/* Hover state: white background + purple text */
.btn-purple:hover, .btn-purple:focus {
  background-color: #fff;
  color: #6B1B56;
  border: 2px solid #6B1B56;
}
/* =========================================
   Newsletter (RSForm) – match template style
   ========================================= */
.newsletter-inline .formContainer {
  margin: 0;
}
/* Put the email and button on one line (desktop) */
.newsletter-inline .formContainer .row {
  display: flex;
  align-items: center;
  gap: 1rem;
}
/* Hide the label to match the template’s placeholder-only look */
.newsletter-inline .rsform-block-email .formControlLabel {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
/* Input: underline-only, no box, same feel as template */
.newsletter-inline .rsform-block-email .formControls input[type="email"], .newsletter-inline .rsform-block-email .formControls input[type="text"] {
  width: min(420px, 100%);
  padding: 0.75rem 0 0.6rem;
  border: 0;
  border-bottom: 2px solid #e6eaea;
  /* light underline */
  border-radius: 0;
  outline: none;
  background: transparent;
  box-shadow: none;
  font-size: 1rem;
}
.newsletter-inline .rsform-block-email .formControls input:focus {
  border-bottom-color: #00a6b2;
  /* your teal */
}
/* Placeholder color to match template vibe */
.newsletter-inline .rsform-block-email .formControls input::placeholder {
  color: #7a8a90;
}
/* Validation message style (small + subtle) */
.newsletter-inline .rsform-block-email .formValidation {
  display: block;
  margin-top: 0.4rem;
  font-size: 0.85rem;
  color: #b3261e;
  /* error red */
}
/* Button: outline teal like the template “Subscribe” */
.newsletter-inline .rsform-block-signup .formControlLabel {
  display: none;
}
.newsletter-inline .rsform-block-signup .formControls input[type="submit"], .newsletter-inline .rsform-block-signup .formControls button[type="submit"] {
  display: inline-block;
  padding: 0.55rem 1rem;
  border: 2px solid #00a6b2;
  background: transparent;
  color: #00a6b2;
  font-weight: 700;
  border-radius: 4px;
  line-height: 1;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
  cursor: pointer;
}
.newsletter-inline .rsform-block-signup .formControls input[type="submit"]:hover, .newsletter-inline .rsform-block-signup .formControls button[type="submit"]:hover {
  background: #00a6b2;
  color: #fff;
}
/* Stack nicely on small screens */
@media (max-width: 640px) {
  .newsletter-inline .formContainer .row {
    flex-direction: column;
    align-items: stretch;
  }
  .newsletter-inline .rsform-block-signup .formControls input[type="submit"], .newsletter-inline .rsform-block-signup .formControls button[type="submit"] {
    width: fit-content;
  }
}
/* Inline layout like the template */
.newsletter-inline .formContainer .row, .newsletter-inline .formContainer .col-md-12 {
  display: flex;
  align-items: center;
  gap: 1rem;
  /* space between input and button */
  flex-wrap: nowrap;
  /* keep on one line on wider screens */
}
/* Kill RSForm's default block margins so the button doesn't drop */
.newsletter-inline .formContainer .mb-3 {
  margin: 0;
}
/* Hide labels/captions (we use the placeholder) */
.newsletter-inline .rsform-block-email .formControlLabel, .newsletter-inline .rsform-block-signup .formControlLabel {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
/* Input: underline style to match the template */
.newsletter-inline .rsform-block-email .formControls input[type="email"], .newsletter-inline .rsform-block-email .formControls input[type="text"] {
  flex: 1 1 420px;
  /* grow but cap at ~420px feel */
  max-width: 420px;
  padding: 0.75rem 0 0.6rem;
  border: 0;
  border-bottom: 2px solid #e6eaea;
  border-radius: 0;
  background: transparent;
  outline: none;
  box-shadow: none;
  font-size: 1rem;
}
.newsletter-inline .rsform-block-email .formControls input:focus {
  border-bottom-color: #00a6b2;
}
.newsletter-inline .rsform-block-email .formControls input::placeholder {
  color: #7a8a90;
}
/* Submit: outline teal, like the template button */
.newsletter-inline .rsform-block-signup .formControls input[type="submit"], .newsletter-inline .rsform-block-signup .formControls button[type="submit"] {
  display: inline-block;
  padding: 0.55rem 1rem;
  border: 2px solid #00a6b2;
  background: transparent;
  color: #00a6b2;
  font-weight: 700;
  border-radius: 4px;
  line-height: 1;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
  white-space: nowrap;
  /* keeps “Subscribe” on one line */
}
.newsletter-inline .rsform-block-signup .formControls input[type="submit"]:hover, .newsletter-inline .rsform-block-signup .formControls button[type="submit"]:hover {
  background: #00a6b2;
  color: #fff;
}
/* Validation message (small & subtle, under the input) */
.newsletter-inline .rsform-block-email .formValidation {
  display: block;
  margin-top: 0.4rem;
  font-size: 0.85rem;
  color: #b3261e;
}
/* Stack nicely on small screens */
@media (max-width: 640px) {
  .newsletter-inline .formContainer .row, .newsletter-inline .formContainer .col-md-12 {
    flex-wrap: wrap;
    /* allow stacking */
  }
  .newsletter-inline .rsform-block-email, .newsletter-inline .rsform-block-signup {
    width: 100%;
  }
  .newsletter-inline .rsform-block-signup .formControls input[type="submit"], .newsletter-inline .rsform-block-signup .formControls button[type="submit"] {
    margin-top: 0.75rem;
  }
}
/* Optional: hide the form title if RSForm outputs <h2>{global:formtitle}</h2> */
.newsletter-inline h2 {
  display: none;
}
/* Center the whole newsletter form horizontally */
.newsletter-inline .formContainer {
  display: flex;
  justify-content: center;
}
/* Make sure the inner row doesn’t stretch full width */
.newsletter-inline .formContainer .row {
  justify-content: center;
  width: auto;
}
/* Optional: nudge the input+button a little closer together visually */
.newsletter-inline .formContainer .row, .newsletter-inline .formContainer .col-md-12 {
  gap: 0.75rem;
}
/* =====================================
   Global fix: reduce side padding on main content
   ===================================== */
#g-mainbar .platform-content.container {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
/*# sourceMappingURL=custom_335.css.map */