/* 
 * 	Core Owl Carousel CSS File
 *	v1.3.2
 */
/* clearfix */
.owl-carousel .owl-wrapper:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}

/* display none until init */
.owl-carousel {
  display: none;
  position: relative;
  width: 100%;
  -ms-touch-action: pan-y;
}

.owl-carousel .owl-wrapper {
  display: none;
  position: relative;
  -webkit-transform: translate3d(0px, 0px, 0px);
}

.owl-carousel .owl-wrapper-outer {
  overflow: hidden;
  position: relative;
  width: 100%;
}

.owl-carousel .owl-wrapper-outer.autoHeight {
  -webkit-transition: height 500ms ease-in-out;
  -moz-transition: height 500ms ease-in-out;
  -ms-transition: height 500ms ease-in-out;
  -o-transition: height 500ms ease-in-out;
  transition: height 500ms ease-in-out;
}

.owl-carousel .owl-item {
  float: left;
}

.owl-controls .owl-page,
.owl-controls .owl-buttons div {
  cursor: pointer;
}

.owl-controls {
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

/* mouse grab icon */
.grabbing {
  cursor: url(../images/grabbing.png) 8 8, move;
}

/* fix */
.owl-carousel .owl-wrapper,
.owl-carousel .owl-item {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
}

/*
* 	Owl Carousel Owl Demo Theme 
*	v1.3.2
*/
.owl-theme .owl-controls {
  margin-top: 10px;
  text-align: center;
}

/* Styling Next and Prev buttons */
.owl-theme .owl-controls .owl-buttons div {
  color: #31373a;
  display: inline-block;
  zoom: 1;
  *display: inline;
  /*IE7 life-saver */
  background: white;
  filter: Alpha(Opacity=30);
  /*IE7 fix*/
  opacity: 0.3;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

/* Clickable class fix problem with hover on touch devices */
/* Use it for non-touch hover action */
.owl-theme .owl-controls.clickable .owl-buttons div:hover {
  filter: Alpha(Opacity=100);
  /*IE7 fix*/
  opacity: 1;
  text-decoration: none;
}

/* Styling Pagination*/
.owl-theme .owl-controls .owl-page {
  display: inline-block;
  zoom: 1;
  *display: inline;
  /*IE7 life-saver */
}

.owl-theme .owl-controls .owl-page span {
  display: block;
  width: 12px;
  height: 12px;
  margin: 5px 7px;
  filter: Alpha(Opacity=50);
  /*IE7 fix*/
  opacity: 0.5;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 20px;
  background: #869791;
}

.owl-theme .owl-controls .owl-page.active span,
.owl-theme .owl-controls.clickable .owl-page:hover span {
  filter: Alpha(Opacity=100);
  /*IE7 fix*/
  opacity: 1;
}

/* If PaginationNumbers is true */
.owl-theme .owl-controls .owl-page span.owl-numbers {
  height: auto;
  width: auto;
  color: #FFF;
  padding: 2px 10px;
  font-size: 12px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
}

/* preloading images */
.owl-item.loading {
  min-height: 150px;
  background: url(../images/AjaxLoader.gif) no-repeat center center;
}

/* 
 *  Owl Carousel CSS3 Transitions 
 *  v1.3.2
 */
.owl-origin {
  -webkit-perspective: 1200px;
  -webkit-perspective-origin-x: 50%;
  -webkit-perspective-origin-y: 50%;
  -moz-perspective: 1200px;
  -moz-perspective-origin-x: 50%;
  -moz-perspective-origin-y: 50%;
  perspective: 1200px;
}

/* fade */
.owl-fade-out {
  z-index: 10;
  -webkit-animation: fadeOut .7s both ease;
  -moz-animation: fadeOut .7s both ease;
  animation: fadeOut .7s both ease;
}

.owl-fade-in {
  -webkit-animation: fadeIn .7s both ease;
  -moz-animation: fadeIn .7s both ease;
  animation: fadeIn .7s both ease;
}

/* backSlide */
.owl-backSlide-out {
  -webkit-animation: backSlideOut 1s both ease;
  -moz-animation: backSlideOut 1s both ease;
  animation: backSlideOut 1s both ease;
}

.owl-backSlide-in {
  -webkit-animation: backSlideIn 1s both ease;
  -moz-animation: backSlideIn 1s both ease;
  animation: backSlideIn 1s both ease;
}

/* goDown */
.owl-goDown-out {
  -webkit-animation: scaleToFade .7s ease both;
  -moz-animation: scaleToFade .7s ease both;
  animation: scaleToFade .7s ease both;
}

.owl-goDown-in {
  -webkit-animation: goDown .6s ease both;
  -moz-animation: goDown .6s ease both;
  animation: goDown .6s ease both;
}

/* scaleUp */
.owl-fadeUp-in {
  -webkit-animation: scaleUpFrom .5s ease both;
  -moz-animation: scaleUpFrom .5s ease both;
  animation: scaleUpFrom .5s ease both;
}

.owl-fadeUp-out {
  -webkit-animation: scaleUpTo .5s ease both;
  -moz-animation: scaleUpTo .5s ease both;
  animation: scaleUpTo .5s ease both;
}

/* Keyframes */
/*empty*/
@-webkit-keyframes empty {
  0% {
    opacity: 1;
  }
}
@-moz-keyframes empty {
  0% {
    opacity: 1;
  }
}
@keyframes empty {
  0% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}
@-moz-keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}
@-moz-keyframes fadeOut {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}
@-webkit-keyframes backSlideOut {
  25% {
    opacity: .5;
    -webkit-transform: translateZ(-500px);
  }

  75% {
    opacity: .5;
    -webkit-transform: translateZ(-500px) translateX(-200%);
  }

  100% {
    opacity: .5;
    -webkit-transform: translateZ(-500px) translateX(-200%);
  }
}
@-moz-keyframes backSlideOut {
  25% {
    opacity: .5;
    -moz-transform: translateZ(-500px);
  }

  75% {
    opacity: .5;
    -moz-transform: translateZ(-500px) translateX(-200%);
  }

  100% {
    opacity: .5;
    -moz-transform: translateZ(-500px) translateX(-200%);
  }
}
@keyframes backSlideOut {
  25% {
    opacity: .5;
    transform: translateZ(-500px);
  }

  75% {
    opacity: .5;
    transform: translateZ(-500px) translateX(-200%);
  }

  100% {
    opacity: .5;
    transform: translateZ(-500px) translateX(-200%);
  }
}
@-webkit-keyframes backSlideIn {
  0%, 25% {
    opacity: .5;
    -webkit-transform: translateZ(-500px) translateX(200%);
  }

  75% {
    opacity: .5;
    -webkit-transform: translateZ(-500px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateZ(0) translateX(0);
  }
}
@-moz-keyframes backSlideIn {
  0%, 25% {
    opacity: .5;
    -moz-transform: translateZ(-500px) translateX(200%);
  }

  75% {
    opacity: .5;
    -moz-transform: translateZ(-500px);
  }

  100% {
    opacity: 1;
    -moz-transform: translateZ(0) translateX(0);
  }
}
@keyframes backSlideIn {
  0%, 25% {
    opacity: .5;
    transform: translateZ(-500px) translateX(200%);
  }

  75% {
    opacity: .5;
    transform: translateZ(-500px);
  }

  100% {
    opacity: 1;
    transform: translateZ(0) translateX(0);
  }
}
@-webkit-keyframes scaleToFade {
  to {
    opacity: 0;
    -webkit-transform: scale(0.8);
  }
}
@-moz-keyframes scaleToFade {
  to {
    opacity: 0;
    -moz-transform: scale(0.8);
  }
}
@keyframes scaleToFade {
  to {
    opacity: 0;
    transform: scale(0.8);
  }
}
@-webkit-keyframes goDown {
  from {
    -webkit-transform: translateY(-100%);
  }
}
@-moz-keyframes goDown {
  from {
    -moz-transform: translateY(-100%);
  }
}
@keyframes goDown {
  from {
    transform: translateY(-100%);
  }
}
@-webkit-keyframes scaleUpFrom {
  from {
    opacity: 0;
    -webkit-transform: scale(1.5);
  }
}
@-moz-keyframes scaleUpFrom {
  from {
    opacity: 0;
    -moz-transform: scale(1.5);
  }
}
@keyframes scaleUpFrom {
  from {
    opacity: 0;
    transform: scale(1.5);
  }
}
@-webkit-keyframes scaleUpTo {
  to {
    opacity: 0;
    -webkit-transform: scale(1.5);
  }
}
@-moz-keyframes scaleUpTo {
  to {
    opacity: 0;
    -moz-transform: scale(1.5);
  }
}
@keyframes scaleUpTo {
  to {
    opacity: 0;
    transform: scale(1.5);
  }
}
/**
 * BxSlider v4.0 - Fully loaded, responsive content slider
 * http://bxslider.com
 *
 * Written by: Steven Wanderski, 2012
 * http://stevenwanderski.com
 * (while drinking Belgian ales and listening to jazz)
 *
 * CEO and founder of bxCreative, LTD
 * http://bxcreative.com
 */
/** RESET AND LAYOUT
===================================*/
.bx-wrapper {
  position: relative;
  margin: 0 auto;
  padding: 0;
  *zoom: 1;
}

.bx-wrapper img {
  max-width: 100%;
  display: block;
}

/** THEME
===================================*/
.bx-wrapper .bx-viewport {
  left: -5px;
}

.bx-wrapper .bx-pager,
.bx-wrapper .bx-controls-auto {
  position: absolute;
  width: 100%;
}

/* LOADER */
.bx-wrapper .bx-loading {
  min-height: 50px;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2000;
}

/* PAGER */
.bx-wrapper .bx-pager {
  text-align: center;
}

.bx-wrapper .bx-pager .bx-pager-item,
.bx-wrapper .bx-controls-auto .bx-controls-auto-item {
  display: inline-block;
  *zoom: 1;
  *display: inline;
}

/* PAGER WITH AUTO-CONTROLS HYBRID LAYOUT */
.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-pager {
  text-align: left;
  width: 80%;
}

.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-controls-auto {
  right: 0;
  width: 35px;
}

/*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */
.fancybox-wrap,
.fancybox-skin,
.fancybox-outer,
.fancybox-inner,
.fancybox-image,
.fancybox-wrap iframe,
.fancybox-wrap object,
.fancybox-nav,
.fancybox-nav span,
.fancybox-tmp {
  padding: 0;
  margin: 0;
  border: 0;
  outline: none;
  vertical-align: top;
}

.fancybox-wrap {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 99999;
}

.fancybox-skin {
  position: relative;
  background: #fff;
  color: #444;
  text-shadow: none;
}

.fancybox-opened {
  z-index: 99999;
}

.fancybox-outer, .fancybox-inner {
  position: relative;
}

.fancybox-inner {
  overflow: hidden;
}

.fancybox-type-iframe .fancybox-inner {
  -webkit-overflow-scrolling: touch;
}

.fancybox-error {
  color: #444;
  font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
  margin: 0;
  padding: 5px;
  white-space: nowrap;
}

.fancybox-image, .fancybox-iframe {
  display: block;
  width: 100%;
  height: 100%;
}

.fancybox-image {
  max-width: 100%;
  max-height: 100%;
}

#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
  background-image: url("../images/fancybox_sprite.png");
}

#fancybox-loading {
  position: fixed;
  top: 50%;
  left: 50%;
  margin-top: -22px;
  margin-left: -22px;
  background-position: 0 -108px;
  opacity: 0.8;
  cursor: pointer;
  z-index: 99999;
}

