html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    box-sizing: border-box;
}


html {
    scroll-behavior: smooth;
    box-sizing: border-box;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 300;
    line-height: 1em;
    margin: 0 0 0 0;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
    color: inherit;
    text-decoration: none;
}

h1 {
    font-size: 2.75em;
    line-height: 1.5em;
    letter-spacing: -0.045em;
}

h2 {
    font-size: 2.25em;
    line-height: 1.5em;
    letter-spacing: -0.035em;
}

h3 {
    font-size: 1.75em;
    line-height: 1.5em;
    letter-spacing: -0.025em;
}

h4 {
    font-size: 1.1em;
    line-height: 1.5em;
    letter-spacing: 0;
}

h5 {
    font-size: 0.9em;
    line-height: 1.5em;
    letter-spacing: 0;
}

h6 {
    font-size: 0.7em;
    line-height: 1.5em;
    letter-spacing: 0;
}


*,
*:before,
*:after {
    box-sizing: inherit;
}

a {
    text-decoration: none;
}

textarea {
    resize: none;
    height: 10rem;
}

input:focus,
textarea:focus {
    outline: none;

}

input,
textarea {
    padding: 1rem;
    border: 0;
    background-color: rgb(226 232 240);
    border-radius: 1rem;
    box-sizing: border-box;
}


.section {
    /* padding-top: 2rem;
    padding-bottom: 2rem; */
    background:white;
}

.fontBody {
    font-family: Open Sans;
}

.text-navGray {
    color: rgb(121 124 148)
}

.text-neutralGray {
    color: rgb(102 102 102);
}

.bgPrimary {
    background: rgb(35 47 97)
}

.header {
    position: fixed;
    background-color: white;
    z-index:1;
    left: 0px;
    top: 0px;
    width: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding-left: 2rem;
    padding-right: 2rem;
    /* border-bottom-color: rgb(229, 231, 235);
    border-bottom-width: 3px;
    border-bottom-style: solid; */

    padding: 10px 20px;
    left: 0px;
    top: 0px;
    width: 100%;
    min-height: 90px;    
}

/* .row {
    display: flex;
    gap: 1rem;
}

.column {
    flex-direction: column;
    display: flex;
} */

.half {
    width: 50%;
    min-width: 0px;
}

.w-full {
    width: 100%;
}

a,
a:visited,
a:hover,
a:active {
    color: inherit;
    text-decoration: none !important;
}

.headerLink {
    color:unset !important;
}
.headerLink {
    cursor: pointer;
    padding-top: .25rem;
    padding-bottom: .25rem;
    padding-left: .5rem;
    padding-right: .5rem;
    display:block;
    text-align: center;
}

.headerLink:hover {
    font-weight: bold;
    text-decoration: underline;
    transition-timing-function: cubic-bezier(.4, 0, 1, 1);
    transition-duration: .15s;
    text-underline-offset: 4px;
    transition-property: all;
}


.primaryCTA {
    /* background: rgb(35 47 97); */
    text-align: center;
    /* color: white; */
    padding-top: .5rem;
    padding-bottom: .5rem;
    padding-left: 1rem;
    padding-right: 1rem;
    border-radius: 1.5rem;
    display: inline-block;
    cursor: pointer;
}

.secondary {
    background: white;
    text-align: center;
    color: black;
    padding-top: .5rem;
    padding-bottom: .5rem;
    padding-left: 1rem;
    padding-right: 1rem;
    border-radius: 1.5rem;
    display: inline-block;

}

.largeCTA {
    width: 80%;
    max-width: 250px
}

.phoneIcon {
    width: 1rem;
    height: 1rem;
    font-weight: bold;
}

@media screen and (max-width: 768px) {
    html {
        font-size: 12px;
    }

    h1 {
        font-size: 2rem;
    }

}
@media screen and (max-width: 375px) {
    html {
        font-size: 12px;
    }

    h1 {
        font-size: 1.5rem;
    }

}

/* handlebars/views/partials/sections CSS */

/* header */

.simpleHeaderLogo {
    height: 5rem;
}

.simpleHeaderPhone {}

.simpleHeaderLinks {
    display: flex;
    flex-direction: row;
    height: 100%;
    align-items: center
}

.simpleHeaderLinks>li {
    padding-right: .5rem;
    padding-left: 0.5rem;
    list-style-type: none
}

