html {
  scroll-snap-type: y proximity; /* mandatory */
  scroll-padding-top: 104px; /* take header into consideration */
}
.scroll-m {
  min-height: calc(100dvh - 104px) !important;
  scroll-snap-align: start; /* center */
  scroll-snap-stop: always; /* normal */
}

#hero-mobile {
  min-height: calc(100dvh) !important;
}


/*-----------------------------------------------------------------------------------*/
/*	SERVICE ICON LINKS
/*-----------------------------------------------------------------------------------*/
a.service-link-block {
  display: block;
  width: 100%;
  height: 100%;
  padding: 40px;
}
.fa-sharp-duotone, .fa-duotone, .fa-sharp-duotone:after, .fa-duotone:after, .fa-sharp-duotone:before, .fa-duotone:before {
  --fa-primary-color: rgb(72, 83, 92);
  --fa-secondary-color: rgb(84, 168, 199);
  z-index: 2;
}
.service-text {
  color: #343f52;
}

.service-block:hover > .card-body .service-link-block .fa-sharp-duotone, .service-block:hover > .card-body .service-link-block .fa-duotone,
.service-block:hover > .card-body .service-link-block .fa-sharp-duotone:after, .service-block:hover > .card-body .service-link-block .fa-duotone:after,
.service-block:hover > .card-body .service-link-block .fa-sharp-duotone:before, .service-block:hover > .card-body .service-link-block .fa-duotone:before {
  --fa-primary-color: rgba(84, 168, 199, 1);
  --fa-secondary-color: rgba(255, 255, 255, 1);
  opacity: 0.97!important;
}
.service-block:hover > .card-body {
  background-color: rgba(24, 24, 24, 0.9);
  border-radius: inherit;

}
.service-block:hover > .card-body a.service-link-block .service-text {
  color: #FFFFFF!important;
}


/*-----------------------------------------------------------------------------------*/
/*	LOCATION ICON LINKS
/*-----------------------------------------------------------------------------------*/
a.location-link-block {
  display: block;
  width: 100%;
  height: 100%;
  padding: 34px;
}
.fa-sharp-duotone, .fa-duotone, .fa-sharp-duotone:after, .fa-duotone:after, .fa-sharp-duotone:before, .fa-duotone:before {
  --fa-primary-color: rgb(72, 83, 92);
  --fa-secondary-color: rgb(84, 168, 199);
  z-index: 2;
}
.location-text {
  color: #343f52;
}

.location-block:hover > .card-body .location-link-block .fa-sharp-duotone, .location-block:hover > .card-body .location-link-block .fa-duotone,
.service-block:hover > .card-body .location-link-block .fa-sharp-duotone:after, .location-block:hover > .card-body .location-link-block .fa-duotone:after,
.service-block:hover > .card-body .location-link-block .fa-sharp-duotone:before, .location-block:hover > .card-body .location-link-block .fa-duotone:before {
  --fa-primary-color: rgba(84, 168, 199, 1);
  --fa-secondary-color: rgba(255, 255, 255, 1);
  opacity: 0.97!important;
}
.location-block:hover > .card-body {
  background-color: rgba(24, 24, 24, 0.8);
  border-radius: inherit;

}
.location-block:hover > .card-body a.location-link-block .location-text {
  color: #FFFFFF!important;
}
.location-block:hover > .card-body a.location-link-block .location-title {
  color: #54A8C7FF!important;
}



/*-----------------------------------------------------------------------------------*/
/*	WEATHER APP
/*-----------------------------------------------------------------------------------*/
#imgbg {
  display: block;
  position: absolute;
  background-color: rgba(255, 255, 255, 0.3);
  background-image: url(../imgs/backgrounds/weather_drizzle_bg.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 1;
  width: 100%;
  height: 100%;
}
#weather_icon {
  position: relative;
  display: inline-block;
  background-color: rgba(255, 255, 255, 0.0);
  /*background-image: url(../imgs/misc/loader.gif);*/
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: contain;
  width: 66px;
  height: 66px;
}

#weather_temp, #weather_loc, #weather_txt, #weather_intxt, #weather_h1  {
  position: relative;
  display: block;
  background-color: rgba(255, 255, 255, 0.0);
  width: auto;
  margin: 0;
}
#weather_temp, #weather_txt, #weather_loc  {
  display: block;
}
#weather_intxt  {
  opacity: 0;
}

#weatherbg {
  background-color: rgba(0, 0, 0, 1);
  background-position: top center;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 1;
  width: 100%;
  height: auto;
}