#fancybox-loading div {
  width: 44px;
  height: 44px;
  background: url("../images/fancybox_loading.gif") center center no-repeat;
}

.fancybox-close {
  position: absolute;
  top: -18px;
  right: -18px;
  width: 36px;
  height: 36px;
  cursor: pointer;
  z-index: 99999;
}

.fancybox-nav {
  position: absolute;
  top: 0;
  width: 40%;
  height: 100%;
  cursor: pointer;
  text-decoration: none;
  background: transparent url("../images/blank.gif");
  /* helps IE */
  -webkit-tap-highlight-color: transparent;
  z-index: 99999;
}

.fancybox-prev {
  left: 0;
}

.fancybox-next {
  right: 0;
}

.fancybox-nav span {
  position: absolute;
  top: 50%;
  width: 36px;
  height: 34px;
  margin-top: -18px;
  cursor: pointer;
  z-index: 99999;
  visibility: hidden;
}

.fancybox-prev span {
  left: 10px;
  background-position: 0 -36px;
}

.fancybox-next span {
  right: 10px;
  background-position: 0 -72px;
}

.fancybox-nav:hover span {
  visibility: visible;
}

.fancybox-tmp {
  position: absolute;
  top: -99999px;
  left: -99999px;
  visibility: hidden;
  max-width: 99999px;
  max-height: 99999px;
  overflow: visible !important;
}

