:root {

/* Responsive Font Size  */
--fs-display-1: clamp(3rem, calc(1rem + 5vw), 4.5rem);
--fs-display-2: clamp(2.5rem, calc(0.8rem + 4.5vw), 4rem);
--fs-display-3: clamp(2rem, calc(0.75rem + 4vw), 3.5rem);
--fs-display-4: clamp(1.75rem, calc(0.5rem + 3.5vw), 2.75rem);
--fs-display-5: clamp(1.5rem, calc(0.5rem + 3vw), 2.5rem);
--fs-display-6: clamp(1.25rem, calc(0.4rem + 2.5vw), 2rem);

--fs-h1: clamp(2.5rem, calc(1rem + 3vw), 3.2rem);
--fs-h2: clamp(2.25rem, calc(0.9rem + 2.5vw), 2.8rem);
--fs-h3: clamp(2rem, calc(0.8rem + 2vw), 2.5rem);
--fs-h4: clamp(1.75rem, calc(0.6rem + 1.5vw), 2.2rem);
--fs-h5: clamp(1.5rem, calc(0.5rem + 1vw), 1.8rem);
--fs-h6: clamp(1rem, calc(0.4rem + 0.8vw), 1.2rem);

--fs-1: clamp(2.2rem, calc(0.9rem + 2.8vw), 2.8rem);
--fs-2: clamp(1.9rem, calc(0.7rem + 2.3vw), 2.4rem);
--fs-3: clamp(1.65rem, calc(0.55rem + 1.9vw), 2.1rem);
--fs-4: clamp(1.4rem, calc(0.45rem + 1.6vw), 1.8rem);
--fs-5: clamp(1.2rem, calc(0.35rem + 1.2vw), 1.45rem);
--fs-6: clamp(0.95rem, calc(0.25rem + 0.9vw), 1.15rem);

  
}

.h1 { font-size: var(--fs-h1); }
.h2 { font-size: var(--fs-h2); }
.h3 { font-size: var(--fs-h3); }
.h4 { font-size: var(--fs-h4); }
.h5 { font-size: var(--fs-h5); }
.h6 { font-size: var(--fs-h6); }

.fs-1 { font-size: var(--fs-1) !important; }
.fs-2 { font-size: var(--fs-2) !important; }
.fs-3 { font-size: var(--fs-3) !important; }
.fs-4 { font-size: var(--fs-4) !important; }
.fs-5 { font-size: var(--fs-5) !important; }
.fs-6 { font-size: var(--fs-6) !important; }

/* Line-height and margin */
h1, h2, h3, h4, h5, h6{

}

/* Fallback for older browsers */
@supports not (font-size: clamp(1rem, 2vw, 2rem)) {
  :root {
    --display-1: 5rem;
    --display-2: 4.5rem;
    --display-3: 4rem;
    --display-4: 3.5rem;
    --display-5: 3rem;
    --display-6: 2.5rem;

    --h1: 3rem;
    --h2: 2.5rem;
    --h3: 2rem;
    --h4: 1.75rem;
    --h5: 1.5rem;
    --h6: 1.25rem;

    --fs-1: 3.5rem;
    --fs-2: 3rem;
    --fs-3: 2.5rem;
    --fs-4: 2rem;
    --fs-5: 1.5rem;
    --fs-6: 1.25rem;
  }
}



* {
  font-family: "Rubik", sans-serif !important;
}

/* Common Utility Start*/
.hm-sec-pt-40 {
  padding-top: 40px;
}

.hm-sec-my-40 {
  /*margin-top: 40px;*/
  margin-bottom: 40px;
}

.text-right{
    text-align: right;
}
.border-top {
  border-top: 1px solid #dee2e6 !important;
}

.border-bottom {
  border-bottom: 1px solid #dee2e6 !important;
}

.hm-geo-page h1,
.hm-geo-page h2,
.hm-geo-page h3,
.hm-geo-page h4,
.hm-geo-page h5,
.hm-geo-page h6 {
  color: #1e1e1e;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: .5rem;
  font-weight: 500;
}


.hm-geo-hero{
    background: radial-gradient(92.63% 656.84% at 93.84% 0.9%, rgba(76, 175, 80, 0.1) 0%, rgba(255, 255, 255, 0) 100%);
}
.hm-geo-page .hm-geo-hero h1{
    font-size: var(--fs-display-4);
}
.sec-heading{
    font-size: var(--fs-3);
}

.hm-g-color {
  color: #4CAF50;
}

.ligt-fw{
    font-weight: 300 !important;
}
.hm-primary-btn, .hm-secondary-btn{
    font-weight: 500;   
}
.hm-geo-bg-grey{
    background-color: #F7F7F7;
    border-top: 1px solid #D5D5D5;
    border-bottom: 1px solid #D5D5D5;
    
}
.container:before, .container:after, 
.container-fluid:before, 
.container-fluid:after, 
.row:before, .row:after{
    content: none;
}