/*-----------------------------------------------------------------------------------*/
/*	INVERSE TITLE TAGS
/*-----------------------------------------------------------------------------------*/
.text-inverse h1,
.text-inverse h2,
.text-inverse h3,
.text-inverse h4,
.text-inverse h5,
.text-inverse h6,
.text-inverse .h1,
.text-inverse .h2,
.text-inverse .h3,
.text-inverse .h4,
.text-inverse .h5,
.text-inverse .h6 {
  color: #FFFFFF!important;
}

/*-----------------------------------------------------------------------------------*/
/*	NAVBAR & LOGO
/*-----------------------------------------------------------------------------------*/
/*
a.logo-nav .logo-light,
a.logo-nav .logo-dark {
  display: block;
  padding: 12px 0;
}
 */
.navbar-expand-lg, .navbar-expand-xl {
  padding: 0.58rem 0;
  border-bottom: 1px solid rgba(124, 135, 142, 0.25);
  background-color: var(--bs-nav-bg);
}
.navbar-stick:not(.navbar-dark) {
  box-shadow: 0 0 1.25rem rgba(30, 34, 40, 0.06);
  background-color: var(--bs-nav-bg)!important;
}
.navbar-brand img {
  object-fit: contain;
  width: 100%;
  height: auto;
  max-width: 274px;
  padding: 0 0;
}
.custom-nav.active {
  text-decoration-line: underline;
  text-decoration-thickness: 3px;
  text-underline-offset: 10px;
  color: var(--bs-navbar-active-color)!important;
}
@media (max-width: 768px) {
  .navbar-brand {
    text-align: left;
    margin: 0 auto;
  }
  .navbar-brand img {
    width: 100%;
    max-width: 320px;
    padding: 0 0;
  }
}
.nav-link {
  --bs-nav-link-color: #FFFFFF;
  display: block;
  padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
  font-size: 18px;
  font-weight: var(--bs-nav-link-font-weight);
  color: var(--bs-nav-link-color)!important;
  transition: color 0.2s ease-in-out;
  text-transform: uppercase;
}
/*
.dropdown-toggle:after, .nav-link {
  --bs-nav-link-color: #FFFFFF;
  color: var(--bs-nav-link-color)!important;
}
*/
.nav-item.active a, .nav-link.dropdown-toggle {
  color: var(--bs-navbar-active-color);
  text-decoration: none;
  background-color: var(--bs-dropdown-link-active-bg);
}

/*-----------------------------------------------------------------------------------*/
/*	FOOTER
/*-----------------------------------------------------------------------------------*/
footer .accordion-item h4:hover {
  cursor: pointer;
}
footer .footer-logo {
  width: 100%;
  max-width: 256px;
}

/*-----------------------------------------------------------------------------------*/
/*	MODAL
/*-----------------------------------------------------------------------------------*/
.offcanvas-header .btn-close {
  position: absolute;
  top: 12px;
  right: 12px;
  padding: 0;
  margin-right: 0!important;
}
.btn-close-white {
  color: #343f52;
}
.btn-close-white:before {
  background: rgba(255, 255, 255, 1);
}
.btn-close-white:hover {
  color: #343f52;
}
.btn-close-white:hover:before {
  background: rgba(255, 255, 255, 0.5);
}
.btn-close-aqua {
  color: #fff;
}
.btn-close-aqua:before {
  background: rgba(84, 168, 199, 1);
}
.btn-close-aqua:hover {
  color: #343f52;
}
.btn-close-aqua:hover:before {
  background: rgba(255, 255, 255, 1);
}
.modal-content {
  background-color: #000000 !important;
}
.modal-link.privacyemail a {
  color: #54A8C7FF!important;
}
.modal-link.privacyemail a:hover {
  color: #FFFFFF;
}

/*-----------------------------------------------------------------------------------*/
/*	FORMS
/*-----------------------------------------------------------------------------------*/
.middlename {
  display: none;
}
.contact .input-group.textbox textarea {
  float: right;
  width: auto;
  height: auto;
  resize: vertical;
}
.form-floating>.form-control, .form-floating>.form-control-plaintext, .form-floating>.form-select {
  height: auto;
  line-height: 1.25;
  resize: vertical;
}
.notification_ok, .notification_error {
  display: none;
}
.success h2, .success h3, .success p {
  color: white;
}