/* Overlay helper */
.fancybox-lock {
  overflow: hidden !important;
  width: auto;
}

.fancybox-lock body {
  overflow: hidden !important;
}

.fancybox-lock-test {
  overflow-y: hidden !important;
}

.fancybox-overlay {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  display: none;
  z-index: 99998;
  background: rgba(0, 0, 0, 0.9);
}

.fancybox-overlay-fixed {
  position: fixed;
  bottom: 0;
  right: 0;
}

.fancybox-lock .fancybox-overlay {
  overflow: auto;
  overflow-y: scroll;
}

/* Title helper */
.fancybox-title {
  visibility: hidden;
  font-weight: normal;
  position: relative;
  text-shadow: none;
  z-index: 99999;
}

.fancybox-opened .fancybox-title {
  visibility: visible;
}

.fancybox-title-float-wrap {
  position: absolute;
  bottom: 0;
  right: 50%;
  margin-bottom: -35px;
  z-index: 99999;
  text-align: center;
}

.fancybox-title-float-wrap .child {
  display: inline-block;
  margin-right: -100%;
  padding: 2px 20px;
  background: transparent;
  /* Fallback for web browsers that doesn't support RGBa */
  background: rgba(0, 0, 0, 0.8);
  color: #FFF;
  font-weight: bold;
  line-height: 24px;
  white-space: nowrap;
}