.hm-geo-page .sec-heading{
    text-align: center;
    margin-bottom: 1em;
}

/* Common Utility End*/

/* For the Page only style */
.hm-geo-hero-left{
    padding-top: 40px;
    padding-bottom: 40px;
}
.hm-geo-hero-right{
    padding-top: 20px;
    padding-bottom: 20px;
}
.hm-geo-hero-left h3{
    margin-top: 8px;
    font-size: var(--fs-4);
}

.hm-geo-hero-left .btch{
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-block: 20px;
}
.hm-geo-hero-left .btch li{
    border: 1px solid #4CAF50;
    padding: 9px 12px;
    border-radius: 4px;
    display: flex;
    gap: 18px;
    align-items: center;
    box-shadow: 1px 3px 4px 2px rgba(0, 0, 0, 0.09);
}

.hm-geo-hero-left .btch li p{
    margin-bottom: 0px;
}
.hm-geo-hero-left .btch li p b{
    font-size: 140%;
    font-weight: 500;
}
.hero-left-image{
    /* object-position: right; */
    width: 100%;
    height: 100%;
    /* object-fit: cover; */
    object-fit: contain;
}

@media screen and (max-width: 992px) {
    .hero-left-image{
        width: calc(100% - 60px);
    }
}

.hm-geo-hero-left .btch-2{
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 30px;

}
.hm-geo-hero-left .btch-2 li{
    padding: 10px 20px;
    font-size: 16px;
    position: relative;

}
.hm-geo-hero-left .btch-2 li::after,
.hm-geo-hero-left .btch-2 li::before{
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    --line-size: 70%;
}

.hm-geo-hero-left .btch-2 li:nth-child(1){
    padding-left: 14px;
}
.hm-geo-hero-left .btch-2 li:nth-child(2)::before{
    bottom: 0px;    
    left: 50%;
    transform: translateX(-50%);
    width: var(--line-size);
    background-color: #1e1e1e8f;
}
.hm-geo-hero-left .btch-2 li:nth-child(1)::after,
.hm-geo-hero-left .btch-2 li:nth-child(3)::after{
    background-color: #1e1e1e8f;
    bottom: 0px;  
    width: var(--line-size);
    left: 50%;
    transform: translateX(-50%);
}
.hm-geo-hero-left .btch-2 li:nth-child(1)::before{
    width: 1px;
    height: var(--line-size);
    background-color: #1e1e1e8f;
    right: 0px;
    top: 50%;
    transform: translateY(-50%);
}
.hm-geo-hero-left .btch-2 li:nth-child(3)::before{
    width: 1px;
    height: var(--line-size);
    background-color: #1e1e1e8f;
    left: 0px;
    top: 50%;
    transform: translateY(-50%);
}
.hm-geo-hero-left .btch-2 li:nth-child(1)::after{
    left: 0px;
    transform: none;
    width: 85%;
}
.hm-geo-hero-left .btch-2 li:nth-child(3)::after{
    right: 0px;
    transform: none;
    width: 85%;
    left: unset;
}

.des-for-hrg,
.key-featuer,
.why-chosse,
.trans-the-way{
    --sec-space: 40px;
    margin-block: var(--sec-space);
}
.hm-geo-icon-card{
    background: #F3F9F6;
    border: 1px solid #EDEDED;
    border-radius: 9px;
    padding: 20px;
    display: flex;
    align-items: center;    
    gap: 20px;
}
.hm-geo-icon-card-2{
    background: #F3F9F6;
    border: 1px solid #EDEDED;
    border-radius: 4px;
    padding: 15px;
    min-height: 74px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
}
 .hm-geo-icon-card-2 p{
    /* margin-bottom: 0px; */
    margin-top: 0.8em;

}


.trans-the-way-patch{
    border-radius: 12px;
    border: 1px solid #DEE2E6;
    padding: 20px;
}
.trans-the-way-patch .sec-heading{
    text-align: left;
    margin-bottom: 0.8em;
}
@media screen and (min-width: 992px) {
    .trans-the-way-patch-left,
    .trans-the-way-patch-right{
        padding-block: 20px;
        padding-inline: 34px;
    }
}


.trans-the-way-patch-right{
    display: flex;
    flex-direction: column;
    align-self: center;
}
.trans-the-way-patch-right p{
    font-size: 16px;
}
.trans-the-way-patch-right .lead{
    font-size: var(--fs-h6);
    font-weight: 500;
    margin-top: 20px;
}

@media screen and (min-width: 768px) {
    .trans-the-way-patch-left{
        border-right: 1px solid #DEE2E6;
    }
}