/*-----------------------------------------------------------------------------------*/
/*	GOOGLE MAP
/*-----------------------------------------------------------------------------------*/
#google-map {
  display: block;
  position: relative;
  margin-top: 0;
  padding: 0;
}
.google-container {
  position: relative;
  width: 100%;
  height: 500px;
  border-top: none;
}
.gm-directions {
}
.place-desc-large {
  display: none;
}
.navigate-icon {
  display: inline-block;
  width: 60px;
  height: 60px;
  color: #ACCA2F;
  background-image: url("../imgs/misc/maps-directions.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

/*-----------------------------------------------------------------------------------*/
/*	GOOGLE MAP Info
/*-----------------------------------------------------------------------------------*/
gmp-advanced-marker {
  z-index: 10!important;
}
.gm-style .gm-style-iw {
  z-index: 9999 !important;
}
.gm-style-iw-chr {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  overflow: visible;
  position: absolute;
}
.gm-style-iw.gm-style-iw-c,
.gm-style .gm-style-iw-c {
  padding: 0!important;
  max-height: 500px!important;
  max-width: 648px;
  z-index: 9999 !important;
}
.g-map-info-img {
  width:100%;
  height:auto;
  object-fit:cover;
  max-width:320px;
}
.gm-style .gm-style-iw-d {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  overflow: hidden!important;
  max-height: 100%!important;
}
.gm-style-iw-chr {
  background-color: #FFFFFF;
  font-weight: bold;
  font-size: 22px;
  align-self: end;
}

/*-----------------------------------------------------------------------------------*/
/*	SOCIAL ICONS
/*-----------------------------------------------------------------------------------*/
.social a.fa-twitter {
  color: #5daed5!important;
}
.social a.fa-facebook-f {
  color: #007ff8!important;
}
.social a.fa-instagram {
  color: #d53581!important;
}
.social a.fa-youtube-square {
  color: #c8312b!important;
}
.social a.fa-wikipedia-w {
  color: #FFFFFF!important;
}
.social a:hover {
  color: #cacaca!important;
}

/*-----------------------------------------------------------------------------------*/
/*	OFF CANVAS / MODAL
/*-----------------------------------------------------------------------------------*/


/*-----------------------------------------------------------------------------------*/
/*	MEDIA BOXES
/*-----------------------------------------------------------------------------------*/
.media-boxes-no-more-entries{
  display: none;
}
/* make your own style of the filter */
.filters-container{
  margin-bottom: 20px;
}
.custom-filter{
  padding: 0;
  text-align: right;
}
.custom-filter li{
  list-style: none;
  display: inline-block;
  margin-left: 18px;
  font-size: 12px;
}
.custom-filter li a{
  color: #999;
  text-decoration: none;
}
.custom-filter li a:hover{
  color: #333;
}
.custom-filter li a.selected{
  color: #D1474C !important;
}
.media-boxes-drop-down{
  float: left;
  margin-right: 10px;
}
.media-boxes-search{
  float: right;
}
.media-box-title{
  color: #fff;
  font-size: 11px;
  margin-bottom: 5px;
  text-transform: uppercase;
  letter-spacing: 2px;
  line-height: 28px;
}
.media-box-date{
  color: #F2F2F2;
  font-size: 10px;
}
.media-box-container{
  border-radius: 8px;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border: 0;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  -o-box-shadow: none;
  -ms-box-shadow: none;
  box-shadow: none;
}
/* thumbnail overlay background */
.thumbnail-overlay{
  background-color: rgba(0,0,0, .40);
  -webkit-transition: background-color 0.2s ease-out;
  -moz-transition: background-color 0.2s ease-out;
  -o-transition: background-color 0.2s ease-out;
  transition: background-color 0.2s ease-out;
}
/* hover effect on the thumbnail-overlay */
.thumbnail-overlay:hover{
  background-color: rgba(0,0,0, .60) !important;
}
/* hover effect on the image */
.media-box-image img{
  -webkit-transition: transform 0.6s ease-in-out;
  -moz-transition: transform 0.6s ease-in-out;
  -o-transition: transform 0.6s ease-in-out;
  -ms-transition: transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out;

  -webkit-transform-origin: bottom left;
  -moz-transform-origin: bottom left;
  -o-transform-origin: bottom left;
  -ms-transform-origin: bottom left;
  transform-origin: bottom left;
}
.media-box-image:hover img{
  -webkit-transform: scale(1.2) translate(-20px);
  -moz-transform: scale(1.2) translate(-20px);
  -o-transform: scale(1.2) translate(-20px);
  -ms-transform: scale(1.2) translate(-20px);
  transform: scale(1.2) translate(-20px);
}
#grid2 .thumbnail-overlay>div.aligment>div.aligment{
  vertical-align: bottom;
  padding-bottom: 40px;
}
.thumbnail-overlay .media-box-title{
  font-size: 16px;
}
.thumbnail-overlay .media-box-text{
  font-size: 16px;
  letter-spacing: 1px;
  font-weight: 400;
  color: white;
}
.thumbnail-overlay .media-box-date{
  font-style: italic;
  font-size: 12px;
}

/*-----------------------------------------------------------------------------------*/
/*	Res Slider
/*-----------------------------------------------------------------------------------*/
.sm-slider {
  background-color: #21262c;
  background-image: url("../imgs/misc/loader.gif");
  background-size: 60px 60px;
  background-position: center;
  background-repeat: no-repeat;
}
.fullscreen-container {
  height: 500px;
}
.slider-overlay {
  background: url(../imgs/misc/overlay.png) repeat;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.uranus.tparrows:hover:before {
  /*color: black;*/
  opacity: 0.3;
}

/*-----------------------------------------------------------------------------------*/
/*	PARALLAX
/*-----------------------------------------------------------------------------------*/
.parallax-window, .parallax-container {
  width: 100%;
  background: transparent;
}
.simpleParallax {
  border-radius: 0.4rem !important;
}

/*-----------------------------------------------------------------------------------*/
/*	CUSTOM TRANSITIONS + HOVER
/*-----------------------------------------------------------------------------------*/
.fbri:hover, .fbri:active, .fbri:focus {
  -webkit-filter: brightness(50%);
  filter: brightness(50%);
  cursor: pointer;
}
.t {
  cursor: pointer;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

/*-----------------------------------------------------------------------------------*/
/*	BACKGROUNDS
/*-----------------------------------------------------------------------------------*/
.animated-gradient-background {
  background: linear-gradient(315deg,deepskyblue,darkviolet,greenyellow);
  background-size: 180% 270%;
  animation: gradient-animation 18s ease infinite;
}
.bg-gradient-green-d-l {
  background: #acca21;
  background: linear-gradient(100deg,rgba(171, 202, 33, 1) 0%, rgba(193, 203, 151, 1) 100%);
}
.bg-gradient-green-l-d {
  background: #acca21;
  background: linear-gradient(100deg,rgba(193, 203, 151, 1) 0%, rgba(171, 202, 33, 1) 100%);
}
@keyframes gradient-animation {
  0% {
    background-position: 0 40%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0 40%;
  }
}

/*-----------------------------------------------------------------------------------*/
/*	COOKIE CONSENT
/*-----------------------------------------------------------------------------------*/
#CookieConsent {
  z-index: 999;
  min-height: 30px;
  font-family: OpenSans, arial, "sans-serif";
  padding: 20px 20px;
  background-color: rgba(0, 0, 0, 0.8);
  overflow: hidden;
  position: fixed;
  color: #FFF;
  bottom: 0;
  left: 0;
  right: 0;
  display: none;
  text-align: center;
  font-size: 15px;
  font-weight: bold;
}

/*-----------------------------------------------------------------------------------*/
/*	VACUME
/*-----------------------------------------------------------------------------------*/
/* Buttons */
/*
#startVacuum {
  position: absolute;
  bottom: 32px;
  left: 57%;
  z-index: 1000;
}
#emptyBag {
  position: absolute;
  bottom: 32px;
  left: 65%;
  z-index: 1000;
}
*/
/* Dirt */
.dirt {
  position: absolute;
  width: 6px;
  height: 6px;
  background: #5c4033;
  border-radius: 50%;
  z-index: 999;
  transition: transform 0.8s ease-in, opacity 0.8s;
}
/* Vacuum */
#vacuum {
  position: fixed;
  bottom: 50px;
  right: 50px;
  z-index: 1000;
}
#vacuum img {
  width: 120px;
}
/* Nozzle (invisible target) */
#nozzle {
  position: absolute;
  background-color: transparent;
  width: 100px;
  height: 20px;
  bottom: 10px;
  left: 30%;
  /* background: red;  Uncomment for debugging */
}