.fancybox-title-outside-wrap {
  position: relative;
  margin-top: 10px;
  color: #fff;
}

.fancybox-title-inside-wrap {
  padding-top: 10px;
}

.fancybox-title-over-wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  color: #fff;
  padding: 10px;
  background: #000;
  background: rgba(0, 0, 0, 0.8);
}

/*Retina graphics!*/
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
  #fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
    background-image: url("../images/fancybox_sprite@2x.png");
    background-size: 44px 152px;
    /*The size of the normal image, half the size of the hi-res image*/
  }

  #fancybox-loading div {
    background-image: url("../images/fancybox_loading@2x.gif");
    background-size: 24px 24px;
    /*The size of the normal image, half the size of the hi-res image*/
  }
}
/*
 * jQuery FlexSlider v2.2.0
 * http://www.woothemes.com/flexslider/
 *
 * Copyright 2012 WooThemes
 * Free to use under the GPLv2 license.
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Contributing author: Tyler Smith (@mbmufffin)
 */
/* Browser Resets
*********************************/
.flex-container a:active,
.flexslider a:active,
.flex-container a:focus,
.flexslider a:focus {
  outline: none;
}

.slides,
.flex-control-nav,
.flex-direction-nav {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Icon Fonts
*********************************/
/* Font-face Icons */
@font-face {
  font-family: 'FontAwesome';
  src: url("../bootstrap/fonts/fontawesome-webfont.eot");
  src: url("../bootstrap/fonts/fontawesome-webfont.eot?#iefix") format("embedded-opentype"), url("../bootstrap/fonts/fontawesome-webfont.woff") format("woff"), url("../bootstrap/fonts/fontawesome-webfont.ttf") format("truetype"), url("../bootstrap/fonts/fontawesome-webfont.svg#fontawesome-webfont") format("svg");
  font-weight: normal;
  font-style: normal;
}
/* FlexSlider Necessary Styles
*********************************/
.flexslider {
  margin: 0;
  padding: 0;
}

.flexslider .slides > li {
  display: none;
  -webkit-backface-visibility: hidden;
}

/* Hide the slides before the JS is loaded. Avoids image jumping */
.flexslider .slides img {
  width: 100%;
  display: block;
}

.flex-pauseplay span {
  text-transform: capitalize;
}

/* Clearfix for the .slides element */
.slides:after {
  content: "\0020";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}

html[xmlns] .slides {
  display: block;
}

* html .slides {
  height: 1%;
}

/* No JavaScript Fallback */
/* If you are not using another script, such as Modernizr, make sure you
 * include js that eliminates this class on page load */
.no-js .slides > li:first-child {
  display: block;
}

/* FlexSlider Default Theme
*********************************/
.flexslider {
  position: relative;
  zoom: 1;
}

.flex-viewport {
  max-height: 2000px;
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -o-transition: all 1s ease;
  transition: all 1s ease;
}

.loading .flex-viewport {
  max-height: 300px;
}

.flexslider .slides {
  zoom: 1;
}

.carousel li {
  margin-right: 5px;
}

/* Direction Nav */
.flex-direction-nav {
  *height: 0;
}

.flex-direction-nav a {
  display: block;
  margin: -22px 0 0;
  position: absolute;
  top: 50%;
  z-index: 10;
  cursor: pointer;
}

.flex-direction-nav .flex-prev {
  left: 0px;
}

.flex-direction-nav .flex-next {
  right: 0px;
  text-align: right;
}

.flexslider:hover .flex-prev {
  opacity: 1;
  left: 0;
}

.flexslider:hover .flex-next {
  opacity: 1;
  right: 0;
}

.flexslider:hover .flex-next:hover, .flexslider:hover .flex-prev:hover {
  opacity: 1;
}

.flex-direction-nav .flex-disabled {
  opacity: 0 !important;
  filter: alpha(opacity=0);
  cursor: default;
}

.flex-direction-nav a:before {
  font-family: "FontAwesome";
  font-size: 40px;
  display: inline-block;
  content: '\f104';
}

.flex-direction-nav a.flex-next:before {
  content: '\f105';
}

/* Pause/Play */
.flex-pauseplay a {
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  bottom: 5px;
  left: 10px;
  opacity: 0.8;
  z-index: 10;
  overflow: hidden;
  cursor: pointer;
  color: #000;
}

.flex-pauseplay a:before {
  font-family: "FontAwesome";
  font-size: 20px;
  display: inline-block;
  content: '\f004';
}

.flex-pauseplay a:hover {
  opacity: 1;
}

.flex-pauseplay a.flex-play:before {
  content: '\f003';
}

/* Control Nav */
.flex-control-nav {
  width: 100%;
  position: absolute;
  bottom: -40px;
  text-align: center;
}

.flex-control-nav li {
  margin: 0 6px;
  display: inline-block;
  zoom: 1;
  *display: inline;
}

.flex-control-paging li a {
  width: 11px;
  height: 11px;
  display: block;
  background: #666;
  background: rgba(0, 0, 0, 0.5);
  cursor: pointer;
  text-indent: -9999px;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -o-border-radius: 20px;
  border-radius: 20px;
  -webkit-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
  -o-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
  box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
}

.flex-control-paging li a:hover {
  background: #333;
  background: rgba(0, 0, 0, 0.7);
}

.flex-control-paging li a.flex-active {
  background: #000;
  background: rgba(0, 0, 0, 0.9);
  cursor: default;
}

.flex-control-thumbs {
  margin: 5px 0 0;
  position: static;
  overflow: hidden;
}

.flex-control-thumbs li {
  width: 25%;
  float: left;
  margin: 0;
}

.flex-control-thumbs img {
  width: 100%;
  display: block;
  opacity: .7;
  cursor: pointer;
}

.flex-control-thumbs img:hover {
  opacity: 1;
}

.flex-control-thumbs .flex-active {
  opacity: 1;
  cursor: default;
}

  .flex-direction-nav .flex-next {
    opacity: 1;
    right: 10px;
  }

  .container {
    display: flex; /* Or grid, depending on your overall layout */
  }
  
 /* Styling for recent blog posts */
#recent-posts {
  display: flex; /* Arrange posts in a row */
  gap: 20px; /* Space between posts */
  padding: 20px;
  border-top: 1px solid #ccc; /* Separator */
}

