body{
    font-family: 'Lato', Helvetica, Arial, sans-serif;
    overflow-x:hidden;
}
.h2, .h3, .h4, .h5, .h6, h2, h3, h4, h5, h6{
    font-weight:400;
}

h3, .h3{
    font-size:28px;
    line-height:34px;
}
h4, .h4{
    font-size:24px;
    line-height:28px;
}
h5, .h5{
    font-size:21px;
    line-height:30px;
}
section:not([class*="text-bg-"]) p.h5,
section:not([class*="text-bg-"]) li.h5{
    color:var(--bs-body-color);
}
section.text-bg-black p.h5,
section.text-bg-black li.h5{
    color:var(--bs-gray-100);
}
p.h5{
 margin-bottom:10px;   
}
p + ul,
p + ol{
 margin-top:25px;   
}
[data-focal-point] {
  object-position: var(--y, center) var(--x, center) !important;
}

[data-focal-point^=top i] {
  --y: top;
}

[data-focal-point^=bottom i] {
  --y: bottom;
}

[data-focal-point$=left i] {
  --x: left;
}

[data-focal-point$=right i] {
  --x: right;
}


/* Navigation */
.dropdown-toggle::after{
    display:none;
}
.dropdown-toggle svg{
    font-size:16px;
}
.navbar-nav{
    --bs-nav-link-font-weight: 400;
    --bs-nav-link-font-size: 18px;
}
.navbar-nav .nav-link{
    text-transform:uppercase;
}
.navbar-nav{
    --bs-nav-link-font-weight: 400;
    --bs-nav-link-font-size: 18px;
}
.dropdown-menu{
    --bs-dropdown-link-active-bg: var(--dropdown-hover-bg);
    --bs-dropdown-link-active-color: var(--bs-black);
}
.dropdown-item.active, .dropdown-item:active{
    text-decoration:underline;
}

.offcanvas{
    --bs-offcanvas-width: 100vw;
}
.offcanvas.show .navbar-nav .dropdown-menu{
    background-color:var(--bs-body-color);
    color:#fff;
    --bs-dropdown-link-color: var(--bs-gray-100);
}
.offcanvas.show .navbar-nav .dropdown-megamenu .dropdown-title{
    color:#fff;
}
.dropdown-megamenu .dropdown-title{
    display:block;
}
.dropdown-megamenu .dropdown-menu{
    --bs-dropdown-min-width: 15rem;
}
.nav-item.dropdown.active .nav-link.dropdown-toggle,
.nav-item.active:not(.dropdown) .nav-link{
    color: rgba(var(--bs-white-rgb), 0.5);
    text-decoration:underline;
    text-underline-offset: 2px;
}

.offcanvas.offcanvas-end{
    top:66px;
}
.mobile-zindex{
    z-index:1050;
}

/* Footer */
footer{
    padding-block: 3rem;
}
.social-link{
    font-size:21px;
    color:#fff;
    transition: color .25s ease;
}
footer a:not(.social-link, .copyright-link, .btn, .foot-link){
    color:var(--bs-gray-100);
    font-size:18px;
    text-decoration:1px underline transparent;
}
footer a:hover,
footer a:focus{
    /* color:var(--bs-primary); */
    text-decoration-color: white;
}
.copyright{
    font-size:11px;
    line-height:21px;
    letter-spacing:0.025em;
    color:#fff;
}
.copyright-link{
    font-size:11px;
    line-height:21px;
    letter-spacing:0.025em;
    color:#fff;
    transition: color .25s ease;
}
footer p:not(.h6, .copyright){
    color:var(--bs-gray-100);
    font-size:18px;
}
footer p.h6{
    margin-bottom:15px;
}
footer .foot-link{
    color:var(--bs-gray-100);
    font-size:18px;
    text-decoration:1px solid underline transparent;
    transition: color 0.25s ease-in-out;
}
footer .foot-link:hover {
    text-decoration:1px solid underline white;
}