/*-----------------------------------------------------------------------------------*/
/*	DEV SCREEN DATA
/*-----------------------------------------------------------------------------------*/
#screenData {
  display: flex;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.0);
  position: fixed;
  bottom: 20px;
  left: 0;
  margin: 0 0;
  width: 100%;
  height: auto;
  pointer-events: none;
}
#screenData .screenDataWrapper {
  display: block;
  background-color: rgba(0, 0, 0, 0.6);
  padding: 12px;
  color: white;
  font-weight: bold;
  bottom: 20px;
  margin: 0;
  width: auto;
  height: auto;
  pointer-events: none;
}
/**** TERMINAL CODE ****/
#sectionunderconstruction {
  position: fixed;
  z-index: 500;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
}
.bgterminal {
  position: fixed;
  left: 3%;
  top: 3%;
  bottom: 0;
  right: 0;
  color: #444!important;
  white-space: pre-wrap;
  white-space: -moz-pre-wrap;
  white-space: -o-pre-wrap;
  font-family: 'Inconsolata', monospace;
  font-size: 16px;
  text-align: left;
  -webkit-transition-property: color;
  -moz-transition-property: color;
  -o-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 2s;
  transition-duration: 2s;
  -webkit-transition-delay: 2s;
  transition-delay: inherit;
}
.bgterminal .cursor { background: #444; }