:root {

    /* Site Colors */
    --primary-color: #04654F;
    --secondary-color: #BEF05B;
    --btn-text-color: #ffffff;
}

html{
    scroll-behavior: smooth;
}

body {
    font-family: 'Inter';font-size: 22px;
}
h2{
    font-size: 42px;
}


/* Dynamic button background color */
.site-btn{
    background: linear-gradient(to right, var(--primary-color), var(--secondary-color));
    color: var(--btn-text-color);
    font-size:18px;
}

/* Dynamic button background color end */

/* Header css start here */

div#mobile-menu {
    position: fixed;
    width: 95%;
    right: 0;
    background-color: #ffffff;
}
.hidden-header {
    transform: translateY(-100%);
}
header#header {
    z-index: 99;
}
header {
    width: 100%;
    background: #ffffff;
    text-align: center;
    position: relative;
    top: 0;
    transition: transform 0.3s ease-in-out;
}
.sticky {
    position: fixed;
    margin: auto!important;
    width: 100%;
    border-radius: 0;
    overflow: hidden;
    background: linear-gradient(to right, var(--primary-color), var(--secondary-color));
    color: #fff;
    box-shadow: 0px 0px 5px 1px #5757576e;
    top: 0;
    transition: top 0.5s ease-in-out;
}
.main-site-btn {
    width: 20%;
    text-align: right;
}
.relative.clip-path-logo {
    width: 20%;
    text-align: left;
}
nav {
    width: 60%;
    justify-content: center;
}
.sticky .relative.clip-path-logo img {
    width: 50%;
}
.clip-path-logo img {
    width: 70%;
}
.sticky .site-btn {
    padding: 6px 20px;
    font-size: 18px;
    background:#fff;
    color: var(--primary-color);
}


/* Hero section css start here */
section.hero {
    background-image: url(../images/banner.png);
    padding: 125px 0px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    position: relative;
}