.recent-post-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 30%; /* Adjust as needed for layout */
}

.recent-post-image {
  width: 80px; /* Adjust as needed */
  height: auto;
  margin-bottom: 10px;
  border-radius: 5px; /* Optional: rounded corners */
}

.recent-post-date {
  font-size: 0.8em;
  color: #777;
  margin-bottom: 5px;
}

.recent-post-title {
  font-size: 1em;
  margin-bottom: 0;
}
/* Initially hide the responsive menu */
.responsive-navigation .responsive-menu {
  display: none;
  position: absolute;
  top: 100%;
  right: 0;
  background-color: #333; /* Example background */
  z-index: 1000;
  width: auto;
  min-width: 150px;
  text-align: left;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.responsive-navigation.open .responsive-menu {
  display: block;
}

.responsive-navigation .responsive-menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.responsive-navigation .responsive-menu ul li a {
  display: block;
  padding: 10px 15px;
  text-decoration: none;
  color: #fff; /* Example text color */
}

.responsive-navigation .responsive-menu ul li a:hover {
  background-color: #555; /* Example hover color */
}

/* Style the hamburger button */
.responsive-menu-toggle {
  display: none; /* Initially hidden */
  position: absolute;
  top: 0px; /* Adjust as needed */
  right: 20px; /* Adjust as needed */
  background: none;
  border: none;
  cursor: pointer;
  padding: 10px;
  font-size: 24px;
  color: #333; /* Example icon color */
  z-index: 1001; /* Ensure it's above the menu */
}

/* Hide the main navigation and show the hamburger menu on smaller screens */
@media (max-width: 991px) { /* Example breakpoint for tablets */
  .main-navigation {
      display: none !important; /* Force hide */
  }
  .responsive-menu-toggle {
      display: block; /* Show hamburger */
  }
}

/* Show the main navigation and hide the hamburger menu on larger screens */
@media (min-width: 992px) { /* Example breakpoint for desktops */
  .responsive-navigation {
      display: none !important; /* Force hide responsive elements */
  }
}
/* On smaller screens */
@media (max-width: 991px) {
  .main-navigation {
      display: none !important;
  }
  .site-header .container .row > div { /* Target the columns within the header row */
      display: flex; /* Enable flexbox for alignment */
      justify-content: space-between; /* Space out logo and nav */
      align-items: center; /* Vertically align items */
  }
  .responsive-navigation {
      display: block !important;
      position: static; /* No need for absolute here as flexbox handles it */
      text-align: right; /* Align the button to the right within its container */
  }
  .responsive-menu-toggle {
      display: inline-block;
      position: static; /* Remove absolute positioning */
      background: none;
      border: none;
      cursor: pointer;
      padding: 10px;
      font-size: 24px;
      color: #333;
      z-index: 1001;
      margin-left: auto; /* Push to the right */
  }
  .pull-left.logo { /* Ensure logo stays on the left */
      float: left;
  }
  /* ... other styles for responsive-menu ... */
}

/* On larger screens */
@media (min-width: 992px) {
  .responsive-navigation {
      display: none !important;
  }
  .main-navigation {
      display: block !important;
  }
}

/* Styles for the responsive menu dropdown */
.responsive-navigation.open .responsive-menu {
  display: block;
  position: absolute;
  top: 100%; /* Below the toggle button */
  right: 0;
  left: auto;
  background-color: #333;
  z-index: 1000;
  text-align: left;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.responsive-navigation.open .responsive-menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.responsive-navigation.open .responsive-menu ul li a {
  display: block;
  padding: 10px 15px;
  text-decoration: none;
  color: #fff;
}

.responsive-navigation.open .responsive-menu ul li a:hover {
  background-color: #555;
}
/* Hide the main navigation and show the hamburger menu on screens LESS THAN 992px wide */
@media (max-width: 991px) {
  .main-navigation {
      display: none !important; /* Hide main nav */
  }
  .responsive-navigation {
      display: block !important; /* Show new responsive nav */
      width: 100%;
      text-align: center;
      padding-top: 10px;
  }
  .responsive-menu-toggle {
      display: inline-block;
      position: static;
      background: none;
      border: none;
      cursor: pointer;
      padding: 10px;
      font-size: 24px;
      color: #333;
      z-index: 1001;
      margin: 0 auto;
  }

  /* IMPORTANT: Hide the original responsive menu */
  .responsive_menu {
      display: none !important;
  }
}

/* Show the main navigation and hide the responsive navigation on screens 992px wide AND LARGER */
@media (min-width: 992px) {
  .responsive-navigation {
      display: none !important; /* Hide new responsive nav */
  }
  .main-navigation {
      display: block !important; /* Show main nav */
  }

  /* IMPORTANT: Hide the original responsive menu (though it should already be hidden) */
  .responsive_menu {
      display: none !important;
  }
}

/* Styles for the new responsive menu dropdown */
.responsive-navigation.open .responsive-menu {
  display: block;
  position: absolute;
  top: auto;
  left: 0;
  right: 0;
  background-color: #333;
  z-index: 1000;
  text-align: center;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.responsive-navigation.open .responsive-menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.responsive-navigation.open .responsive-menu ul li a {
  display: block;
  padding: 10px 15px;
  text-decoration: none;
  color: #fff;
}

.responsive-navigation.open .responsive-menu ul li a:hover {
  background-color: #555;
}

@media (max-width: 767px) { /* Bootstrap's breakpoint for extra-small screens */
  .col-xs-12.col-md-4.col-sm-4 { /* Be as specific as needed */
      float: none !important; /* Override the float */
  }
}

@media (max-width: 767px) {
  section.light-content.services > div.container > div.row {
    display: flex !important;
    flex-direction: column !important; /* Force vertical stacking */
  }

  section.light-content.services > div.container > div.row > div.col-xs-12.col-md-4.col-sm-4 {
    width: 100% !important;
    flex-basis: auto !important; /* Ensure full width in flex context */
    max-width: 100% !important; /* Prevent exceeding parent width */
  }
}

@media (max-width: 767px) {
  /* Target the container VERY specifically */
  section.light-content.services > div.container {
    width: auto !important; /* Try auto first */
    max-width: 100% !important; /* Safety net */
    padding-left: 15px !important; /* Bootstrap default */
    padding-right: 15px !important; /* Bootstrap default */
    margin-left: 0 !important; /* Clear any margins */
    margin-right: 0 !important; /* Clear any margins */
    box-sizing: border-box !important; /* Include padding in width */
    /* DEBUG: Let's see if this changes anything */
  }

  /* Target the row VERY specifically */
  section.light-content.services > div.container > div.row {
    display: flex !important;
    flex-direction: column !important;
    margin-left: 0 !important; /* Clear Bootstrap negative margins */
    margin-right: 0 !important; /* Clear Bootstrap negative margins */
    padding-left: 0 !important; /* No padding on row */
    padding-right: 0 !important; /* No padding on row */
    box-sizing: border-box !important; /* Include padding in width */
    /* DEBUG: See if this changes anything */
  }

  /* Target the columns VERY specifically */
  section.light-content.services > div.container > div.row > div.col-xs-12.col-md-4.col-sm-4 {
    width: 100% !important;
    flex-basis: auto !important;
    max-width: 100% !important;
    float: none !important;
    margin-left: 0 !important; /* Clear any margins */
    margin-right: 0 !important; /* Clear any margins */
    padding-left: 0 !important; /* No padding on columns */
    padding-right: 0 !important; /* No padding on columns */
    box-sizing: border-box !important; /* Include padding in width */
    /* DEBUG: See if this changes anything */

  }
}

.services > .container > .row {
  display: flex; /* Enable flexbox for the row on all screens */
  flex-wrap: wrap; /* Allow items to wrap to the next line on smaller screens */
}

.services > .container > .row > .col-xs-12.col-sm-4.col-md-4 {
  display: flex; /* Make each column a flex item */
  flex-direction: column; /* Stack content within the column */
  margin-bottom: 30px; /* Add some vertical spacing between service boxes */
}

.services > .container > .row > .col-xs-12.col-sm-4.col-md-4 > .service-box-wrap {
  display: flex; /* Make the service box a flex container */
  flex-direction: column; /* Stack icon and text vertically */
  height: 100%; /* Make service boxes within the row the same height */
}

.services > .container > .row > .col-xs-12.col-sm-4.col-md-4 > .service-box-wrap > .service-cnt-wrap {
  flex-grow: 1; /* Allow the content area to grow and take up remaining space */
}

@media (max-width: 991px) {
  .site-header.clearfix {
    display: flex; /* Make the header a flex container */
    justify-content: center; /* Center content horizontally */
    align-items: center; /* Center vertically */
    width: 100%;
    box-sizing: border-box;
    padding: 10px 15px;
  }

  .site-header.clearfix > .container > .row > .col-md-12 {
    display: flex; /* Make the content within the col-md-12 a flex container */
    justify-content: space-between; /* Space out logo and menu */
    align-items: center; /* Vertically align logo and menu */
    width: 90%; /* Adjust as needed */
    max-width: 600px; /* Optional max width */
  }

  .site-header.clearfix > .container > .row > .col-md-12 > .pull-left.logo {
    float: none !important;
    margin-right: auto; /* Push logo left */
  }

  .site-header.clearfix > .container > .row > .col-md-12 > .responsive-navigation.visible-sm.visible-xs {
    float: none !important;
    margin-left: auto; /* Push menu right */
  }

  .site-header.clearfix > .container > .row > .col-md-12 > nav.main-navigation.pull-right {
    display: none !important; /* Hide the main navigation on smaller screens */
  }

  .site-header.clearfix > .container > .row > .col-md-12 > .responsive-navigation.visible-sm.visible-xs {
    display: block !important; /* Ensure the hamburger menu is visible */
  }
}

/* Ensure default behavior on larger screens */
@media (min-width: 768px) {
  .blog-posts-wrapper .row {
    display: flex; /* Use flexbox for horizontal alignment */
    flex-direction: row;
    flex-wrap: wrap; /* Allow wrapping if needed */
    justify-content: flex-start; /* Align items to the start of the row */
    align-items: flex-start; /* Align items to the top of each line */
    overflow-x: visible;
  }

  .blog-posts-wrapper .row > .col-md-4 {
    width: auto; /* Let content determine width for initial alignment */
    flex: 0 0 auto; /* Don't grow or shrink initially */
    margin-right: 20px; /* Maintain horizontal spacing */
    margin-bottom: 0; /* Reset small screen bottom margin */
    display: flex; /* Make each blog post a flex container */
    flex-direction: column; /* Stack image and date vertically */
    justify-content: center; /* Center vertically within the column */
    align-items: center; /* Center horizontally within the column */
    text-align: center; /* Center text within the date */
  }

  .blog-posts-wrapper .row > .col-md-4:last-child {
    margin-right: 0;
  }

  .blog-posts-wrapper .row > .col-md-4 .blog-post-image {
    /* You might need to adjust styles for the image if needed */
    margin-bottom: 10px; /* Add some space between image and date */
  }
}

.site-footer > .container {
  display: block !important; /* Override display: flex */
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
  max-width: 1200px !important; /* Adjust as needed */
  box-sizing: border-box !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
}

.site-footer > .container > .row > .col-md-12 {
  text-align: center !important;
}

.site-footer > .container > .row > .col-md-12 .footer-nav .footer-menu {
  display: flex !important;
  justify-content: center !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 10px auto !important;
}

.site-footer > .container > .row > .col-md-12 .footer-nav .footer-menu > li {
  margin: 0 15px !important;
}

.site-footer > .container > .row > .col-md-12 .footer-nav .copyright-text {
  text-align: center !important;
  margin-top: 10px !important;
}

@media (max-width: 767px) {
  .blog-posts-wrapper .parallax-overlay > .container {
    display: block !important; /* Force override of flex */
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    max-width: 600px !important; /* Adjust as needed */
    box-sizing: border-box !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  .blog-posts-wrapper .parallax-overlay > .container > .row.latest-posts {
    display: flex !important; /* Keep flex for horizontal scroll of posts */
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    width: auto !important;
    max-width: 90% !important;
    margin: 10px auto !important; /* Center the row within the now block container */
  }

  .blog-posts-wrapper .parallax-overlay > .container > .row.latest-posts > .col-md-4 {
    flex: 0 0 auto !important;
    width: auto !important;
    margin-right: 20px !important;
    margin-bottom: 0 !important;
  }

  .blog-posts-wrapper .parallax-overlay > .container > .row.latest-posts > .col-md-4:last-child {
    margin-right: 0 !important;
  }
}