.simpleHeaderHamburger {
    font-size: 2rem;
    display: none;
    cursor: pointer;
}

.simpleHeaderMobileLinks {
    display: none;
}
    .simpleHeaderPhoneContainer  {
        position:relative;
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:.5rem;
    }

    .simpleHeaderHamburgerContainer {
        display:none;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:.5rem;        
    }
    .simpleHeaderHamburgerContainer .language-toggle {
        display:none;
    }
    @media screen and (max-width: 768px) {
        .simpleHeaderHamburgerContainer {
            display:flex;
        }
        .simpleHeaderHamburgerContainer .language-toggle {
            display:flex;
        }
        .simpleHeaderPhoneContainer .language-toggle {
            display:none;
        }
    }


@media screen and (max-width: 768px) {
    .simpleHeaderPhone {
        font-size: 1.5rem;
        display:flex;
        flex-direction: column;
        margin-right:.5rem;
    }

    .simpleHeaderLinks {
        display: none;
    }

    .simpleHeaderLinks>li {
        display: block;
    }

    .simpleHeaderHamburger {
        display: block;
    }

    .simpleHeaderMobileLinks {
        display: none;
        z-index: 1000;
        right: 0px;
        top: 5rem;
        position: fixed;
        text-decoration: none;
        list-style-type: none;
        border-left: 1px solid lightgray;
        border-right: 1px solid lightgray;
        border-top: 1px solid lightgray;
        background: white;
    }

    .simpleHeaderMobileLinks>li {
        border-bottom: 1px solid lightgray;
        padding: 1rem;
    }
}

/* banner */
.simpleBanner {
    position: relative;
    /* z-index: 0; */
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.simpleBannerHeroImage {
    flex: 1;
}

.simpleBannerHeroImage.layoutLeft {
    order:0;
}

.simpleBannerHeroImage.layoutRight {
    order:2;
}
.simpleBannerHeroImage.layoutMiddle {
    order:0;
}
.simpleBannerHeroImage.layoutMiddle>img{
    height:95vh;
    width:100%;
}


.simpleBannerHeroImage>img {
    width: 100%;
    height: 100%;
    vertical-align: middle;
    max-width: 100%;
    object-fit: cover;
    max-height: 100%;
}

.simpleBannerHeroText {
    flex: 1;
    padding:1rem;
    text-align: center;
    margin: 4rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius:1rem;
    gap: 1rem;
}
.simpleBannerHeroText.layoutMiddle {
    position:absolute;
    left:0;
    bottom:0;
}

@media screen and (max-width: 768px) {
    .simpleBanner {
        flex-direction: column;
        /* padding-top: unset; */
    }

    .simpleBannerHeroImage,
    .heroText {
        flex: unset;
        width: 100%;
    }

    .simpleBannerHeroText {
        position: absolute;
        width: 75%;
        /* height: 50%; */
        border-radius: 1rem;
        padding: 1rem;
        opacity: .9;
        margin-left: 12.5%;
    }
    .simpleBannerHeroText.layoutMiddle {
        width: unset;
        height: unset;
    }

}

/* content */
.simpleContentContainer {
    display: flex;
    flex-direction: column;
    text-align: center;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    padding: 2rem;
}

.simpleContentIconText_img {
    height: 16rem;
    object-fit: contain;
}
@media screen and (max-width: 768px) {
    .simpleContentIconText_img {
        height:12rem;

    }
}

/* services */
.simpleServiceImage {
    border-radius: 2rem;
    object-fit: contain;
    /* min-width: 30rem; */
    width: 100%;
    height: 100%;
    max-height:30rem;
}

.simpleServiceRow_container {
    padding-left: 2rem;
    padding-right: 2rem;
    align-items: center;
    justify-content: center;
    display:grid;
    gap:2rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));    
}

@media screen and (max-width: 768px) {
    .simpleServiceRow_container {
        grid-template-columns: repeat(1, minmax(0, 1fr));    
    }
    .responsiveOrder {
        order:1 !important;
    }
}

.simpleServiceRow {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding-top: 2rem;
    padding-bottom: 2rem;
    max-width: 1000px;
}

.simpleServiceTitle {
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
    padding-top: 4rem;
    background: rgb(240 240 240)
}

.simpleServoceOdd {
    background: rgb(240 240 240)
}

.simpleServiceEven {}

.simpleServiceDescription {
    padding-left: 2rem;
}

