* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {

    height: 100%;
    overflow-x: hidden;
    overflow-y: auto !important;
    scroll-behavior: smooth;
}

body {
    position: relative;
    height: auto !important;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    line-height: 30px !important;
    font-size: 1rem;
    font-weight: 400 !important;
    overflow-x: hidden;
    font-family: var(--primaryfont);
    color: var(--bodyclr);
}

/* Inner Dot */
.cursor-inner {
    width: 8px;
    height: 8px;
    background-color: var(--themesecondaryclr);
    border-radius: 50%;
    position: fixed;
    pointer-events: none;
    z-index: 9999;
    transform: translate(-50%, -50%);
}

/* Outer Ring */
.cursor-outer {
    width: 35px;
    height: 35px;
    border: 2px solid var(--themesecondaryclr);
    border-radius: 50%;
    position: fixed;
    pointer-events: none;
    z-index: 999999;
    transform: translate(-50%, -50%);
    transition: transform 0.15s ease-out;
}

#main-view-scroll {
    overflow-y: auto;

}


img {
    max-width: 100%;
}

.fw-custom {
    font-weight: 400;
}

section {
    padding: 7rem 0 0px;
}



@media (max-width: 767px) {
    section {
        padding: 3rem 0 3rem 0;
    }
}

footer {
    margin-top: auto;
}

.border-gray-border_100 {
    border: 1px solid var(--borderclr);
    width: 100%;
}

.border-dark-border_100 {
    border: 1px solid var(--darkclr);
    width: 100%;
}

input {
    font-size: 1rem;
}

input:focus {
    box-shadow: none;
    outline: none;
}

b {
    color: var(--darkclr);
}

input::placeholder {
    font-size: 1rem;
}

textarea {
    font-size: 1rem;
}

textarea:focus {
    box-shadow: none;
    outline: none;
}

textarea::placeholder {
    font-size: 1rem;
}



a {
    font-size: 1rem;
    text-decoration: none;
    color: var(--lightbg);
}

a:hover {
    color: var(--themeprimaryclr) !important;
    text-decoration: none;
}

a:active {
    color: var(--themeprimaryclr);
}

/* ------------------------------------header a , p , span ------------------------------------*/
header a,
header span,
header p,
header select {
    font-size: 1rem !important;
    letter-spacing: 0.00938em;
    text-decoration: none;
    color: var(--lightbg);
}

@media (max-width: 767px) {

    header a,
    header span,
    header p,
    header select {
        letter-spacing: unset;
    }
}

header a:hover {
    color: var(--themeprimaryclr);
}

/* ---------------------------------------footer a, p , span--------------------------------------- */
footer a,
footer span,
footer p {
    font-size: 0.9375rem;
    color: var(--footerclr) !important;
    letter-spacing: 0.00938em;

}

footer a:hover {
    color: var(--themeprimaryclr);
}

.active {
    color: var(--themeprimaryclr) !important;
}

label {
    font-size: 1rem;
}

p {
    font-size: 1rem;
    color: var(--paragraph);
    line-height: 1.8;
    font-weight: 400;
}

span {
    font-size: 1rem;
}

ul {
    padding-left: 0px;
    margin-bottom: 0px;
}

ul li {
    list-style: none;
}

ol li {
    list-style: none;
}

h1 {
    font-size: 2.5rem;
    font-family: var(--primaryfont);
}

h2 {
    font-size: 2rem;
    font-family: var(--primaryfont);
}

h3 {
    font-size: 1.75rem;
    font-family: var(--primaryfont);
}

h4 {
    font-size: 1.5rem;
    font-family: var(--primaryfont);
}

h5 {
    font-size: 1.25rem;
    font-family: var(--primaryfont);
}

h6 {
    font-size: 1rem;
    font-family: var(--primaryfont);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--darkclr);
}

.fs-same {
    font-size: 0.75rem !important;
}

.red {
    color: #ff2b2b !important;
}

.navbar-brand{
    padding: 0;
    margin: 0;
}
.green {
    color: #198754 !important;
}

.orange {
    color: #ff7300 !important;
}

.yellow {
    color: #f2dc00 !important;
}

.blue {
    color: #00f !important;
}

.sitename {
    color: #1c75a1 !important;
}







.main-heading {
    font-size: 2rem !important;
    font-family: var(--primaryfont);
    color: var(--headingclr);
    line-height: 41px !important;
    text-transform: capitalize !important;
    font-weight: 700 !important;
}

.sub-heading2 {
    font-size: 1.875rem !important;
    font-weight: 700;
    line-height: 1.2;
    text-transform: capitalize !important;
}

.sub-heading3 {

    font-size: 1.70rem !important;
    color: var(--headingclr);
    font-family: var(--primaryfont);
    line-height: 29px !important;
    font-weight: 700 !important;
}