section.hero:before {
    content: "";
    height: 100%;
    width: 100%;
    background-image: linear-gradient(116deg, #000000eb, #006a52e6);
    position: absolute;
    top: 0;
}
section.hero .container {
    position: relative;
}
.hero-element {
    width: 60%;
}
h1.hero-title {
    font-size: 45px;
    font-weight: 700;
    line-height: 1.1em;
}
p.pt-8.pb-8.hero-content {
    font-size: 18px;
    line-height: 35px;
    font-family: 'Inter';
    font-weight: 300;
}
.hero-btn{
    font-size:18px;
}
.hero-element a, section.about-section a, section.contact-us a span, footer a span {
    transition: 0.3s!important;
}
/* About section css start here */
section.about-section {
    padding: 80px 0px;
}
.subtitle-badge{
    background-color: #fff;
    color: var(--primary-color);
    box-shadow: 0px 10px 10px -7px #bbb;
    padding: 15px 45px;
    font-size: 17px;
    font-weight: 700;
}
.title-highlight{
    color:var(--primary-color);
}
.about-text{
    font-size: 18px;
    line-height: 35px;
    font-family: 'Inter';
    font-weight: 300;
    width:95%;
}
.text-border {
    border-left: 2px solid var(--primary-color);
    padding-left: 20px;
    margin: 25px 0px;
}

/* Service section css start here */
section.services {
    background-image: url(../images/servicebg.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding: 80px 0px;
}
.service-box {
    border-radius: 60px 0px 0px 15px;
    transition: 0.3s!important;
}
.service-box:hover {
    transform: translate(0px, -10px)!important;
}
.divider {
    width: 45%;
    height: 4px;
    background-color: var(--primary-color);
    margin: 20px auto;
}
/* Contact us section css start here */

section.contact-us {
    color:#fff;
}
.overlay {
    background-image:  linear-gradient(116deg, #000000eb, #006a52e6);
    padding: 125px 0px;
}

/* Location section css start here */
section.location {
    padding: 80px 0px;
}
.map-container {
    width: 100%;
    height: 300px;
    overflow: hidden;
    border-radius: 10px;
}
iframe {
    width: 100%;
    height: 400px;
    border: none;
}
/* Footer css start here */
footer{
    padding: 40px 0px 20px 0px;
}


/* Mobile media query start here */
@media (min-width: 320px) and (max-width: 767px) {
    .sticky .relative.clip-path-logo img {
        width: 80%;
    }
    .clip-path-logo img {
        width: 100%!important;
    }
    .relative.clip-path-logo {
        width: 35%;
    }
    .sticky .relative.clip-path-logo{
        width: 30%;
    }
    div#mobile-menu {
        width: 71%;
        color: #000;
        border-bottom: 2px solid #000;
        border-top: 2px solid #000;
        padding-bottom: 40px;
    }
    nav {
        line-height: 45px;
        padding:0px;
        width:100%;
    }
    .mobile-btn {
        margin-top: 40px!important;
        padding: 4px 30px!important;
    }
    nav a {
        width: 100%;
        padding: 5px;
        border-bottom: 1px solid #bbbbbb5e;
        margin: 0px;
    }
    section.hero {
        padding: 50px 0px;
    }
    .hero-element {
        width: 99%;
    }
    h1.hero-title {
        font-size: 35px;
    }
    p.pt-8.pb-8.hero-content {
        font-size: 16px;
        line-height: 28px;
    }
    .hero-element a.hero-btn {
        text-align: center;
        padding: 10px 30px;
        width: auto !important;
        margin: 0px;
        font-size: 18px;
    }
    section.about-section, section.services, section.location, footer {
        padding: 30px 18px;
    }
    .overlay {
        padding: 40px 18px;
    }
    .responsive-row {
        flex-direction: column;
    }
    h2 {
        width: 100%;
        font-size: 30px;
    }
    .about-text {
        font-size: 16px;
        line-height: 30px;
    }
    .subtitle-badge {
        margin: 0px 0px 10px;
        padding: 10px 30px;
    }
    .site-btn {
        width: auto;
        margin-top: 0px;
        padding: 10px 15px;
        font-size: 18px;
    }
    .copyright {
        margin-top: 25px;
    }
    footer {
        padding: 30px 18px;
    }
}

/* Ipad media query start here */
@media (min-width: 768px) and (max-width: 1024px) {
    .clip-path-logo img {
        width: 90%!important;
    }
    .sticky .clip-path-logo img {
        width: 75%!important;
    }
    nav {
        width: 50%;
    }
    .main-site-btn, .relative.clip-path-logo {
        width: 25%;
    }
    nav a {
        font-size: 16px;
    }
    .site-btn, .sticky .main-site-btn .site-btn {
        font-size: 16px;
    }
    .hero-element {
        width: 85%;
        margin:auto;
    }
    section.hero {
        padding: 100px 0px;
    }
    .responsive-row {
        display: flex;
        flex-direction: column;
    }
    section.about-section {
        padding: 60px 50px;
    }
    .about-section img {
        width: 100%;
        max-width: 70%;
    }
    .responsive-row .flex, .responsive-row .ipad {
        width: 100%;
    }
    h2 {
        font-size: 35px;
        width:90%;
    }
    .subtitle-badge {
        margin: 40px 0px 20px;
    }
    section.services {
        padding: 40px 0px 50px;
    }
    section.location {
        padding: 40px 50px 50px;
    }
    section.services .grid {
        padding: 0px 50px;
        margin-top: 40px;
    }
    .overlay {
        padding: 100px 0px;
    }
    footer {
        padding: 60px 50px;
    }
    footer h2 {
        width: 100%;
    }
    .footer-menu {
        width: 50%;
        font-size: 16px;
    }
    .copyright{
        width:45%;
    }
    footer .subtitle-badge {
        margin: 0px 0px 20px;
    }
}

/* ipad pro media css start here */
@media (min-width: 1024px) and (max-width: 1366px) {
    .main-site-btn, .relative.clip-path-logo {
        width: 20%;
    }
    nav {
        width: 60%;
    }
    nav a {
        margin: 0px 25px;
    }
    .service-box {
        border-radius: 15px 0px 0px 15px;
        padding: 20px 5px;
    }
    footer .subtitle-badge {
        margin: 0px 0px 20px;
    }
}

/* Nest Hub media query */
@media (max-width: 1024px) and (min-height: 600px) and (max-height: 601px) {
    .responsive-row {
        display: flex;
        flex-direction: row;
    }
    footer .subtitle-badge {
        margin: 0px 0px 20px;
    }
}


/* Nest Hub max media query */
@media (max-width: 1024px) and (min-height:800px) and (max-height: 801px) {
    .hero-element {
        width: 80%;
        margin: auto;
    }
    section.services, section.location {
        padding: 80px 50px;
    }
    footer {
        padding: 40px 50px 20px 50px;
    }
    footer .subtitle-badge {
        margin: 0px 0px 20px;
    }
}