.simpleServiceDescription>span {
    font-weight: 700;
    font-size: 2.25rem;
    line-height: 2.5rem;
}

@media screen and (max-width: 768px) {
    .simpleServiceRow {
        flex-direction: column;
    }

    .simpleServiceRow>img {
        order: 0 !important;
    }

    .simpleServiceDescription {
        padding-left: unset;
        padding-bottom: 1rem;
        padding-top: 1rem;
        text-align: center;
        order: 0 !important;
    }
}

/* reviews */

.simpleReviewsTitle {
    text-align: center;
    padding-bottom: 2rem;
    font-weight: 700;
    font-size: 2rem;
}

.simpleReviewsCard {
    border-radius: 2rem;
    gap: 1rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    display: flex;
    flex-direction: column;
    text-align: center;
    padding-left: 2rem;
    padding-right: 2rem;
    max-width: 280px;
}

.simpleReviews {
    padding-top: 4rem;
    padding-bottom: 4rem;
}

.simpleReviews_container {
    align-items: center;
    justify-content: center;
    gap: 2rem;
    padding-left: 4rem;
    padding-right: 4rem;
    display: flex;
    flex-direction: row
}

.simpleReviewsText {}

.simpleReviewsName {
    font-weight: 500;
    font-size: 1.25rem;
}

.simpleReviewsStars {
    color: rgb(255 193 48);
    font-size: 1.25rem;
}

@media screen and (max-width: 768px) {
    .simpleReviews_container {
        flex-direction: column;
    }

    .simpleReviewsCard {
        max-width: unset;
        font-size: 1.5rem;
    }
}

/* serviceArea */
.simpleServiceArea_container {
    display: flex;
    flex-direction: row;
    padding:1rem;
    /* width: 75% */
}

.simpleServiceArea_container>div {
    flex: 1
}

.simpleServiceArea_map {
    order: 1;
}

.simpleServiceArea_map>iframe {
    width: 100%;
    height: 450px;
    border: 0;
    padding:0;
    margin:0;

}

.simpleServiceArea_info {
    display: flex;
    flex-direction: column;
    text-align: left;
    justify-content: center;
    gap: 2rem;
}

@media screen and (max-width: 768px) {
    .simpleServiceArea_container {
        flex-direction: column;
        width: 100%;
        padding: 1rem;
    }

    .simpleServiceArea_info {
        padding-left: unset;
        padding-bottom: 1rem;
        font-weight: bold;
    }

    .simpleServiceArea_map>iframe {
        height: 350px;
    }
}

/* FAQs */

.simpleFAQs_section {
    background: rgb(41 45 50);
    color: white;
    padding-top: 4rem;
    padding-bottom: 4rem
}

.simpleFAQs_title {
    text-align: center;
    padding-bottom: 4rem;
}

.simpleFAQs_container {
    display: flex;
    justify-content: center;
    text-align: left;
}

.simpleFAQs_container>ul {
    max-width: 1000px;
    width: 75%
}

.simpleFAQs_container>ul>li {
    list-style: none;
}

.simpleFAQs_container>ul>li {}

.simpleFAQs_entry {
    padding-top:1rem;
    display:flex;
    flex-direction:row;
    flex-wrap:nowrap;
    font-weight:bold;
}

.simpleFAQs_question {
    float: left;
    font-weight: 700;
}

.sampleFAQs_plusMinus {
    float: right;
    padding-right: 2rem;
}

.sampleFAQs_answer {
    padding-top: 1rem;
    display: none;
}

.sampleFAQs_divider {
    padding-top: 1rem;
    border-bottom: 1px solid white;
}

@media screen and (max-width: 768px) {
    .simpleFAQs_container>ul {
        width: 90%;
    }
}

    .footerSection {
        display:flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding:1rem;
        gap:1rem;
    }
    .footerContent {
        display:flex;
        max-width:1000px;
        flex-direction: row;
        gap:8rem;

    }
    .footerLogo {
        display:flex;
        flex-direction: column;
        align-items: center;

    }
    .footerLogo img {
        height:5rem;
        margin-bottom:1rem;
    }
    .footerLogo a i {
        padding-right:1rem;
    }
    .footerSitemap {
        display:flex;
        flex-direction: row;
        padding-bottom:1rem;
    }
    .footerSitemap div {
        display:flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap:2rem;
    }

    @media screen and (max-width: 768px) {
        .footerContent {
            flex-direction: column;
            gap:2rem;
        }
        .footerLogo {
            align-items: center;
        }
        .footerSitemap div {
            gap:1rem;
        }
    }
    @media screen and (max-width: 400px) {
        .footerSitemap div {
            gap:.5rem;
        }
    }