/** Breadcrumbs */
.breadcrumb {
    --bs-breadcrumb-item-active-color: var(--bs-gray-100);
    --bs-breadcrumb-divider: '·';
    --bs-breadcrumb-divider-color: var(--bs-gray-100);
    --bs-link-color-rgb: var(--bs-gray-100-rgb);
    --bs-link-hover-color-rgb: var(--bs-white-rgb);
    font-weight: 500;
    text-transform: uppercase;
    font-size: 1rem;
    justify-content:center;
}
.breadcrumb a {
    transition: color 0.25s ease;
    text-underline-offset: 3px;
}
.breadcrumb a:hover {
    --bs-link-opacity: 0.65;
}
/** Hero Background */
.hero-bg {
    position: relative;
    background-color:var(--bs-black);
}
.hero-bg .hero-bg-content {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}
.hero-bg :is(.hero-bg-img, .hero-bg-img > img) {
    display: block;
    width: 100%;
    min-width: 100vw;
    height: clamp(400px, 75vh, 800px);
    object-fit: cover;
    position:relative;
    opacity:.8;
}

/* Home Splide Header */
header{
    position:relative;
}
.scroll-btn {
  position:absolute;
  z-index:10;
  bottom:-14px;
  right: 15px;
  display:block;
  width: 50px;
  height: 50px;
  background-color:#fff;
  border-radius: 100%;
  box-sizing: border-box;
  text-align:center;
  color:var(--bs-black);
  font-size:14px;
  padding-top:14px;
  transition: color .25s ease, background-color .25s ease;
}
.scroll-btn svg {
    pointer-events: none;
}
.scroll-btn::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  content: '';
  width: 50px;
  height: 50px;
  box-shadow: 0 0 0 0 rgba(255,255,255,.1);
  border-radius: 100%;
  opacity: 0;
  animation: sdb03 3s infinite;
  box-sizing: border-box;
}
@keyframes sdb03 {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  60% {
    box-shadow: 0 0 0 60px rgba(255,255,255,.1);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.scroll-btn:hover,
.scroll-btn:focus{
    background-color:var(--bs-black);
    color:#fff;
}
.splide__hero .splide__animate .btn-light:hover,
.splide__hero .splide__animate .btn-light:focus,
.splide__hero .splide__animate .btn-light:disabled {
    opacity: .75;
}
.splide__pagination__page{
    height:10px;
    width:10px;
    margin:5px;
}
.splide__pagination__page.is-active{
    transform:unset;
}


/* Services Section */
/** Splide/Sliders **/
.splide {
    max-width: 100%;
    width: 100vw;
    max-height: 100%;
}
.splide__hero {
    height: clamp(400px, 85vh, 800px);
}
.splide__slide--content {
    display: grid;
    max-height: 100%;
    text-transform: uppercase;
    background-color:var(--bs-black);
}

.splide__slide--content > * {
    grid-area: 1 / 1 / -1 / -1;
}
.splide__slide--content > picture {
    max-height: 100%;
    width: 100%;
    height: clamp(400px, 85vh, 800px);
    opacity:.8;
    z-index:1;
}
.splide__slide--content > picture > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity:.8;
}
.splide__slide--content .container{
    z-index:2;
}
.splide__slide--content .container h1{
    line-height:calc(84 / 86);
}
.splide .splide__pagination {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    flex-flow: column;
    align-items: flex-end;
}
.splide__pagination [data-title]::before {
    content: attr(data-title);
    font-size: 0.75rem;
    margin-top: 0.25rem;
    color: var(--bs-white);
    text-transform: uppercase;
    display: none;
    position: absolute;
    right: 6ch;
    opacity: 0;
    transform: translateX(6ch);
    transition: all 0.25s ease;
    transition-property: opacity, transform;
}
.splide__pagination .splide__bullet--active::before {
    transform: translateX(0);
    opacity: 1;
}

.splide .splide__pagination__page {
    opacity: 1;
}

.splide .splide__pagination__page:not(.is-active) {
    background: transparent;
    border: 1px solid var(--bs-white);
}
.splide__arrows .btn-link {
    --bs-btn-color: var(--bs-black);
    --bs-btn-font-size: 2rem;
    --bs-btn-hover-color: rgba(var(--bs-black-rgb), 0.75);
    --bs-btn-active-color: var(--bs-black);
    --bs-btn-padding-y: 0;
    --bs-btn-padding-x: 0;
    --bs-btn-hover-color: var(--bs-black);
    transition: 0.15s ease-in-out;
    transition-property: opacity, color;
}
.splide__arrows .btn-link:hover, 
.splide__arrows .btn-link:focus{
    opacity:.5;
}

.splide__cards .splide__track {
    overflow: visible;
}

.splide__arrows-grid-wrapper {
    display: grid;
    place-content: end;
    grid-template-columns: auto auto;
}
.service-icon{
    height:160px;
    display:flex;
    width:100%;
    align-items:center;
}
.splide__slide .card{
    --bs-card-border-color: transparent;
}
.splide__slide .card p{
    font-size:18px;
    line-height:28px;
}
.splide__slide .card a{
    text-transform:uppercase;
    color:var(--bs-black);
    text-decoration:none;
    font-size:15px;
}
.splide__cards .splide__slide .card:focus-within,
.splide__cards .splide__slide .card:hover{
    --bs-card-border-color: var(--bs-black);
}
.splide__cards .splide__slide .card:focus-within a,
.splide__cards .splide__slide .card:hover a,
.splide__cards .splide__slide .card:focus-within .card-title,
.splide__cards .splide__slide .card:hover .card-title{
   color:var(--bs-black); 
}
.splide__cards .splide__slide .card:focus-within .card-icon svg path,
.splide__cards .splide__slide .card:hover .card-icon svg path{
    fill:var(--bs-black);
}


/* Card offset images */
.card--offset .card-img{
    height:auto;
}
.card--offset{
    border:none;
}
.card--offset__body {
    --offset-bg: var(--bs-body-color);
}

.play-btn{
    position:absolute;
    z-index:4;
    width:100px;
    height:100px;
    color:var(--bs-black);
    background-color:var(--bs-white);
    border-radius:50%;
    font-size:20px;
    text-align:center;
    padding-top:40px;
    top:calc(50% - 50px);
    left:calc(50% - 50px);
    line-height:1;
    transition: transform 0.25s ease, opacity 0.25s ease;
}
.play-btn:hover,
.play-btn:focus{
    transform: scale(.85);
    opacity:.75;
}
.goverlay{
    background:var(--bs-black);
}
/* CTA Section */
.cta-section{
    height:auto;
    background-color:var(--bs-black);
    position:relative;
}
.cta-section.cta-section-btns {
    height: auto;
}
.cta-section--confirmation {
    height: 75vh;
}
.cta-bg-img img{
    opacity:.7;
}
.cta-bg-img{
    position:absolute;
    z-index:1;
    top:0;
    bottom:0;
    left:0;
    right:0;
    display:block;
    width:100%;
    height:100%;
}
.cta-bg-img .simpleParallax{
    height:100%;
}


/* Gallery Grid */
.gallery-grid{
    display:none;
}
.gallery-grid .gallery-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.gallery-grid .gallery-image:first-child{
    grid-column: 1 / span 3;
    grid-row: 1 / span 2;
}
.gallery-grid .gallery-image:nth-child(2){
    grid-column: 4 / span 3;
    grid-row: 1 / span 2;
}
.gallery-grid .gallery-image:nth-child(3){
    grid-column: 1 / span 6;
    grid-row: 3 / span 4;
}
.gallery-grid .gallery-image:nth-child(4){
    grid-column: 7 / span 4;
    grid-row: 1 / span 3;
}
.gallery-grid .gallery-image:nth-child(5){
    grid-column: 11 / span 4;
    grid-row: 1 / span 3;
}
.gallery-grid .gallery-image:nth-child(6){
    grid-column: 15 / span 4;
    grid-row: 1 / span 3;
}
.gallery-grid .gallery-image:nth-child(7){
    grid-column: 7 / span 4;
    grid-row: 4 / span 3;
}
.gallery-grid .gallery-image:nth-child(8){
    grid-column: 11 / span 4;
    grid-row: 4 / span 3;
}
.gallery-grid .gallery-image:last-child{
    grid-column: 15 / span 4;
    grid-row: 4 / span 3;
}


/* Google Reviews Splide */
.splide__google .h4{
    padding-top:20px;
}
.splide__google p{
    margin-top:20px;
    margin-bottom:0;
}
.splide__google .card-icon::after{
    display:none;
}
.splide__google .card-icon{
    margin-bottom:10px;
}
.gray-scale-logo{
    filter: grayscale(100%);
    transition: filter 0.25s ease-out;
}
.card:hover .gray-scale-logo {
    filter: grayscale(0%);
}

/* Individual Service page */
.serv-icon svg{
    max-height:250px;
    display:block;
    margin:0 auto;
}
.serv-iconh svg {
    max-height: 190px;
}
.accordion-button::after{
    display:none;
}
.accordion-button .fa-stack{
    position:absolute;
    right:-15px;
    top:calc(var(--pad-xs) - 5px);
    pointer-events: none;
    font-size:18px;
}
.accordion-button .fa-stack-1x{
    transition: transform 0.35s ease;
}
.accordion-button.collapsed .rotate-bar{
    transform:rotate(90deg);
}
address a{
    color:#fff;
    text-decoration:none;
}
address a:hover,
address a:focus{
    text-decoration:underline;
}

@media (min-width:576px){
    .scroll-btn{
      right: calc((100vw - 528px) / 2);
    }
    .splide .splide__pagination{
      right: calc((100vw - 568px) / 2);
    }
    .offcanvas{
        --bs-offcanvas-width: 400px;
    }
}
@media (min-width:768px){
    section {
        padding-block: var(--pad-md);
    }
    .scroll-btn{
      right: calc((100vw - 708px) / 2);
    }
    .splide .splide__pagination{
      right: calc((100vw - 748px) / 2);
    }
    .splide__pagination [data-title]::before{
        display:block;
    }
    .glightbox{
        width:194px;
        height:194px;
        font-size:36px;
        padding-top:79px;
        top:calc(50% - 97px);
        left:calc(50% - 97px);
    }
    .navbar .btn{
        width:210px;
    }
    .gallery-grid{
        display:grid;
        grid-template-columns: repeat(18, 1fr);
        grid-template-rows: repeat(6, 1fr);
        column-gap: 5px;
        row-gap: 5px;
        padding:0 5px 5px;
    }
    h2, .h2{
        font-size:40px;
        line-height:44px;
    }
    h3, .h3{
        font-size:32px;
        line-height:38px;
    }
    #googleSplide .card-icon{
        margin-bottom:25px;
    }
}
@media (min-width:992px){
    .scroll-btn{
      right: calc((100vw - 948px) / 2);
    }
    .splide .splide__pagination{
      right: calc((100vw - 988px) / 2);
    }
    .cta-section{
        height:745px;
    }
}
@media (min-width:1200px){
    .scroll-btn {
      right: calc((100vw - 1128px) / 2);
    }
    .splide .splide__pagination{
      right: calc((100vw - 1168px) / 2);
    }
    .navbar-expand-xl .offcanvas{
        top:0px;
    }
    .dropdown-megamenu {
        --bs-dropdown-min-width: 14rem;
    }
    .dropdown-megamenu > .row {
        flex-flow: row;
    }
    .mobile-zindex{
        z-index:unset;
    }
}
@media (min-width:1400px){
    .scroll-btn {
      right: calc((100vw - 1308px) / 2);
    }
    .splide .splide__pagination{
      right: calc((100vw - 1348px) / 2);
    }
}
@media (min-width:769px){
    .goverlay{
        background:rgba(var(--bs-black-rgb), .6);
    }
}