/* ==============================
   1. default 
   ============================== */
   h1,h2,h3{font-family: "Archivo", sans-serif;}
   ul{margin:0;padding:0;list-style:none;} p:last-child{margin-bottom: 0;}
   li,p{font-size: 20px;color: #656966;line-height: 1.35;font-weight: 500;}
   :after,:before,a,.card{-webkit-transition:all 250ms linear;-o-transition:all 250ms linear;transition:all 250ms linear}
   .bg-1{background: #f7fffb;}.bg-2{background:#F0F4F1}.bg-3{background:#789C7E}strong{font-weight: 500;font-size: 100%;}a{text-decoration:none; color: currentColor;}
   .themebtn{background: #789c7e;font-size: 16px;font-weight: 600;color: #FFFFFF;padding: 14px 32px 15px;overflow: hidden;z-index: 1;vertical-align: middle;position: relative;display: inline-block;border-radius: 0px;border: none;letter-spacing: 0.02em;}  
   .themebtn::after{content: "";background: #5D8264;position: absolute;width: 200%;height: 500%;z-index: -1;border-radius: 100%;-webkit-transform: translate(30%, 10%) translateZ(0);transform: translate(30%, 10%) translateZ(0);-webkit-transition: 0.36s cubic-bezier(0.4, 0, 1, 1);-o-transition: 0.36s cubic-bezier(0.4, 0, 1, 1);transition: 0.36s cubic-bezier(0.4, 0, 1, 1);}
   .themebtn:hover:after{-webkit-transform: translate(-50%, -50%) translateZ(0);transform: translate(-50%, -50%) translateZ(0);}
   .themebtn:hover{color: #ffffff !important; }
   .title :is(h1, h2, h3, h4){color: var(--title-color);font-size: var(--title-font-size);margin-bottom: var(--title-mb); line-height: 1.12;}
   .subtitle :is(h1, h2, h3, h4){color: var(--tc-primary);font-size: var(--subtitle-font-size);line-height: 1.12;}
   .suptitle h6{color: #666666;font-size: 11px;font-weight: 700;padding: 10px 32px;border-radius: 24px;display: inline-block;letter-spacing: 0.5px;text-transform: uppercase;border: solid 1px #444;font-family: var(--bs-body-font-family);}
   .themebtn.bdr{outline: solid 2px #fff; outline-offset: -2px; background: transparent;  }
   .themebtn.bdr:hover{outline-color: transparent; background: rgba(120, 156, 126, 0.3);}
   .buttons{gap: 8px 12px; display: flex; flex-wrap: wrap; align-items: center; }

/* ==============================
   2. Pre Loader & Go top
   ============================== */
   body.loading main, body.loading footer{opacity: 0.70; } 
   #page-loader{justify-content: center;align-items: center;display: flex;z-index: 9999;inset: 0px;position: fixed;padding: 24px;flex-direction: column;}
   #loader-panel-left{background-color: #ffffff;width: 100%;height: 92%;top: 0px;left: 0px;position: absolute;} 
   #loader-panel-right{background-color: #ffffff;width: 100%;height: 50%;bottom: 0px;right: 0px;position: absolute;} 
   #loader-img{z-index: 10;position: relative;width: 270px;height: auto;margin: auto;display: flex;align-items: center;justify-content: center;}
   #pageload-logo-wrapper{display: flex;align-items: center;justify-content: center;}
   #pageload-logo-wrapper img{width: 270px;height: auto;display: block; max-width: 100%;}
   #pageload-logo-wrapper.is-transitioning{position: fixed;z-index: 99999;pointer-events: none;transform-origin: left center;will-change: left,top,width,height;}
   #back-to-top{cursor:pointer;position:fixed;bottom: 0px;right: 0px;z-index: 99;display:none;color: #ffffff!important;background: var(--tc-primary);padding: 9px 12px 1px 12px;border-radius: 24px 24px 0px 0px;max-width: 40px;overflow: hidden;border: solid 1px #ffffff;border-bottom: none;}

/* ==============================
   3. home css 
   ============================== */
   .themeheader{position: fixed;width: 100%;left: 0;top: 0;z-index: 99;-webkit-transition: all 0.2s ease-out;transition: all 0.2s ease-out;}
   .themenavbar{z-index: 1;padding: 0;background: transparent;}
   .homepage>section,.subpage>section{padding-top: var(--section-py);padding-bottom: var(--section-py);position: relative;overflow: clip;}
   .homepagenav .rightnav .themebtn{display: none; }

   .rightnav .nav-link{font-size: 17px;font-weight: 500;--bs-nav-link-color: #444444;}
   .rightnav .themebtn{display: block;color: #3d4e40;padding: 9px 32px 11px;border-radius: 5px;outline: solid 1px #5D8264 !important;text-transform: capitalize;/* background: transparent !important; */--bs-nav-link-hover-color: #fff;margin-right: clamp(0rem, -1.3323rem + 3.7073vw, 2.375rem);}

   :root{--bg:#173e2e;--text: rgb(255 255 255 / 90%);--muted:rgba(244, 247, 245, 0.65);--border:rgba(255, 255, 255, 0.65);--dot-bg: rgb(120 156 126 / 96%);--dot-active:#ffffff}
   .circle-navigation{top: 50%;right: 0;z-index: 2;width: 90%;height: 156vh;padding-left: 20%;min-height:550px;aspect-ratio: 1/1;position: absolute;display:flex;align-items:center;transform: translate(15%, -50%);--menu-arc-gap: 44px;}
   .circle-border{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;}
   .circle-border ellipse{fill: rgb(93 130 100 / 96%);stroke:var(--border);stroke-width:1;vector-effect:non-scaling-stroke}

   .menu{position:relative;z-index:5;display:flex;flex-direction:column;gap: 22px;max-width: fit-content;}
   .menu-item{display:flex;align-items:center;gap: 8px;cursor:pointer;font-weight: 400;text-decoration:none;color:var(--text);font-size: clamp(20px, 3vw, 32px);transition:color .3s,transform .3s;translate: var(--menu-arc-x, 0px) 0;}
   .menu-item:hover{color: #c7ffd4;transform:translateX(5px)}
   .menu-dot{position:absolute;z-index:10;width: 12px;height: 12px;border-radius:50%;background:var(--dot-bg);border:1px solid rgba(255,255,255,.8);transform:translate(-50%,-50%);transition:background .25s,box-shadow .25s,width .25s,height .25s}
   .menu-dot.active{background:#fff;box-shadow: 0 0 0 6px rgb(255 255 255 / 30%);}
   
   .menu .dropdown{position: static; }
   .menu .dropdown-menu{position: absolute !important;top: 0 !important;left: calc(150% + 56px + var(--menu-arc-x, 0px)) !important;right: auto !important;margin: 0 !important;min-width: 248px;padding: 0;background: transparent;border: 0;border-radius: 0;box-shadow: none;padding-left: 50%;transform: none !important;border-left: solid 1px rgb(255 255 255 / 35%);} 
   .menu .dropdown-menu li a{display: block;padding: 7px 0 7px;color: rgb(255 255 255 / 90%);font-size: 19px;font-weight: 400;line-height: 1.3;text-decoration: none;white-space: nowrap;transition: all .25s ease;} 
   .menu .dropdown-menu li a:hover{color: #fff; transform: translateX(5px); }
   .menu .menu-item.dropdown-toggle::after{width: 22px;margin: 0;transform: translateY(3px) rotate(-90deg);}
   .menu .dropdown-menu h6{font-size: 14px;color: #ccefd3;letter-spacing: 2px;padding-top: 7px;text-transform: uppercase;}
   .menu .dropdown-menu ul {
      list-style: none;
      padding-left: 0;
      counter-reset: solution-counter;
   }

   .menu .dropdown-menu ul li {
      counter-increment: solution-counter;
   }

   .menu .dropdown-menu li a::before {
      content: counter(solution-counter, decimal-leading-zero);
      display: inline-block;
      width: 30px;
      margin-right: 8px;
      color: #ccefd3;
      font-size: 80%;
      letter-spacing: 0.5px;
   }

   .column-2{display: grid; column-gap: 24px; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
   .col2.dropdown-menu{--bs-dropdown-min-width: 47vw; max-width: 903px;}
   .scroll-mouse{position: absolute;bottom: 72px;right: 50px;z-index: 9;width: 24px;animation: scrollMouse 1.5s ease-in-out infinite;}
   .scroll-mouse svg{width: 100%; height: 100%; object-fit: contain; }

   .custom-tooltip{--bs-tooltip-bg: #789C7E; --bs-tooltip-color: var(--bs-white); --bs-tooltip-opacity: 1; --bs-tooltip-padding-x: 10px; --bs-tooltip-padding-y: 10px; }
   .custom-tooltip .tooltip-inner{font-family: var(--bs-body-font-family); letter-spacing: 0.25px; line-height: 1.3; font-size: 15px;}

   .footer{z-index: 2;position: relative;background: var(--tc-info);}
   .footertop{padding: calc(0.45 * var(--section-py));padding-top: calc(0.75 * var(--section-py));}
   .footertop h4{font-size: 17px;font-weight: 600;letter-spacing: 0.2px;text-transform: uppercase;color: var(--bs-white);margin-bottom: var(--subtitle-mb);}
   .footertop .contlist p{max-width: 456px;font-weight: 400;font-style: italic;color: #ffffff;line-height: 1.3;font-size: var(--subtitle-font-size);}
   .footertop .navlist{min-width: 68px;max-width: fit-content;}
   .footertop .navlist li{font-size: 18px;margin: 5px 0;font-weight: 400;position: relative;white-space: nowrap;letter-spacing: 0.25px;color: rgb(255 255 255 / 85%);}
   .footertop .navlist li>a{position: relative; display: inline-block; vertical-align: middle; }
   .footertop .navlist li>a:before{right: 0;width: 0;bottom: 3px;height: 1px;z-index: -1;content: "";margin: auto;position: absolute;visibility: hidden;background: #98bd9f;}
   .footertop .navlist li>a:hover{color: #ffffff;}
   .footertop .navlist li>a:hover:before{left: 0;right: auto;width: 100%;visibility: visible;}

   .copyrights{padding-inline: 6px;padding-top: calc(0.3 * var(--section-py));padding-bottom: calc(0.25 * var(--section-py));border-top: solid 1px rgb(255 255 255 / 25%);}
   .copyrights p{color: #fff;font-size: 18px;margin-bottom: 0px;}
   .copyrights ul{flex-wrap: wrap;gap: 8px 12px;padding-block: 4px;display: inline-flex;}
   .copyrights li:before{content: "|";position: absolute;right: -9px;color: currentColor;font-weight: 400;}
   .copyrights li:last-child:before{display: none; }
   .copyrights li{font-size: 18px;font-weight: 400;position: relative;line-height: normal;color: rgb(255 255 255 / 85%);}
   .copyrights li a:hover{color: var(--bs-white);}

   .social{display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-ms-flex-wrap: wrap;flex-wrap: wrap;}
   .social a{font-size: 20px;color: #444444;padding: 8px 12px;position: relative;z-index: 1;overflow: hidden;}
   .social a:after{position: absolute;content: '';background-color: #E83638;width: 200%;height: 0%;left: 50%;top: 50%;z-index: -1;-webkit-transform: translate(-50%, -50%) rotate(45deg);-ms-transform: translate(-50%, -50%) rotate(45deg);transform: translate(-50%, -50%) rotate(45deg); }
   .social h6{margin-bottom: 0; margin-right: 12px; }
   .social a:hover>i{color: #ffffff;}
   .social a:hover:after{height: 200%; }

   #wpp-fix{position: fixed;bottom: 20%;right: 20px;z-index: 12;}
   #wpp-fix .wpp-link{background: #25D366; display: -webkit-box; display: -ms-flexbox; display: flex; z-index: 2; position: relative; padding: 15px; border: none; cursor: pointer;  border-radius: 50%; -webkit-box-shadow: 0px 3px 10px rgba(37, 211, 102, 0.56); box-shadow: 0px 3px 10px rgba(37, 211, 102, 0.56); -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); }
   #wpp-fix .wpp-link:hover{-webkit-transform: scale(1.05);  -ms-transform: scale(1.05);  transform: scale(1.05); background: #1da851; }
   #wpp-fix .wpp-link::before{background: rgba(37, 211, 102, 0.6); content: ""; width: 100%; height: 100%; position: absolute; border-radius: 50%; z-index: -1; top: 0px; right: 0; -webkit-animation: pulse 2s infinite; animation: pulse 2s infinite; }
   #wpp-fix .wpp-link>i{width: 30px;font-size: 30px;color: #ffffff;text-align: center;-webkit-backface-visibility: hidden;backface-visibility: hidden;-webkit-animation: 1s wiggle ease infinite;animation: 1s wiggle ease infinite;}


/* ==============================
   4. sub page css 
   ============================== */   
   .sub-banner{background: #262626;padding: 7vw 0px 4vw 0px;min-height: 100vh;display: flex;align-items: flex-end;justify-content: center;--ratio: 1920 / 340;}
   .sub-banner::after{content: "";top: 0;left: 0;z-index: 1;width: 100%;height: 100%;position: absolute;pointer-events: none;mix-blend-mode: hard-light;background: linear-gradient(0deg, rgba(45, 41, 41, 0.49) 25%, rgba(255, 255, 255, 0.85) 81%);}
   .sub-banner .bannerlabel{display: block;font-size: 16px;font-weight: 500;line-height: 1.2;color: #bae7c1;letter-spacing: 2px;text-transform: uppercase;font-family: Archivo, sans-serif;margin-bottom: calc(.8 * var(--title-mb));filter: drop-shadow(-7px -1px 24px rgb(0 0 0 / 20%));}
   .sub-banner .bannertitle{font-weight: 700;margin-bottom: 0;text-transform: uppercase;color: var(--bs-white);font-size: clamp(1.3125rem, .6066rem + 1.9608vw, 2.8125rem);filter: drop-shadow(-7px -1px 24px rgb(0 0 0 / 20%));} 
   .sub-banner .bannerlabel strong{display: block;font-weight: 700;letter-spacing: 4px;color: transparent;-webkit-text-stroke: 1px rgb(255 255 255 / 35%);margin-bottom: calc(.5 * var(--title-mb));font-size: clamp(1.3125rem, .6066rem + 1.9608vw, 2.8125rem);}
   .sub-banner .bothxgap{z-index: 2;position: relative;padding-bottom: 5%;}
   .sub-banner .breadcrumb li, .sub-banner .breadcrumb li a{color: #ffffff;font-weight: 500;font-size: 16px;letter-spacing: 0.35px;} 
   .sub-banner .breadcrumb{justify-content: end;background: transparent;padding: 4px 12px;margin-bottom: 0;border: none;writing-mode: unset;} 
   .sub-banner .breadcrumb li{position: relative;padding-right: 16px;margin-right: 8px;}
   .sub-banner .breadcrumb li:before{content: "";position: absolute;right: 0;top: 12px;width: 5px;height: 0px;padding: 0;border-radius: 50%;background: rgb(120 156 126);}
   .sub-banner .breadcrumb li:last-child:before{display: none; }
   .sub-banner .breadcrumb li+li{padding-right: 0px;margin-right: 0px;}
   .sub-banner .breadcrumb li.active, .sub-banner .breadcrumb li:hover a{text-decoration: underline;text-underline-offset: 7px;}
   .sub-banner .bannerpra{border: 0;writing-mode: inherit;backdrop-filter: none;background: transparent;}
   .sub-banner .bannerpra p{color: #fff;font-weight: 400;}

   .snumber{font-size: 18px;font-weight: 400;color: #ffffff;margin-left: auto;border-radius: 24px;letter-spacing: .5px;max-width: fit-content;padding: 5px 20px 5px;border: solid 1px #7d7d7d52;background: rgb(0 0 0 / 7%);backdrop-filter: blur(2px);}
   .solution .sectiondesc p:first-of-type{font-weight: 400;line-height: 1.2;color: #444444;font-size: calc(1.25 * var(--subtitle-font-size));margin-bottom: var(--title-mb);}
   .scopeinfo{border-top: solid 1px #b7cdba;margin-top: var(--section-py);padding-top: calc(0.75 * var(--section-py));}
   .scopeinfo h4{font-size: 15px;font-weight: 500;color: #789c7e;letter-spacing: 0.5px;margin-bottom: var(--subtitle-mb);}

   .nextsolution{background: #232524;padding: 7vw 0px 4vw 0px;--ratio: 1920 / 340;}
   .nextsolution::after{content: "";top: 0;left: 0;z-index: 1;width: 100%;height: 100%;position: absolute;pointer-events: none;mix-blend-mode: multiply;background: rgb(0 0 0 / 35%);}
   .nextsolution .bannerlabel{display: block;font-size: 16px;font-weight: 500;line-height: 1.2;color: #a0cfa7;letter-spacing: 2px;text-transform: uppercase;font-family: Archivo, sans-serif;margin-bottom: calc(.8 * var(--title-mb));}
   .nextsolution .bannertitle{font-weight: 700;margin-bottom: 0;text-transform: uppercase;color: var(--bs-white);font-size: clamp(1.3125rem, .6066rem + 1.9608vw, 2.8125rem);filter: drop-shadow(-7px -1px 24px rgb(0 0 0 / 20%));} 
   .nextsolution .bothxgap{z-index: 2;position: relative;padding-block: 5%;}

   .circlebtn.themebtn{padding: 18px;display: flex;margin-left: auto;border-radius: 50%;outline-offset: -1px;max-width: fit-content;backdrop-filter: blur(2px);background: rgb(0 0 0 / 7%);outline: solid 1px rgb(255 255 255 / 50%);}
   .mil-list{flex-wrap: wrap;display: inline-flex;position: relative;overflow: clip;}
   .mil-list li{padding-right: 5px;line-height: 1.4;position: relative;color: #444444;} 
   .mil-list li:after{content: "·";text-indent: 5px;color: currentColor;display: inline-block;}
   .mil-list li:last-child{padding-right: 0; }
   .mil-list li:last-child::after{display: none; }

   .word{overflow: hidden; padding-bottom: 0.1em; margin-bottom: -0.1em; transform-origin: bottom; }
   .circlebtn{-webkit-animation: circlebtn 1.5s ease-in-out infinite; animation: circlebtn 1.5s ease-in-out infinite;}

   .whatwe h3{color: #ffffff;padding-bottom: var(--section-py);margin-bottom: var(--section-py);}
   .whatwe::after{content: "";top: 0;left: 0;z-index: -1;width: 100%;height: 100%;position: absolute;pointer-events: none;mix-blend-mode: multiply;background: rgb(0 0 0 / 50%);}
   .whatwetext{max-width: 800px;margin-left: auto;background: rgb(120 156 126 / 85%);padding: var(--section-py);margin-bottom: calc(-1 * var(--section-py));border-top-left-radius: 32px;}
   .whatwetext p{color: #ffffff;font-weight: 400;line-height: 1.25;font-size: var(--subtitle-font-size);}
   
   .bsgroupbox{display: flex;column-gap: 12vw;justify-content: space-between;}
   .bsgroupbox p{font-weight: 400;font-size: var(--subtitle-font-size);} 
   .bsgroupbox .themebtn{flex-shrink: 0;color: #789c7e;align-self: center;outline-color: #789c7e;}

   .close-button{width: 48px;height: 48px;background: none;right: 14px;top: 14px;z-index:2;position: absolute;text-indent: -9999px;-webkit-box-shadow: none !important;box-shadow: none !important;}
   .close-button:before, .close-button:after{content: '';width: 55%;height: 2px;background: #000;position: absolute;top: 48%;left: 22%;-webkit-transform: rotate(-45deg);-ms-transform: rotate(-45deg);transform: rotate(-45deg);-webkit-transition: all 0.3s ease-out;-o-transition: all 0.3s ease-out;transition: all 0.3s ease-out;}
   .close-button:after{-webkit-transform: rotate(45deg);-ms-transform: rotate(45deg);transform: rotate(45deg);-webkit-transition: all 0.3s ease-out;-o-transition: all 0.3s ease-out;transition: all 0.3s ease-out;}
   .close-button:hover:before, .close-button:hover:after{-webkit-transform: rotate(180deg);-ms-transform: rotate(180deg);transform: rotate(180deg);}
   .backdropblur{-webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); display: inline-block; border-radius: 4px; }

   .themepic{position: relative;overflow: hidden;z-index: 1;}
   .themepic img{-webkit-transition: all 0.7s ease-in-out 0s;-o-transition: all 0.7s ease-in-out 0s;transition: all 0.7s ease-in-out 0s;}
   .themepic:hover img{-webkit-transform: scale(1.1); -ms-transform: scale(1.1); transform: scale(1.1); -webkit-filter: brightness(0.8); filter: brightness(0.8); }
   .themepic::after,.themepic:before{content:"";position:absolute;opacity:1;pointer-events:none}
   .themepic:before{background:hsla(0,0%,100%,.3);bottom:0;left:50%;right:51%;top:0;z-index:9;-webkit-transition:none;-o-transition:none;transition:none}
   .themepic:hover:before{left:0;right:0;opacity:0;-webkit-transition:.5s linear;-o-transition:.5s linear;transition:.5s linear;background-color:transparent}
   .themepic::after{background:rgba(255,255,255,.3);bottom:50%;left:0;right:0;top:50%;-webkit-transition:none;-o-transition:none;transition:none}
   .themepic:hover:after{top:0;bottom:0;opacity:0;-webkit-transition:.6s linear;-o-transition:.6s linear;transition:.6s linear;background-color:transparent}

   .themeform .form-control, .themeform .form-select{height: 86px;font-size: 18px;font-weight: 500;border-radius: 0;padding-left: 4px;border-width: 0 0 1px 0;border-color: #9d9e99;background-color: transparent;}
   .themeform textarea.form-control{resize: none;height: 120px !important;padding-top: 35px !important;}
   .themeform label {color: #7b7d78;font-size: 18px;font-weight: 500;padding-left: 0px;margin-bottom: 0;--bs-body-bg: transparent;}
   .themeform .form-select{color: rgb(68 68 68 / 70%); font-weight: 500; box-shadow: none !important; background-blend-mode: hard-light; }
   .themeform .form-select:valid{color: #151928;font-weight: 600;}
   .themeform .form-control:focus, .themeform .form-select:focus{box-shadow: none; border-color: #0c1b2d; background-color: transparent; }

   .form-input .form-control::placeholder{color:rgb(68 68 68 / 70%);} 
   .form-input .form-control::-webkit-input-placeholder{color:rgb(68 68 68 / 70%);} 
   .form-input .form-control:-ms-input-placeholder{color:rgb(68 68 68 / 70%);} 
   .form-input .form-control::-ms-input-placeholder{color:rgb(68 68 68 / 70%);}
   .form-input .form-control:not(:placeholder-shown){font-weight: 600;}

   .themeform .form-floating.enquiry-select > label {transform: none;} 
   .themeform .form-floating.enquiry-select.has-value > label {transform: scale(.85) translateY(-.5rem) translateX(.15rem);}
   .themeform .form-success{margin: 16px 0 0;padding: 14px 18px;background: #e6f4ea;border: solid 1px #789c7e;color: #2e6b39;font-size: 16px;font-weight: 500;line-height: 1.4;}

   .file-drop-area {width: 100%; z-index: 2; position: relative; } 
   .file-drop-area .file-message {position: absolute;z-index: -1;color: transparent;font-weight: 400;bottom: 0;left: 0;height: 100%;display: flex;align-items: center;} 
  .file-drop-area .file-message.selected {color: #212529;font-weight: 500;}
  .file-drop-area .file-input {opacity: 0;padding: 26px 18px !important;}
  .file-drop-area input[type=file]::-webkit-file-upload-button{display: none; } 
  .file-drop-area input[type=file]::file-selector-button{display: none; }
  .file-drop-area .upload-icon{position: absolute;top: 2px;right: 3px;width: 64px;user-select: none;pointer-events: none;height: calc(100% - 5px);background: #f7fffb;display: flex;align-items: center;justify-content: center;}
  .file-drop-area .upload-icon img{width: 24px;}

   .thememodal .modal-fullscreen .modal-content{--bs-modal-bg: #f8f9fa;z-index: 1;}
   .thememodal .modal-fullscreen .modal-content::after{content: "";position: absolute;top: 0;left: 0;z-index: -1;width: 100%;height: 100%;opacity: 0.1;mix-blend-mode: multiply;background: none center no-repeat;background-size: cover;}
   .thememodal .modal-fullscreen .modal-body{display: flex;flex-wrap: wrap;align-items: center;justify-content: center; }
   .thememodal .modal-wrap{width: 100%;padding: 2.5vw 3vw 3vw;max-width: 1340px;overflow: hidden;border-radius: 0px 48px;box-shadow: 0px 7px 32px rgb(0 0 0 / 7%);background: rgb(128,131,134 );background: linear-gradient(90deg, #919191 50%, #ffffff 50%);-webkit-backdrop-filter: blur(7px);backdrop-filter: blur(7px);} 
   .thememodal .modalpic{margin: 9px;overflow: hidden;position: relative;padding: 48px 42px;height: calc(100% - 18px);border-radius: 0px 0px 0px 40px;}
   .thememodal .themeform{padding: 48px 42px;background: #ffffff;border-radius: 24px;box-shadow: 0px 0px 32px -2px rgb(0 0 0 / 12%);}
   .offcanvas-backdrop.show{opacity: 1; }
   .offcanvas-backdrop{background: rgb(0 0 0 / 35%);backdrop-filter: blur(4px);-webkit-backdrop-filter: blur(2px);transition: all 0.3s ease-in-out;} 

   .projects .card{border: none;border-radius: 0;--bs-card-spacer-x: 12px;--bs-card-spacer-y: 24px;background: transparent;}
   .projects .card h4{color: #444;font-size: var(--subtitle-font-size);line-height: 1.12;font-weight: 500;margin-bottom: calc(0.5 * var(--subtitle-mb));}
   .projects .card h5{border: 0; }
   .projects .cardpic{width: 100%;overflow: clip;aspect-ratio: 3/2;}
   .projects .location{font-size: 17px;color: #757575;margin-bottom: 0;}

   .capacity-row{gap: 8px 21px;display: flex;margin-top: calc(1.5 * var(--subtitle-mb));padding-top: calc(0.75 * var(--subtitle-mb));margin-bottom: var(--subtitle-mb);align-items: baseline;border-top: solid 1px #b7cdba;}
   .capacity-row li{color: #5d8264;}
   .capacity strong{line-height: normal;font-size: var(--title-font-size);}
   .capacity small{font-size: 20px;color: #444444;font-weight: 400;margin-left: 4px;}

   .contact .scopeinfo{z-index: 1;height: 100%;margin-top: 0;padding-top: 0;max-width: 496px;display: flex;position: relative;flex-direction: column;row-gap: calc(0.4 * var(--section-py));padding-right: calc(0.7 * var(--section-py));}
   .contact .scopeinfo::after{right: 0;width: 50vw;z-index: -1;content: "";position: absolute;background: rgb(120 155 126 / 7%);top: calc(-1 * var(--section-py));bottom: calc(-1 * var(--section-py));}
   .contact .itembox{border-bottom: solid 1px #d5e5dc;padding-bottom: calc(0.4 * var(--section-py));}
   .contact .itembox:last-child{border-bottom: none; padding-bottom: 0; }
   .contact .fault p{position: relative;padding-left: 14px;}
   .contact .fault p::before { top: 11px; left: 0; content: ""; width: 8px; height: 8px; position: absolute; border-radius: 50%; background: #789c7e; box-shadow: 0 0 0 1px rgb(120 156 126 / 30%); animation: dotBlink 1s infinite ease-in-out; }


   .sectors .sectorwrap{
    border-top: solid 1px rgb(183 205 186 / 15%);
}
   .horizontal-accordion{display:flex;gap: 1px;height: 72vh;min-height: 320px;}
   .horizontal-accordion .accordion-item{flex:1;position:relative;overflow:hidden;border-radius: 0px;transition:.45s ease;cursor:pointer;background: #789c7e;}
   .horizontal-accordion .accordion-item.active{flex: 7;}
   .accordion-header{position:absolute;inset:0;display:flex;align-items: end;justify-content:center;z-index:3;padding-block: var(--section-py);padding-inline: calc(0.5 * var(--section-py));}
   .accordion-header span{color: #ffffffd9;font-weight: 600;transition:.4s;writing-mode: sideways-lr;transform: rotate( 0deg);font-size: var(--subtitle-font-size);}
   .accordion-item.active .accordion-header span{transform: rotate( 90deg);}
   .accordion-content{ width:100%; height:100%; position:relative;}
   .accordion-content img{ width:100%; height:100%; object-fit:cover;}
   .accordion-content::before{content: '';display: block;position: absolute;top: 0;left: 0;width: 100%;height: 100%;background: rgb(0 0 0 / 50%);}

   .clientSwiper .swiper-wrapper{-webkit-transition-timing-function: linear !important; transition-timing-function: linear !important; }
   .clientSwiper .swiper-slide{width: auto;height: auto; } 
   .clientSwiper .swiper-slide::after{content: "";position: absolute;right: -1px;top: 50%;transform: translateY(-50%);width: 1px;height: 85px;background: #D2D2D2;}
   .clientSwiper .clientlogo{display: flex;justify-content: center;align-items: center;width: auto;min-height: 34px;position: relative;overflow: hidden;padding-inline: calc(0.5 * var(--section-py));} 
   .clientSwiper .clientlogo img{width: 100%;max-height: 100%;object-fit: contain;mix-blend-mode: darken;}
   .clientlogo h5{font-weight: 600; font-size: 21px; color: #444444; }

   .team .card{border-radius: 10px;padding: 10px 10px 4px;border-color: rgb(120 156 126 / 25%);}
   .team .card h4{color: #444;font-size: 21px;font-weight: 600;margin-block: 4px;}
   .team .card p{font-size: 17px;color: #757575;letter-spacing: 0.35px;}
   .team .cardpic{width: 100%;overflow: clip;border-radius: 8px;position: relative;}
   .team .cardpic::after{top: 0;left: 0;width: 100%;height: 100%;content: "";position: absolute;pointer-events: none;background: rgb(0 0 0 / 20%);}
   .team .cardpic>img{width: 100%;height: 100%;aspect-ratio: 4 / 4;object-fit: cover;}
   .team .card-img-overlay{top: auto;height: 50%;padding: 32px 36px;display: flex;flex-direction: column;justify-content: flex-end;background: rgb(0 0 0 / 26%);background: linear-gradient(0deg, rgba(0, 0, 0, 0.92) 0%, rgba(0, 0, 0, 0.01) 100%);}
   
   /* =========================================
   PROCESS SECTION
========================================= */

.qprocess {
    position: relative;
    overflow: hidden;
    width: 100%;
}

.qprocess .process-info {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding-block: calc(0.35 * var(--section-py));
}


/* =========================================
   HORIZONTAL TRACK
========================================= */

.qprocess .panelwrap {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 34px;
    width: max-content;
    max-width: none;
    padding: 0;
    margin: 0;
    counter-reset: process;
    will-change: transform;
    transform: translate3d(0, 0, 0);
    margin-top: calc(0.6 * var(--section-py));
}


/* =========================================
   SINGLE PANEL
========================================= */

.qprocess .panelwrap .panel {
    position: relative;

    flex: 0 0 320px;
    width: 320px;

    display: flex;
    justify-content: center;
    align-items: center;

    background: transparent;
}


/* =========================================
   PROCESS CARD
========================================= */

.qprocess .single-process {
    width: 100%;
    max-width: 190px;
    min-height: 178px;
    padding: 32px 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    position: relative;
    background: rgb(255 255 255 / 75%);
    border-radius: 8px;
    border: solid 1px #e7f1e9;
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.qprocess .single-process img {
    width: 64px;
    height: 64px;

    max-width: 64px;

    object-fit: contain;

    display: block;

    margin: 0 auto 24px;
}

.qprocess .single-process h4 {
    margin: 0;
    font-size: 19px;
    font-weight: 600;
    text-align: center;
    color: #444444;
}

.qprocess .single-process h4::before {
    counter-increment: process;
    content: counter(process, decimal-leading-zero);
    display: block;
    font-weight: 700;
    margin-bottom: 8px;
    letter-spacing: 4px;
    color: transparent;
    -webkit-text-stroke: 1px rgb(120 156 126 / 50%);
    font-size: 42px;
}


/* =========================================
   ARROW
========================================= */

.qprocess .panelwrap .panel::after {
    content: "";

    position: absolute;

    top: 50%;
    left: calc(100% - 18px);

    width: 80px;
    height: 80px;

    transform:
        translateY(-50%)
        rotate(-30deg);

    background-image:
        url("../images/arrow-long.svg");

    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;

    pointer-events: none;
}

.qprocess .panelwrap .panel:last-child::after {
    display: none;
}


/* =========================================
   PROGRESS BAR
========================================= */

.qprocess .progress-bar {
    position: relative;

    width: 100%;
    height: 3px;

    margin-top: 55px;

    overflow: hidden;

    background: #fff;

    border-radius: 10px;
}

.qprocess .progress-line {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #97b39c70;
    transform: scaleX(0);
    transform-origin: left center;
    border-radius: 10px;
    will-change: transform;
}

.cdate {
    left: 0;
    top: 0;
    font-size: 16px;
    color: #5d8264;
    font-weight: 500;
    padding: 9px 16px 0px 12px;
    background: #f7fffb;
    display: inline-flex;
    vertical-align: middle;
    position: absolute;
    border-top-right-radius: 12px;
    box-shadow: 0px 7px 0px #f7fffb;
    transform: translateY(-100%);
}

.projcard .card-body{position: relative; }

@-webkit-keyframes pulse{0%{-webkit-transform:scale(1);transform:scale(1);opacity:.6;}70%{-webkit-transform:scale(1.6);transform:scale(1.6);opacity:0;}100%{-webkit-transform:scale(1.6);transform:scale(1.6);opacity:0;}}
@keyframes pulse{0%{transform:scale(1);opacity:.6;}70%{transform:scale(1.6);opacity:0;}100%{transform:scale(1.6);opacity:0;}}
@-webkit-keyframes wiggle{0%,100%{-webkit-transform:rotate(0);transform:rotate(0);}25%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg);}75%{-webkit-transform:rotate(12deg);transform:rotate(12deg);}}
@keyframes wiggle{0%,100%{transform:rotate(0);}25%{transform:rotate(-12deg);}75%{transform:rotate(12deg);}}

  


   