/* contacts */
.centerContainer {
    display: flex;
    justify-content: center;
    align-items: center;
}

.contactSection {
    display: flex;
    flex: 1;
    max-width: 1000px;
}

.contactForm {
    order: 2;
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 1rem;
    gap: 1rem;
}
.contactDetails {
    order: 1;
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 1rem;
}
.contactDetails h2 {
    margin-top:0px;
    margin-bottom:1rem;
}
.contactDetails ul {
    list-style-type:none;
    padding:unset;
}
.contactDetails ul li {
   margin-bottom:1.5rem;
}
.contactDetails ul li span {
    padding-left:2rem;
}

i.icon {
    padding-right:1rem;
    font-size: 1.25rem;
    line-height:1.25rem;
}
@media screen and (max-width: 768px) {
    .centerContainer {
        /* justify-content: unset; */
        align-items: unset;
    }
    .contactSection {
        flex-direction: column;
    }
    .contactDetails {
        text-align: center;
    }
}

.popup-overlay {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.5);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 1000;
  }

  .popup {
    background: white;
    padding: 30px;
    border-radius: 8px;
    text-align: center;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    max-width: 300px;
  }

  .popup button {
    margin-top: 20px;
    padding: 8px 16px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
  }

  .popup button:hover {
    background: #0056b3;
  }

.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #1E90FF;
    padding: 10px 20px;
    position: fixed;
    background-color: white;
    left: 0px;
    top: 0px;
    width: 100%;
    min-height: 90px;

    }

    .header .logo {
      font-size: 1.5em;
      font-weight: bold;
    }

    .header ul {
      list-style: none;
      display: flex;
      margin: 0;
      padding: 0;
    }

    .header li {
      margin-left: 20px;
    }

    .header a {
      text-decoration: none;
      font-weight: bold;
    }

    .hamburger {
      display: none;
      flex-direction: column;
      cursor: pointer;
    }

    .hamburger div {
      width: 25px;
      height: 3px;
      background-color: black;
      margin: 4px 0;
    }

    /* Mobile view */
    @media (max-width: 768px) {
      .header ul {
        display: none;
        flex-direction: column;
        width: 100%;
        background-color: #1E90FF;
      }
    .header a {
        font-size:1rem;
        font-weight: unset;
    }

      .header ul.active {
        display: flex;
      }

      .hamburger {
        display: flex;
      }

      .header li {
        margin: 10px 0;
        text-align: center;
      }
    }
    
.pageWrapper {
    /* max-width:1028px; */
    margin:0 auto;
}


/* style for input with icon element */
.input-container {
    position: relative;
    display: inline-block;
}

.input-with-icon {
    border-radius: .5rem;
    padding-left: 1rem;
    padding-right: 1rem;
    box-sizing: border-box;
    color:black !important;
    font-weight: bold ;

    width: 200px;
    padding: 0.9rem;
    font-size: 16px;
}

.input-icon {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer; /* Prevents the icon from capturing mouse events */
}

.input-icon svg {
    width: 20px; /* Adjust the size of the image as needed */
    height: 20px;
}


.language-toggle {
    display: inline-flex;
    border: 2px solid #36454F;
    /* green border */
    border-radius:8px;
    /* full rounded corners */
    overflow: hidden;
    font-weight: bold;
    font-family: sans-serif;
    font-size: 14px;
}

.language-toggle button {
    padding: 3px 3px;
    border: none;
    background-color: white;
    color: #36454F;
    cursor: pointer;
    transition: background-color 0.3s, color 0.3s;
    line-height:.75rem;
    /* height:1.5rem; */
    border-radius: 0;;
}

.language-toggle button.active {
    background-color: #36454F;
    color: white;
}

.language-toggle button:focus {
    outline: none;
}

/* Hide on small screens */
.responsive-hide {
    display: none;
}

/* Show only on screens >= 1024px */
@media screen and (min-width: 1024px) {
    .responsive-hide {
        display: inline;
    }
}

/* Show on small screens */
.responsive-show {
    display: inline;
}

/* Hide on screens >= 1024px */
@media screen and (min-width: 1024px) {
    .responsive-show {
        display: none;
    }
}