.sub-heading {
    font-size: 1.375rem !important;
    color: var(--headingclr);
    font-family: var(--primaryfont);
    line-height: 29px !important;
    font-weight: 700 !important;
}

.sub-heading-two {
    font-size: 0.75rem !important;
    color: var(--headingclr);
    font-family: var(--primaryfont);
}

header.header-sticky .navbar ul .nav-item .nav-link {
    color: var(--darkclr) !important;
}

header.header-sticky .showlogo {
    display: none !important;
}

header.header-sticky .hide_logo {
    display: block !important;
}

.sub-heading-three {
    font-size: .80rem !important;
    color: var(--themesecondaryclr) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    font-family: var(--primaryfont);
}



.hover-underline:hover {
    text-decoration: underline !important;
    color: #00f !important;
}

.hover-change:hover {
    background-color: var(--themeprimaryclr);
}

.checkbox {
    width: 1em;
    height: 1em;
    margin-top: 0.3em;
    background-color: var(--themeprimaryclr);
    border: 1px solid var(--themeprimaryclr);
    appearance: none;
    print-color-adjust: exact;
}

.checkbox:checked {
    background-color: var(--themeprimaryclr);
    border-color: var(--themeprimaryclr);
}

.checkbox:focus {
    box-shadow: 0 0 0 0.25rem rgba(var(--plainclr), 0.25);
}

.radio-button {
    border-radius: 50%;
}

.radio-button:checked {
    background-color: var(--themeprimaryclr);
    border-color: var(--themeprimaryclr);
}

.radio-button:focus {
    box-shadow: 0 0 0 0.25rem rgba(var(--plainclr), 0.25);
}

.table {
    width: 100%;
    margin-bottom: 0.75rem;
    color: var(--bs-table-color);
    vertical-align: top;
    border-color: var(--themesecondaryclr);
}

th {
    font-weight: bold;
    text-align: start;
    background-color: var(--bs-table-bg);
    border-bottom: 1px solid var(--plainclr);
}

tr {
    border-top: 1px solid var(--darkclr);
}

td {
    padding: 0.75rem;
    border-top: 1px solid var(--plainclr);
}

span.title {
    font-size: 2.75rem;
    font-weight: 500;
    color: var(--headingclr);
    font-family: var(--primaryfont);
}



@media (max-width: 1200px) {
    span {
        font-size: 0.85rem;
    }



    a {
        font-size: 0.85rem;
    }

    label {
        font-size: 0.85rem;
    }

    h1 {
        font-size: 2rem;
    }

    h2 {
        font-size: 1.75rem;
    }

    h3 {
        font-size: 1.5rem;
    }

    h4 {
        font-size: 1.25rem;
    }

    h5 {
        font-size: 1.125rem;
    }

    h6 {
        font-size: 0.75rem;
    }


    .fs-same {
        font-size: 0.85rem !important;
    }

    span.title {
        font-size: 2.75rem;
    }

    .sec-des {
        font-size: 0.75rem !important;
    }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
    section {
        padding: 6rem 0 0px;
    }

    .sub-heading3 {
        font-size: 1.2rem !important;
        color: var(--headingclr);
        font-family: var(--primaryfont);
        line-height: 29px !important;
        font-weight: 700 !important;
    }

    .main-heading {
        font-size: 1.2rem !important;
        line-height: 33px !important;
        margin-bottom: 0;
    }

    .sub-heading {
        font-size: 1rem !important;
    }

    .fs-same,
    .sec-des,
    a,
    p,
    ul li,
    span {
        font-size: 0.9rem !important;
    }
}

@media (max-width: 767px) {

    .fs-same,
    .sec-des,
    a,
    p,
    ul li,
    span {
        font-size: 0.9rem !important;
    }

    span.title {
        font-size: 0.9rem !important;
    }

    label {
        font-size: 0.9rem;
    }

    .fs-sm-same {
        font-size: 0.9rem !important;
    }

    .sub-heading3 {

        font-size: 1.2rem !important;
        line-height: 29px !important;
        font-weight: 700 !important;
    }

    .main-heading {

        font-size: 1.2rem !important;

        line-height: 29px !important;
        font-weight: 700 !important;
    }

    .sub-heading {
        font-size: 1rem !important;

        line-height: 24px !important;
    }



    .btn-theme-two {
        display: inline-block;
        background: var(--plainclr);
        color: var(--themesecondaryclr);

        border-radius: 30px;
        padding: 9px 14px;
        font-size: 15px;
        font-weight: 600;
        text-align: center;
        text-transform: capitalize;
        position: relative;
        overflow: hidden;
        z-index: 1;
        transition: .5s;


    }

    .tp-btn-inner {
        padding: 9px 14px !important;
    }
}




.active>.page-link,
.page-link.active {
    background-color: var(--themeprimaryclr);
    border-color: var(--themeprimaryclr);
}