.hm-geo-icon-card-title{
    display: flex;
    gap: 10px;
}
.hm-geo-icon-card-title h4{
    font-size: var(--fs-h6);
    margin-bottom: 0px;
}
.hm-geo-icon-card-title::before{
  content: '';
  position: relative;
  display: block;
  width: 21px;
  height: 21px;
  flex-shrink: 0;
  background-image: url("data:image/svg+xml,%3Csvg width='21' height='21' viewBox='0 0 21 21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19.043 10.0417C19.043 11.8218 18.5151 13.5618 17.5262 15.0419C16.5373 16.5219 15.1317 17.6755 13.4871 18.3567C11.8426 19.0378 10.033 19.2161 8.28716 18.8688C6.54133 18.5215 4.93768 17.6644 3.67901 16.4057C2.42034 15.147 1.56317 13.5434 1.21591 11.7976C0.868638 10.0517 1.04687 8.24213 1.72806 6.5976C2.40925 4.95306 3.5628 3.54745 5.04284 2.55852C6.52288 1.56959 8.26294 1.04175 10.043 1.04175M16.5372 3.54751L9.49418 13.1344L4.94939 9.3297' stroke='%234CAF50' stroke-width='2.08333' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}

.key-feature .row{
    row-gap: 16px;
    margin-inline: -8px;
}
.key-feature .row > [class*="col-"]{ 
    padding-inline: 8px;   
}

.hm-geo-icon-card img{
    width: 80px;
    height: 80px;
    object-fit: contain;
    object-position: center;
}
.hm-geo-icon-card p{
    margin-bottom: 0px;
}
.hm-geo-icon-card h4{
    font-size: var(--fs-h6);
    margin-bottom: 4px;
}
.hm-sec-py-40 { padding-top: 2.5rem; padding-bottom: 2.5rem; }
.hm-sec-my-40 { margin-top: 2.5rem; margin-bottom: 2.5rem; }

.hm-sec-py-80 { padding-top: 5rem; padding-bottom: 5rem; }
.hm-sec-py-100 { padding-top: 6.25rem; padding-bottom: 6.25rem; }
.hm-sec-my-60{
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
}


.des-for-hrg .row{
    row-gap: 16px;
}
.des-for-hrg .row > [class*="col-"]{ 
    padding-inline: 8px;   
}
@media screen and (min-width: 768px) {
    .hm-sec-md-py-60 { padding-top: 3.75rem; padding-bottom: 3.75rem; }    
    .hm-sec-md-my-60 { margin-top: 3.75rem; margin-bottom: 3.75rem; }    
    .des-for-hrg, .key-featuer, .why-chosse, .trans-the-way{
        --sec-space: 60px;
    }
}
@media screen and (min-width: 1500px) {
    .des-for-hrg, .key-featuer, .why-chosse, .trans-the-way{
        --sec-space: 86px;
    }
    .hm-geo-hero-left{
        padding-top: 60px;
        padding-bottom: 60px;
    }
}
@media screen and (max-width: 400px){
    .hm-geo-hero-left .btch-2 li{
        padding-inline: 12px;
        font-size: 15px;
    }
}
@media screen and (max-width: 768px){
    .hm-geo-icon-card img{
        width: 50px;
        height: 50px;
        align-self: baseline;
    }
    .hm-geo-icon-card-2{
        min-height: unset;
    }
}

.row-gap-1r{
    row-gap: 1rem;
}
.custom-accordion {
    list-style: none;
    padding: 0;
    margin: 0;
}

.custom-accordion li {
    padding-top: 14px;
    cursor: pointer;
    transition: background 0.3s;
    border-bottom: 1px solid #DEE2E6;
}
.custom-accordion li h4{
    margin-bottom: 14px;
    font-size: var(--fs-h6);
    text-transform: uppercase;
    transform: color 0.2s ease;
    position: relative;
    padding-right: 40px;
    cursor: pointer;
}
.custom-accordion li h4::before,
.custom-accordion li h4::after {
  content: '';
  position: absolute;
  background-color: #1e1e1e;
  transition: transform 0.3s ease; /* smooth transition */
}
.custom-accordion li:hover h4::after,
.custom-accordion li:hover h4::before {
  background-color: #4CAF50;
}

.custom-accordion li h4::before {
  top: 50%;
  right: 15px;
  width: 14px;
  height: 2px;
  transform: translateY(-50%);
}

.custom-accordion li h4::after {
  top: 50%;
  right: 21px;
  width: 2px;
  height: 14px;
  transform: translateY(-50%);
}

.custom-accordion li:hover h4::after {
  transform: translateY(-50%) scaleY(0); 
}

.custom-accordion li:hover h4{
    color: #4caf50;
}

.custom-accordion li p {
    display: none;
    
}

.text-nowrap {
    white-space: nowrap !important;
}

@media (min-width: 1400px) {
    .col-xxl-4 {
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }
    .mx-xxl-auto{
      margin-inline: auto;
    }
    .hero-left-image{
        width: 85%;
    }
}