.btn-theme-one {
    display: inline-block;
    background: var(--themeprimaryclr);
    color: var(--darkclr) !important;
    border-radius: 30px;
    border: none;
    padding: 0px 35px;
    font-size: 15px;

    font-weight: 600;
    line-height: 49px;
    text-align: center;
    text-transform: capitalize;
    position: relative;
    margin-right: 9px;
    overflow: hidden;
    z-index: 1;
    transition: .5s;

    &.white-bg {
        &:hover {
            transform: translateY(-2px);
            box-shadow: 0px 8px 24px 0px rgba(25, 118, 41, 0.3);
        }
    }


    &:hover {
        & span {
            color: var(--plainclr) !important;
            transition-delay: .1s;
        }
    }
}


.btn-theme-one-hover {
    position: relative;
    z-index: 2;
    overflow: hidden;

    & b {
        position: absolute;
        width: 0px;
        height: 0px;
        background-color: var(--themesecondaryclr);
        border-radius: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        -webkit-transition: all .7s ease;
        transition: all .7s ease;
        z-index: 1;
    }

    &:hover {
        & b {
            width: 400px;
            height: 400px;
            display: inline-block;
        }
    }

    &.alt-color {
        & b {
            background-color: var(--themesecondaryclr);
        }
    }

    &.alt-color-black {
        & b {
            background-color: var(--themesecondaryclr);
            z-index: -1;
        }
    }

    &.alt-color-white {
        & b {
            background-color: var(--plainclr);
        }
    }
}

.btn-theme-two {
    border: none;
    display: inline-block;
    background: var(--plainclr);
    color: var(--themesecondaryclr);

    border-radius: 30px;

    line-height: 21px;
    padding: 14px 24px;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    text-transform: capitalize;
    position: relative;
    overflow: hidden;
    z-index: 1;
    transition: .5s;

    &.white-bg {
        &:hover {
            transform: translateY(-2px);
            box-shadow: 0px 8px 24px 0px rgba(25, 118, 41, 0.3);
        }
    }

    & span {
        position: relative;
        z-index: 5;
        transition: .3s;
        transition-delay: .3s;
        color: var(--themesecondaryclr);
        display: inline-block;
    }

    &:hover {
        & span {
            color: var(--plainclr);
            transition-delay: .1s;
        }
    }
}

.btn-theme-two {
    position: relative;
    z-index: 2;
    overflow: hidden;

    & b {
        position: absolute;
        width: 0px;
        height: 0px;
        background-color: var(--themesecondaryclr);
        border-radius: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        -webkit-transition: all .7s ease;
        transition: all .7s ease;
        z-index: 1;
    }

    &:hover {
        & b {
            width: 400px;
            height: 400px;
            display: inline-block;
        }
    }

    &.alt-color {
        & b {
            background-color: var(--themesecondaryclr);
        }
    }

    &.alt-color-black {
        & b {
            background-color: var(--themesecondaryclr);
        }
    }

    &.alt-color-white {
        & b {
            background-color: var(--plainclr);
        }
    }
}

.btn-theme-three {
    display: inline-block;
    background-color: var(--themeprimaryclr);
    color: var(--darkclr);

    height: 48px;
    border: none;


    line-height: 48px;
    border-radius: 30px;
    padding: 0 30px;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    text-transform: capitalize;
    position: relative;
    overflow: hidden;
    z-index: 1;
    transition: 0.5s;

    span {
        z-index: 99;
        position: relative;
        transition: 0.3s;
        transition-delay: 0.3s;
        color: var(--darkclr);
    }

    &:hover span {
        color: var(--themesecondaryclr) !important;
        transition-delay: 0.1s;
    }
}

.btn-theme-three-hover {
    position: relative;
    z-index: 2;
    overflow: hidden;

    b {
        position: absolute;
        width: 0px;
        height: 0px;
        background-color: var(--plainclr);
        border-radius: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        -webkit-transition: all 0.7s ease;
        transition: all 0.7s ease;
        z-index: 1;
    }

    &:hover b {
        width: 400px;
        height: 400px;
        display: inline-block;
    }

    &.alt-color-white b {
        background-color: var(--plainclr);
    }
}

.impact_banner {
    height: 480px;

}

@media (max-width:992px) {


    .about-banner-area .about-img {
        height: 345px !important;
        border-radius: 15px;
        margin-top: 19px;
    }

    .about-banner {

        top: 29% !important;
    }

    .impact_banner {
        height: 345px !important;
    }

    .mt_company_top {
        top: 46% !important;
    }
}

.impact_banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}



.contact-info i {
    color: var(--themeprimaryclr);
    margin-right: 5px;
}

.fa-exclamation-triangle {
    color: var(--themeprimaryclr);
    margin-right: 5px;
}

.contact-info {
    margin-bottom: 3rem;
}