﻿/*============================================

 

==============================================*/
/* CSS Index
==============================================

	// components
	01. Animation
	02. background
	03. Breadcrumb
	04. Button
	05. Mobile Menu
	06. Nice Select
	07. OffCanvas
	08. Preloader
	09. Scroll Top
	10. Search
	11. Section Title
	12. spacing default responsive

	// layout

    01. about
	02. awards
	03. blog
	04. brand
	05. chose
	06. contact
	07. counter
	08. cta
	09. error
	10. faq
	11. footer
	12. header
	13. hero
	14. Menu
	15. portfolio
	16. about
	17. process
	18. service
	19. shop
	20. skill
	21. portfolio
	22. testimonial
	23. video
==============================================*/
/*============================================
/*  01. Theme Default CSS
==============================================*/
@import url('https://fonts.googleapis.com/css2?family=Comfortaa:wght@300..700&display=swap');
@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&amp;family=Unbounded:wght@200..900&amp;display=swap");
:root {
  --tg-ff-body: "Inter", sans-serif;
  --tg-ff-heading: "Comfortaa", sans-serif;
  --tg-ff-p: "Inter", sans-serif;
  --tg-ff-fontawesome: "Font Awesome 6 Pro";
  --tg-common-white: #fff;
  --tg-common-black: #000;
  --tg-grey-1: #6f6f6f;
  --tg-grey-2: #f0f0f0;
  --tg-theme-primary: #0d7046;
  --tg-border-1: rgba(28, 29, 31, 0.15);
}

/*=============================
	Typography css start
===============================*/
body {
  font-family: var(--tg-ff-body);
  font-size: 16px;
  font-weight: 400;
  color: var(--tg-common-black);
  line-height: 30px;
  background-color: #fafdf3;
}

img,
.img {
  max-width: 100%;
  -webkit-transition: all 0.3s ease-out 0s;
  -moz-transition: all 0.3s ease-out 0s;
  -ms-transition: all 0.3s ease-out 0s;
  -o-transition: all 0.3s ease-out 0s;
  transition: all 0.3s ease-out 0s;
}

a,
button {
  color: inherit;
  outline: none;
  border: none;
  background: transparent;
  text-decoration: none;
  -webkit-transition: all 0.3s ease-out 0s;
  -moz-transition: all 0.3s ease-out 0s;
  -ms-transition: all 0.3s ease-out 0s;
  -o-transition: all 0.3s ease-out 0s;
  transition: all 0.3s ease-out 0s;
}

a:focus,
.btn:focus,
.button:focus {
  text-decoration: none;
  outline: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  -ms-box-shadow: none;
  -o-box-shadow: none;
  box-shadow: none;
}

a:hover,
button:hover {
  color: var(--tg-common-black);
  text-decoration: none;
}

ul {
  margin: 0px;
  padding: 0px;
}

li {
  list-style: none;
}

.scrool-bar::-webkit-scrollbar {
  width: 5px;
  display: block;
  overflow: hidden;
  position: relative;
  margin-left: 5px;
}

.scrool-bar::-webkit-scrollbar-thumb {
  background-color: #e1e1e1;
  outline: 1px solid #e1e1e1;
}

.scrool-bar::-mos-webkit-scrollbar-thumb {
  background-color: #e1e1e1;
  outline: 1px solid #e1e1e1;
}

button:focus,
input:focus,
input:focus,
textarea,
textarea:focus {
  outline: 0;
}

input[type=text],
input[type=email],
input[type=tel],
input[type=number],
input[type=password],
input[type=url],
textarea {
  outline: none;
  background-color: var(--tg-common-white);
  height: 56px;
  width: 100%;
  line-height: 56px;
  font-size: 15px;
  color: var(--tg-common-black);
  padding-left: 26px;
  padding-right: 26px;
  border: 1px solid #a2a9ac;
}
input[type=text]::-webkit-input-placeholder,
input[type=email]::-webkit-input-placeholder,
input[type=tel]::-webkit-input-placeholder,
input[type=number]::-webkit-input-placeholder,
input[type=password]::-webkit-input-placeholder,
input[type=url]::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: var(--tg-common-black);
}
input[type=text]::-moz-placeholder,
input[type=email]::-moz-placeholder,
input[type=tel]::-moz-placeholder,
input[type=number]::-moz-placeholder,
input[type=password]::-moz-placeholder,
input[type=url]::-moz-placeholder,
textarea::-moz-placeholder {
  color: var(--tg-common-black);
}
input[type=text]:-moz-placeholder,
input[type=email]:-moz-placeholder,
input[type=tel]:-moz-placeholder,
input[type=number]:-moz-placeholder,
input[type=password]:-moz-placeholder,
input[type=url]:-moz-placeholder,
textarea:-moz-placeholder {
  color: var(--tg-common-black);
}
input[type=text]:-ms-input-placeholder,
input[type=email]:-ms-input-placeholder,
input[type=tel]:-ms-input-placeholder,
input[type=number]:-ms-input-placeholder,
input[type=password]:-ms-input-placeholder,
input[type=url]:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: var(--tg-common-black);
}
input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=tel]::placeholder,
input[type=number]::placeholder,
input[type=password]::placeholder,
input[type=url]::placeholder,
textarea::placeholder {
  color: var(--tg-common-black);
}
input[type=text]:focus::placeholder,
input[type=email]:focus::placeholder,
input[type=tel]:focus::placeholder,
input[type=number]:focus::placeholder,
input[type=password]:focus::placeholder,
input[type=url]:focus::placeholder,
textarea:focus::placeholder {
  opacity: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--tg-common-black);
  font-weight: 700;
  font-family: var(--tg-ff-heading);
  line-height: 1.1;
  text-transform: unset;
  letter-spacing: -0.02em;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
  color: inherit;
}

h1 {
  font-size: 60px;
}

h2 {
  font-size: 50px;
}

h3 {
  font-size: 30px;
}

h4 {
  font-size: 24px;
}

h5 {
  font-size: 18px;
}

h6 {
  font-size: 18px;
}

p {
  margin-bottom: 15px;
  font-size: 18px;
  line-height: 30px;
  font-family: var(--tg-ff-p);
  font-weight: 400;
}

label {
  color: var(--tg-common-black);
  cursor: pointer;
}

input[type=color] {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  background: none;
  border: 0;
  cursor: pointer;
  height: 100%;
  width: 100%;
  padding: 0;
  border-radius: 50%;
}

*::-moz-selection {
  background: var(--tg-common-black);
  color: var(--tg-common-white);
  text-shadow: none;
}

::-moz-selection {
  background: var(--tg-common-black);
  color: var(--tg-common-white);
  text-shadow: none;
}

::selection {
  background: var(--tg-common-black);
  color: var(--tg-common-white);
  text-shadow: none;
}

/*=============================
    - Input Placeholder
===============================*/
input,
textarea {
  color: var(--tg-common-black);
}

*::-moz-placeholder {
  color: var(--tg-common-black);
  font-size: 16px;
  opacity: 1;
}

*::placeholder {
  color: var(--tg-common-black);
  font-size: 16px;
  opacity: 1;
}

/*=============================
    - Common Classes
===============================*/
.ovh {
  overflow: hidden;
}

.clear {
  clear: both;
}

.p-relative {
  position: relative;
}

.p-absolute {
  position: absolute;
}

.lh-28 {
  line-height: 28px;
}

.tg-round-15 {
  border-radius: 15px;
}

.tg-round-25 {
  border-radius: 25px;
}

.tg-rounded-10 {
  border-radius: 10px;
}

.tg-rounded-full {
  border-radius: 400px;
}

.z-index-m-1 {
  z-index: -1;
}

.z-index-1 {
  z-index: 1;
}

.z-index-2 {
  z-index: 2;
}

.z-index-3 {
  z-index: 3;
}

.z-index-4 {
  z-index: 4;
}

.z-index-5 {
  z-index: 5;
}

.z-index-6 {
  z-index: 6;
}

.z-index-7 {
  z-index: 7;
}

.z-index-8 {
  z-index: 8;
}

.z-index-9 {
  z-index: 9;
}

.z-index-10 {
  z-index: 10;
}

.z-index-999 {
  z-index: 999;
}

.gx-10 {
  --bs-gutter-x: 10px;
}

.gx-50 {
  --bs-gutter-x: 50px;
}

.gx-80 {
  --bs-gutter-x: 80px;
}

.tg-transparent {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
}

.fix {
  overflow: hidden;
}

.text-right {
  text-align: right;
}

.lh-1 {
  line-height: 1;
}

/*=============================
    - Bootstrap Custom
=============================*/
.include-bg {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.tg-transparent {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
}

.rounded-circale {
  border-radius: 50%;
}

.slide-transtion {
  -webkit-transition-timing-function: linear;
  transition-timing-function: linear;
}

.p-inherit {
  position: inherit !important;
}

@media (min-width: 1400px) {
  .container-1710 {
    max-width: 1710px;
  }
}
/*=============================
	04. Button
===============================*/
.tg-btn {
  font-weight: 500;
  font-size: 16px;
  text-transform: uppercase;
  color: var(--tg-common-white);
  border-radius: 30px;
  padding: 22px 45px;
  display: inline-block;
  line-height: 1;
  background: var(--tg-common-black);
  font-family: var(--tg-ff-heading);
}
.tg-btn:hover {
  color: var(--tg-common-white);
}
.tg-btn-primary {
  background: var(--tg-theme-primary);
  color: var(--tg-common-black);
}
.tg-btn-primary:hover {
  color: var(--tg-common-black);
}
.tg-btn-white {
  background: var(--tg-common-white);
  color: var(--tg-common-black);
}
.tg-btn-white:hover {
  color: var(--tg-common-black);
}
.tg-btn-hover:hover .hover-effect .effect-1 {
  top: -100%;
}
.tg-btn-hover .hover-effect {
  position: relative;
  overflow: hidden;
  display: block;
  height: 17px;
  line-height: normal;
}
.tg-btn-hover .hover-effect .effect-1 {
  display: block;
  height: 100%;
  position: relative;
  top: 0%;
  transition: 0.3s;
}
.tg-btn-rounded {
  width: 150px;
  height: 150px;
  font-weight: 700;
  font-size: 12px;
  line-height: 1;
  color: var(--tg-common-black);
  border: 1px solid var(--tg-common-black);
  background: transparent;
  border-radius: 50%;
  font-family: var(--tg-ff-heading);
  font-weight: 500;
  font-size: 16px;
  text-transform: uppercase;
  color: var(--tg-common-black);
  line-height: 1.3;
  text-align: center;
  position: relative;
  z-index: 1;
  overflow: hidden;
  display: inline-block;
}
.tg-btn-rounded span {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding-top: 43px;
  color:#ffffff;
}
.tg-btn-rounded span svg {
  margin-top: 7px;
}
.tg-btn-rounded:hover {
  color: var(--tg-common-white);
}
.tg-btn-rounded:hover .tg-btn-circle-dot {
  width: 520px;
  height: 520px;
}
.tg-btn-rounded-black {
  background: var(--tg-common-black);
  color: var(--tg-common-white);
}
.tg-btn-rounded-black:hover {
  border-color: var(--tg-theme-primary);
  background: transparent;
  color: var(--tg-common-black);
}
.tg-btn-rounded-black .tg-btn-circle-dot {
  background: var(--tg-theme-primary);
}
.tg-btn-rounded-primary {
  background: var(--tg-theme-primary);
  color: var(--tg-common-black);
  border-color: var(--tg-theme-primary);
}
.tg-btn-rounded-primary:hover {
  border-color: var(--tg-theme-primary);
  background: transparent;
  color: var(--tg-common-white);
}
.tg-btn-rounded-primary .tg-btn-circle-dot {
  background: var(--tg-common-black);
}
.tg-btn-rounded-white {
  background: transparent;
  color: var(--tg-common-white);
  border-color: var(--tg-common-white);
}
.tg-btn-rounded-white:hover {
  border-color: var(--tg-theme-primary);
  background: transparent;
  color: var(--tg-common-black);
}
.tg-btn-rounded-white .tg-btn-circle-dot {
  background: var(--tg-theme-primary);
}
.tg-btn-circle-dot {
  position: absolute;
  bottom: 0;
  left: 32px;
  width: 0px;
  height: 0px;
  -webkit-transition: all 0.6s ease-out;
  -moz-transition: all 0.6s ease-out;
  -ms-transition: all 0.6s ease-out;
  -o-transition: all 0.6s ease-out;
  transition: all 0.6s ease-out;
  line-height: 20px;
  border-radius: 50%;
  background-color: var(--tg-common-black);
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  border: 1px solid transparent;
  z-index: -1;
}
.tg-btn-two {
  font-weight: 500;
  font-size: 16px;
  text-transform: uppercase;
  color: var(--tg-common-white);
  border-radius: 30px;
  padding: 15px 48px;
  background: var(--tg-common-black);
  transition: all 0.3s ease-in-out;
  font-family: var(--tg-ff-heading);
  border: 1px solid var(--tg-common-black);
}
.tg-btn-two:hover {
  color: var(--tg-common-black);
  background: var(--tg-common-white);
}
.tg-btn-two-white {
  background: var(--tg-common-white);
  color: var(--tg-common-black);
  padding: 19px 34px;
}
.tg-btn-two-white:hover {
  background: var(--tg-theme-primary);
}

/*=============================
    08. Preloader
===============================*/
.preloader {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 999;
  background-color: var(--tg-common-black);
  display: flex;
  align-items: center;
  justify-content: center;
}

.preloader-inner {
  display: block;
  width: 45px;
  height: 45px;
}

.preloader-inner span {
  box-sizing: border-box;
  display: block;
  position: absolute;
  width: 37px;
  height: 37px;
  margin: 4px;
  border: 4px solid transparent;
  border-radius: 50%;
  animation: preloader 1s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  border-color: var(--tg-theme-primary) transparent transparent transparent;
}

.preloader-inner span:nth-child(1) {
  animation-delay: -0.1s;
}

.preloader-inner span:nth-child(2) {
  animation-delay: -0.2s;
}

.preloader-inner span:nth-child(3) {
  animation-delay: -0.3s;
}

@-webkit-keyframes preloader {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes preloader {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/*=============================
    02. background
===============================*/
.tgbg-primary {
  background: var(--tg-theme-primary);
}
.tgbg-home-primary {
  background-image: url(../img/bga.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.tgbg-grey {
  background: var(--tg-grey-2);
}

.tgbg-black {
  background: var(--tg-common-black);
}

.tgbg-black-2 {
  background: rgba(255, 255, 255, 0.06);
}

/*=============================
	 07. OffCanvas
===============================*/
.offCanvas-toggle {
  position: relative;
  margin-right: 40px;
  padding-right: 40px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .offCanvas-toggle {
    margin-right: 25px;
    padding-right: 25px;
  }
}
@media (max-width: 575px) {
  .offCanvas-toggle {
    display: none;
  }
}
.offCanvas-toggle::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 60px;
  background: var(--tg-border-1);
}
.offCanvas-toggle .menu-tigger {
  color: var(--tg-common-black);
}
.offCanvas-toggle .menu-tigger:hover {
  color: var(--tg-theme-primary);
}
.offCanvas-toggle-two {
  margin-right: 0;
  padding-right: 0;
  padding-left: 40px;
}
.offCanvas-toggle-two::before {
  right: auto;
  left: 0;
  height: 104px;
}

.offCanvas__info {
  background: var(--tg-common-white) none repeat scroll 0 0;
  height: 100%;
  padding: 30px;
  padding-top: 80px;
  position: fixed;
  right: 0;
  top: 0;
  transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  -moz-transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  -webkit-transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  -ms-transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  -o-transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  width: 400px;
  z-index: 999;
  overflow-y: scroll;
  -webkit-transform: translateX(100%);
  -moz-transform: translateX(100%);
  -ms-transform: translateX(100%);
  -o-transform: translateX(100%);
  transform: translateX(100%);
}
@media (max-width: 575px) {
  .offCanvas__info {
    width: 100%;
  }
}
.offCanvas__info.active {
  -webkit-transform: translateX(0);
  -moz-transform: translateX(0);
  -ms-transform: translateX(0);
  -o-transform: translateX(0);
  transform: translateX(0);
}
.offCanvas__info::-webkit-scrollbar {
  width: 0px;
}
.offCanvas__close-icon {
  position: absolute;
  top: 0;
  right: 0;
}
.offCanvas__close-icon button {
  color: var(--tg-common-white);
  cursor: pointer;
  font-size: 24px;
  padding: 0;
  transition: all 0.4s ease;
  width: 45px;
  height: 45px;
  text-align: center;
  line-height: 45px;
  background: var(--tg-common-black);
}
.offCanvas__close-icon button:hover {
  color: var(--tg-common-black);
  background: var(--tg-theme-primary);
}
.offCanvas__logo img {
  max-height: 34px;
}
.offCanvas__social-icon span {
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2.8px;
  color: var(--tg-common-black);
  display: block;
  margin-bottom: 15px;
}
.offCanvas__social-icon a {
  color: var(--tg-common-black);
  display: inline-block;
  margin-right: 5px;
  text-align: center;
  width: 42px;
  height: 42px;
  line-height: 42px;
  border: 1px solid var(--tg-border-1);
  border-radius: 50%;
  transition: all 0.4s ease;
}
.offCanvas__social-icon a svg {
  transform: translateY(-2px);
  width: 16px !important;
}
.offCanvas__social-icon a:hover {
  background: var(--tg-theme-primary);
  color: var(--tg-common-white);
}
.offCanvas__overly {
  position: fixed;
  background: #000;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 99;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.3s ease-out 0s;
  -moz-transition: all 0.3s ease-out 0s;
  -ms-transition: all 0.3s ease-out 0s;
  -o-transition: all 0.3s ease-out 0s;
  transition: all 0.3s ease-out 0s;
}
.offCanvas__overly.active {
  opacity: 0.7;
  visibility: visible;
}

.contact-list h4 {
  color: var(--tg-common-black);
  font-weight: 500;
  font-size: 22px;
  margin-bottom: 15px;
}
.contact-list a {
  margin: 0;
  margin-bottom: 8px;
  font-size: 18px;
  color: var(--tg-common-black);
  line-height: 26px;
  display: flex;
  align-items: center;
}
.contact-list a i {
  font-size: 20px;
  width: 20px;
  margin-right: 15px;
}
.contact-list a:hover {
  color: var(--tg-theme-primary);
}

.offcanvas-gallery {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-gap: 10px;
}
.offcanvas-gallery .popup-image {
  position: relative;
}
.offcanvas-gallery .popup-image::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background: var(--tg-theme-primary);
  top: 0;
  left: 0;
  opacity: 0.6;
  transform: scale(0);
  -webkit-transition: all 0.3s 0s ease-out;
  -moz-transition: all 0.3s 0s ease-out;
  -ms-transition: all 0.3s 0s ease-out;
  -o-transition: all 0.3s 0s ease-out;
  transition: all 0.3s 0s ease-out;
}
.offcanvas-gallery .popup-image:hover::after {
  transform: scale(1);
}
.offcanvas-title-wrap h3 {
  font-weight: 600;
  font-size: 34px;
  letter-spacing: -0.01em;
}

/*=========================
      03. Breadcrumb
===========================*/
.tg-breadcrumb-spacing {
  padding-top: 280px;
  padding-bottom: 280px;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px) {
  .tg-breadcrumb-spacing {
    padding-top: 170px;
    padding-bottom: 50px;
  }
}
@media (max-width: 575px) {
  .tg-breadcrumb-spacing {
    padding-top: 100px;
    padding-bottom: 50px;
  }
}
.tg-breadcrumb-title {
  font-weight: 700;
  font-size: 50px;
  line-height: 110%;
  color: var(--tg-common-white);
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px) {
  .tg-breadcrumb-title {
    font-size: 70px;
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-breadcrumb-title {
    font-size: 50px;
  }
}
@media (max-width: 575px) {
  .tg-breadcrumb-title {
    font-size: 35px;
  }
}
.tg-breadcrumb-service-spacing {
  padding: 45px 0px 35px 0px;
}
.tg-breadcrumb-navigation-title {
  font-weight: 700;
  font-size: 60px;
  line-height: 183%;
}
@media (max-width: 575px) {
  .tg-breadcrumb-navigation-title {
    font-size: 40px;
  }
}
.tg-breadcrumb-navigation ul {
  display: flex;
  align-items: center;
  justify-content: end;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-breadcrumb-navigation ul {
    justify-content: inherit;
  }
}
.tg-breadcrumb-navigation ul li {
  font-weight: 500;
  font-size: 16px;
  color: var(--tg-common-black);
  margin-left: 13px;
}

.tg-text-slide-bigtext {
  font-weight: 800;
  font-size: 130px;
  line-height: 108%;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke-color: var(--tg-common-black);
  -webkit-text-stroke-width: 1px;
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-text-slide-bigtext {
    font-size: 90px;
  }
}
.tg-text-slide-active .swiper-slide {
  width: auto !important;
}

/*=============================
    09. Scroll Top
===============================*/
.scroll__top {
  width: 50px;
  height: 50px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  position: fixed;
  bottom: -10%;
  right: 50px;
  font-size: 16px;
  border-radius: 0;
  z-index: 99;
  color: var(--tg-common-white);
  text-align: center;
  cursor: pointer;
  background: var(--tg-common-black);
  transition: 1s ease;
  border-radius: 50%;
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .scroll__top {
    right: 25px;
    bottom: 25px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .scroll__top {
    right: 30px;
  }
}
@media (max-width: 575px) {
  .scroll__top {
    right: 15px;
    width: 35px;
    height: 35px;
    font-size: 14px;
  }
}
.scroll__top.open {
  bottom: 30px;
}
@media (max-width: 575px) {
  .scroll__top.open {
    bottom: 15px;
  }
}
.scroll__top::after {
  position: absolute;
  z-index: -1;
  content: "";
  top: 100%;
  left: 5%;
  height: 10px;
  width: 90%;
  opacity: 1;
  background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0) 80%);
}
.scroll__top:hover {
  background: var(--tg-theme-primary);
  color: var(--tg-common-white);
}

/*=============================
	11. Section Title
===============================*/
.tg-section-subtitle {
  font-family: var(--tg-ff-heading);
  font-weight: 600;
  letter-spacing: -0.04em;
  color: var(--tg-common-black);
  display: inline-block;
}
.tg-section-title {
  font-family: var(--tg-ff-heading);
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-section-title {
    font-size: 40px;
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-section-title {
    font-size: 30px;
  }
  .tg-section-title br {
    display: none;
  }
}

/*=============================
	05. Mobile Menu
===============================*/
.tgmobile__search {
  padding: 0 20px 25px 25px;
}
.tgmobile__search form {
  position: relative;
}
.tgmobile__search input {
  border: 1px solid #d9e1e1;
  border-radius: 8px;
  width: 100%;
  height: 50px;
  background: var(--tg-common-white);
  font-family: var(--tg-ff-poppins);
  font-weight: 400;
  font-size: 16px;
  text-transform: capitalize;
  padding-right: 50px;
  color: var(--tg-grey-1);
}
.tgmobile__search input:focus {
  border-color: var(--tg-common-black);
}
.tgmobile__search input::placeholder {
  font-family: var(--tg-ff-poppins);
  font-weight: 400;
  font-size: 16px;
  text-transform: capitalize;
  color: var(--tg-grey-1);
}
.tgmobile__search button {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  border: none;
  padding: 0;
  right: 20px;
  line-height: 1;
  background: transparent;
  color: var(--tg-common-black);
}
.tgmobile__menu {
  position: fixed;
  right: 0;
  top: 0;
  width: 350px;
  padding-right: 30px;
  max-width: 100%;
  height: 100%;
  z-index: 9991;
  border-radius: 0px;
  transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  -moz-transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  -webkit-transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  -ms-transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86) e;
  -o-transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  -webkit-transform: translateX(101%);
  -moz-transform: translateX(101%);
  -ms-transform: translateX(101%);
  -o-transform: translateX(101%);
  transform: translateX(101%);
}
@media (max-width: 575px) {
  .tgmobile__menu {
    width: 100%;
  }
}
.tgmobile__menu .navbar-collapse {
  display: block !important;
}
.tgmobile__menu .nav-logo {
  position: relative;
  padding: 30px 25px;
  text-align: left;
}
.tgmobile__menu .nav-logo img {
  width: 150px;
}
.tgmobile__menu .navigation {
  position: relative;
  display: block;
  width: 100%;
  float: none;
  margin: 0;
  padding: 0;
}
.tgmobile__menu .navigation li {
  position: relative;
  display: block;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.tgmobile__menu .navigation li.menu-item-has-children .dropdown-btn {
  position: absolute;
  right: 20px;
  top: 6px;
  width: 32px;
  height: 32px;
  text-align: center;
  font-size: 16px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--tg-common-white);
  background: var(--tg-common-black);
  cursor: pointer;
  border-radius: 0;
  -webkit-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease;
  z-index: 5;
}
.tgmobile__menu .navigation li.menu-item-has-children .dropdown-btn .plus-line {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(0);
  -ms-transform: translate(-50%, -50%) rotate(0);
  transform: translate(-50%, -50%) rotate(0);
  border-radius: 10px;
  width: 12px;
  height: 2px;
  background-color: var(--tg-common-white);
  -webkit-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease;
}
.tgmobile__menu .navigation li.menu-item-has-children .dropdown-btn .plus-line::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(0);
  -ms-transform: translate(-50%, -50%) rotate(0);
  transform: translate(-50%, -50%) rotate(0);
  border-radius: 10px;
  width: 2px;
  height: 12px;
  background-color: var(--tg-common-white);
  -webkit-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease;
}
.tgmobile__menu .navigation li.menu-item-has-children .dropdown-btn.open {
  background-color: var(--tg-common-black);
}
.tgmobile__menu .navigation li.menu-item-has-children .dropdown-btn.open .plus-line {
  background-color: var(--tg-common-white);
}
.tgmobile__menu .navigation li.menu-item-has-children .dropdown-btn.open .plus-line::after {
  display: none;
}
.tgmobile__menu .navigation li > a {
  position: relative;
  display: block;
  padding: 13px 60px 13px 25px;
  font-size: 15px;
  font-weight: 600;
  color: var(--tg-common-black);
  text-transform: uppercase;
  -webkit-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease;
  border: none;
  letter-spacing: 1px;
  line-height: 1;
}
.tgmobile__menu .navigation li > a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 0;
  -webkit-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease;
  width: 2px;
  background: var(--tg-common-black);
  pointer-events: none;
}
.tgmobile__menu .navigation li ul li > a {
  margin-left: 20px;
}
.tgmobile__menu .navigation li ul li ul li a {
  margin-left: 40px;
}
.tgmobile__menu .navigation li ul li ul li ul li a {
  margin-left: 60px;
}
.tgmobile__menu .navigation li > .sub-menu {
  display: none;
}
.tgmobile__menu .navigation li > .sub-menu > li > ul {
  display: none;
}
.tgmobile__menu .navigation ul {
  padding: 0;
  margin: 0;
}
.tgmobile__menu .navigation ul li a {
  display: block;
}
.tgmobile__menu .navigation ul li ul li > a {
  font-size: 16px;
  margin-left: 20px;
  text-transform: capitalize;
}
.tgmobile__menu .navigation:last-child {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.tgmobile__menu .navigation > li > ul > li:first-child {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.tgmobile__menu .navigation > li.active > a::before {
  height: 100%;
}
.tgmobile__menu .close-btn {
  position: absolute;
  right: 15px;
  top: 28px;
  line-height: 30px;
  width: 35px;
  text-align: center;
  font-size: 14px;
  color: var(--tg-common-black);
  cursor: pointer;
  padding: 8px;
  z-index: 10;
  -webkit-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  font-size: 23px;
}
.tgmobile__menu-backdrop {
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
  transition: all 700ms ease;
  -moz-transition: all 700ms ease;
  -webkit-transition: all 700ms ease;
  -ms-transition: all 700ms ease;
  -o-transition: all 700ms ease;
  opacity: 0;
  visibility: hidden;
  background: rgba(0, 0, 0, 0.5);
}
.tgmobile__menu .social-links ul {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  position: relative;
  text-align: center;
  padding: 30px 20px 20px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
}
.tgmobile__menu .social-links ul li {
  position: relative;
  display: inline-block;
  margin: 0px 6px 10px;
}
.tgmobile__menu .social-links ul li a {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  position: relative;
  line-height: 32px;
  font-size: 22px;
  color: var(--tg-common-black);
  -webkit-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease;
}
.tgmobile__menu .social-links ul li a svg {
  width: 18px;
}
.tgmobile__menu .social-links ul li a:hover {
  color: var(--tg-grey-1);
}
.tgmobile__menu .tgmenu__action {
  padding: 0 0;
  margin: 0 0;
}
.tgmobile__menu .tgmenu__action > ul {
  margin: 0 0;
  padding: 30px 20px 0;
  justify-content: center;
  gap: 0 15px;
}
.tgmobile__menu .tgmenu__action > ul li {
  margin: 0 0;
}
.tgmobile__menu .tgmenu__action > ul .header-btn {
  display: block;
}
.tgmobile__menu-box {
  position: absolute;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  max-height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  background: var(--tg-common-white);
  padding: 0px 0px;
  z-index: 5;
  box-shadow: -9px 0 14px 0px rgba(0, 0, 0, 0.06);
}
.tgmobile__menu-outer .mobile-nav-toggler {
  position: relative;
  float: right;
  font-size: 40px;
  line-height: 50px;
  cursor: pointer;
  display: none;
  color: var(--tg-color-white-default);
  margin-right: 30px;
  top: 15px;
}

.mobile-menu-visible {
  overflow: hidden;
}
.mobile-menu-visible .tgmobile__menu {
  -webkit-transform: translateX(0%);
  -moz-transform: translateX(0%);
  -ms-transform: translateX(0%);
  -o-transform: translateX(0%);
  transform: translateX(0%);
}
.mobile-menu-visible .tgmobile__menu-backdrop {
  opacity: 1;
  visibility: visible;
}
.mobile-menu-visible .tgmobile__menu .close-btn {
  -webkit-transform: rotate(360deg);
  -moz-transform: rotate(360deg);
  -ms-transform: rotate(360deg);
  -o-transform: rotate(360deg);
  transform: rotate(360deg);
}

@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .header-mobile-spacing {
    padding: 20px 0px;
  }
}

/*=============================
    01. Animation
===============================*/
@-webkit-keyframes borderanimate2 {
  0% {
    transform: translate(-50%, -50%) scale(0.8);
  }
  60% {
    opacity: 1;
  }
  100% {
    transform: translate(-50%, -50%) scale(2.5);
    opacity: 0;
  }
}
@-moz-keyframes borderanimate2 {
  0% {
    transform: translate(-50%, -50%) scale(0.8);
  }
  60% {
    opacity: 1;
  }
  100% {
    transform: translate(-50%, -50%) scale(2.5);
    opacity: 0;
  }
}
@-ms-keyframes borderanimate2 {
  0% {
    transform: translate(-50%, -50%) scale(0.8);
  }
  60% {
    opacity: 1;
  }
  100% {
    transform: translate(-50%, -50%) scale(2.5);
    opacity: 0;
  }
}
@keyframes borderanimate2 {
  0% {
    transform: translate(-50%, -50%) scale(0.8);
  }
  60% {
    opacity: 1;
  }
  100% {
    transform: translate(-50%, -50%) scale(2.5);
    opacity: 0;
  }
}
@keyframes headerSlideDown {
  0% {
    margin-top: -150px;
  }
  100% {
    margin-top: 0;
  }
}
/*img-animation**********************/
.img-custom-anim-right {
  animation: img-anim-right 1.3s forwards cubic-bezier(0.645, 0.045, 0.355, 1) 0.1s;
  opacity: 0;
}

@keyframes img-anim-right {
  0% {
    transform: translateX(1);
    clip-path: inset(0 0 0 100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}
.img-custom-anim-left {
  animation: img-anim-left 1.3s forwards cubic-bezier(0.645, 0.045, 0.355, 1) 0.1s;
  opacity: 0;
}

@keyframes img-anim-left {
  0% {
    transform: translateX(1);
    clip-path: inset(0 100% 0 0);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}
.img-custom-anim-top {
  animation: img-anim-top 1.3s forwards cubic-bezier(0.645, 0.045, 0.355, 1) 0.1s;
  opacity: 0;
  
}
.border-radius-15
{
  border-radius: 15px;
}

@keyframes img-anim-top {
  0% {
    transform: translateY(-5%);
    clip-path: inset(0 0 100% 0);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}
@keyframes upslide {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-30px);
  }
  60% {
    transform: translateY(-20px);
  }
}
.upslide {
  animation: upslide 4s linear forwards infinite alternate;
}

.tg-rotate {
  -webkit-animation: rotate-infinite 15s linear infinite;
  animation: rotate-infinite 15s linear infinite;
}

@-webkit-keyframes rotate-infinite {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@-moz-keyframes rotate-infinite {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@-ms-keyframes rotate-infinite {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes rotate-infinite {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/*=============================
	10. Search
===============================*/
.search__popup {
  padding-top: 70px;
  padding-bottom: 100px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  background: var(--tg-common-white);
  backdrop-filter: blur(10px);
  z-index: 99999999;
  -webkit-transform: translateY(calc(-100% - 80px));
  -moz-transform: translateY(calc(-100% - 80px));
  -ms-transform: translateY(calc(-100% - 80px));
  -o-transform: translateY(calc(-100% - 80px));
  transform: translateY(calc(-100% - 80px));
  -webkit-transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
  -moz-transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
  transition-delay: 0.5s;
}
.search__popup.search-opened {
  -webkit-transform: translateY(0%);
  -moz-transform: translateY(0%);
  -ms-transform: translateY(0%);
  -o-transform: translateY(0%);
  transform: translateY(0%);
  transition-delay: 0s;
}
.search__popup.search-opened .search__input {
  -webkit-transform: translateY(0px);
  -moz-transform: translateY(0px);
  -ms-transform: translateY(0px);
  -o-transform: translateY(0px);
  transform: translateY(0px);
  opacity: 1;
  transition-delay: 0.3s;
}
.search__popup.search-opened .search__input::after {
  width: 100%;
  transition-delay: 0.5s;
}
.search__input {
  position: relative;
  height: 80px;
  -webkit-transform: translateY(-40px);
  -moz-transform: translateY(-40px);
  -ms-transform: translateY(-40px);
  -o-transform: translateY(-40px);
  transform: translateY(-40px);
  -webkit-transition: all 0.3s ease-out 0s;
  -moz-transition: all 0.3s ease-out 0s;
  -ms-transition: all 0.3s ease-out 0s;
  -o-transition: all 0.3s ease-out 0s;
  transition: all 0.3s ease-out 0s;
  transition-delay: 0.5s;
  opacity: 0;
}
.search__input::after {
  position: absolute;
  content: "";
  left: 0;
  bottom: 0;
  width: 0%;
  height: 1px;
  background-color: var(--tg-common-black);
  transition-delay: 0.3s;
  -webkit-transition: all 0.3s ease-out 0s;
  -moz-transition: all 0.3s ease-out 0s;
  -ms-transition: all 0.3s ease-out 0s;
  -o-transition: all 0.3s ease-out 0s;
  transition: all 0.3s ease-out 0s;
}
.search__input input {
  width: 100%;
  height: 100%;
  background-color: transparent;
  border: 0;
  outline: 0;
  font-size: 24px;
  color: var(--tg-common-black);
  border-bottom: 1px solid transparent;
  padding: 0;
  padding-right: 30px;
}
.search__input input::placeholder {
  font-size: 24px;
  color: var(--tg-grey-1);
}
.search__input button {
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  font-size: 18px;
  color: var(--tg-common-black);
  border: none;
  padding: 0 0;
  background: transparent;
}
.search__close {
  position: absolute;
  top: 10%;
  right: 2%;
  z-index: 2;
}
.search-close-btn {
  margin: 0;
  padding: 0;
  border: none;
  color: var(--tg-common-black);
  cursor: pointer;
  background: transparent;
}
.search-close-btn:hover {
  color: var(--tg-theme-primary);
}
.search-popup-overlay {
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 4;
  -webkit-transition: all 0.3s ease-out 0s;
  -moz-transition: all 0.3s ease-out 0s;
  -ms-transition: all 0.3s ease-out 0s;
  -o-transition: all 0.3s ease-out 0s;
  transition: all 0.3s ease-out 0s;
  transition-delay: 0.5s;
  opacity: 0;
  visibility: hidden;
  background: #000d25;
}
.search-popup-overlay.search-popup-overlay-open {
  opacity: 0.55;
  visibility: visible;
  transition-delay: 0s;
}

.search-input-field ~ .search-focus-border {
  position: absolute;
  bottom: 0;
  left: auto;
  right: 0;
  width: 0;
  height: 1px;
  background-color: var(--tg-theme-primary);
  transition: all 0.5s;
  z-index: 1;
}
.search-input-field:focus ~ .search-focus-border {
  width: 100%;
  left: 0;
  right: auto;
  transition: all 0.5s;
}

/*=============================
	12. spacing default responsive
===============================*/
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .pt-170 {
    padding-top: 115px;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .pt-165 {
    padding-top: 110px;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .pt-160 {
    padding-top: 100px;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .pt-155 {
    padding-top: 100px;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .pt-150 {
    padding-top: 100px;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .pt-145 {
    padding-top: 100px;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .pt-140 {
    padding-top: 100px;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .pt-135 {
    padding-top: 95px;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .pt-130 {
    padding-top: 90px;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .pt-125 {
    padding-top: 85px;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .pt-120 {
    padding-top: 80px;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .pt-115 {
    padding-top: 75px;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .pt-110 {
    padding-top: 70px;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .pt-105 {
    padding-top: 65px;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .pt-100 {
    padding-top: 60px;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .pb-170 {
    padding-bottom: 100px;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .pb-165 {
    padding-bottom: 100px;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .pb-160 {
    padding-bottom: 100px;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .pb-155 {
    padding-bottom: 100px;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .pb-150 {
    padding-bottom: 100px;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .pb-145 {
    padding-bottom: 100px;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .pb-140 {
    padding-bottom: 100px;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .pb-135 {
    padding-bottom: 95px;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .pb-130 {
    padding-bottom: 90px;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .pb-125 {
    padding-bottom: 85px;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .pb-120 {
    padding-bottom: 80px;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .pb-115 {
    padding-bottom: 75px;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .pb-110 {
    padding-bottom: 70px;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .pb-105 {
    padding-bottom: 65px;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .pb-100 {
    padding-bottom: 60px;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .pb-95 {
    padding-bottom: 55px;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .pb-90 {
    padding-bottom: 50px;
  }
}

/*=============================
	06. Nice Select
===============================*/
.nice-select {
  -webkit-tap-highlight-color: transparent;
  background-color: #fff;
  border: 1px solid #D9D9D9;
  box-sizing: border-box;
  clear: both;
  cursor: pointer;
  display: block;
  float: left;
  font-family: inherit;
  font-size: 15px;
  font-weight: normal;
  line-height: 58px;
  outline: none;
  padding-left: 30px;
  padding-right: 30px;
  position: relative;
  text-align: left !important;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  white-space: nowrap;
  width: auto;
  width: 100%;
  text-transform: uppercase;
  height: 60px;
  color: var(--tp-grey-1);
}
.nice-select:hover {
  border-color: #dbdbdb;
}
.nice-select .current {
  font-size: 15px;
}
.nice-select:active, .nice-select.open, .nice-select:focus {
  border-color: var(--tg-theme-primary);
}
.nice-select::after {
  position: absolute;
  content: "\f107";
  top: 50%;
  right: 20px;
  font-size: 18px;
  font-family: var(--tg-ff-fontawesome);
  color: var(--tg-common-black);
  font-weight: 500;
  pointer-events: none;
  -webkit-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
  margin-top: 0;
  transform-origin: center;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}
.nice-select.open::after {
  -webkit-transform: translateY(-50%) rotate(-180deg);
  -moz-transform: translateY(-50%) rotate(-180deg);
  -ms-transform: translateY(-50%) rotate(-180deg);
  -o-transform: translateY(-50%) rotate(-180deg);
  transform: translateY(-50%) rotate(-180deg);
}
.nice-select.open .list {
  opacity: 1;
  pointer-events: auto;
  -webkit-transform: scale(1) translateY(0);
  -ms-transform: scale(1) translateY(0);
  transform: scale(1) translateY(0);
}
.nice-select.disabled {
  border-color: #ededed;
  color: #999;
  pointer-events: none;
}
.nice-select.disabled::after {
  border-color: #cccccc;
}
.nice-select.wide {
  width: 100%;
}
.nice-select.wide .list {
  left: 0 !important;
  right: 0 !important;
}
.nice-select.right {
  float: right;
}
.nice-select.right .list {
  left: auto;
  right: 0;
}
.nice-select.small {
  font-size: 14px;
  height: 36px;
  line-height: 34px;
}
.nice-select.small::after {
  height: 4px;
  width: 4px;
}
.nice-select.small .option {
  line-height: 34px;
  min-height: 34px;
}
.nice-select .list {
  background-color: #fff;
  box-shadow: 0 0 0 1px rgba(68, 68, 68, 0.11);
  box-sizing: border-box;
  margin-top: 4px;
  opacity: 0;
  overflow: hidden;
  padding: 0;
  pointer-events: none;
  position: absolute;
  top: 100%;
  left: 0;
  -webkit-transform-origin: 50% 0;
  -ms-transform-origin: 50% 0;
  transform-origin: 50% 0;
  -webkit-transform: scale(0.75) translateY(-21px);
  -ms-transform: scale(0.75) translateY(-21px);
  transform: scale(0.75) translateY(-21px);
  -webkit-transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
  transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
  z-index: 9;
  width: 100%;
}
.nice-select .option {
  cursor: pointer;
  font-weight: 400;
  line-height: 40px;
  list-style: none;
  min-height: 40px;
  outline: none;
  padding-left: 18px;
  padding-right: 29px;
  text-align: left;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.nice-select .option.selected {
  font-weight: bold;
}
.nice-select .option.disabled {
  background-color: transparent;
  color: #999;
  cursor: default;
}

.no-csspointerevents .nice-select .list {
  display: none;
}

.no-csspointerevents .nice-select.open .list {
  display: block;
}

/*=============================
    12. header
===============================*/
.tg-header-search {
  width: 60px;
  height: 60px;
  border: 1px solid var(--tg-common-black);
  border-radius: 50%;
  color: var(--tg-common-black);
}
.tg-header-search i {
  font-weight: 500;
}
.tg-header-4-right .tg-header-search {
  border: 1px solid var(--tg-common-white);
  color: var(--tg-common-white);
}
.tg-header-4-right .tgmenu-offcanvas-open-bar {
  border: 1px solid var(--tg-common-white);
}
.tg-header-4-right .tgmenu-offcanvas-open-bar span {
  background: var(--tg-common-white);
}

.header-sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
  width: 100%;
  z-index: 999;
  visibility: visible;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0px 1px 3px 0px rgba(18, 20, 32, 0.14);
  animation: 0.95s ease 0s normal forwards 1 running headerSlideDown;
  -webkit-animation: 0.95s ease 0s normal forwards 1 running headerSlideDown;
  backdrop-filter: blur(10px);
}
.header-sticky .tgmenu__navbar-wrap > ul > li > a {
  padding: 35px 0px;
}
.header-sticky .tgmenu-main-4 > ul > li > a {
  color: var(--tg-common-black);
}
.header-sticky .tg-header-logo .logo-1 {
  display: none;
}
.header-sticky .tg-header-logo .logo-2 {
  display: block !important;
}
.header-sticky .tg-header-4-right .tg-header-search {
  border: 1px solid var(--tg-common-black);
  color: var(--tg-common-black);
}
.header-sticky .tg-header-4-right .tgmenu-offcanvas-open-bar {
  border: 1px solid var(--tg-common-black);
}
.header-sticky .tg-header-4-right .tgmenu-offcanvas-open-bar span {
  background: var(--tg-common-black);
}

/*=============================
    14. Menu
===============================*/
.tgmenu__navbar-wrap > ul > li {
  display: inline-block;
  position: relative;
  list-style: none;
}
.tgmenu__navbar-wrap > ul > li:not(:last-child) {
  margin-right: 35px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tgmenu__navbar-wrap > ul > li:not(:last-child) {
    margin-right: 30px;
  }
}
.tgmenu__navbar-wrap > ul > li > a {
  font-weight: 500;
  font-size: 16px;
  display: inline-block;
  color: var(--tg-common-black);
  padding: 45px 0px;
  font-family: var(--tg-ff-heading);
}
.tgmenu__navbar-wrap > ul > li > a:hover .effect-1 {
  top: -100%;
}
.tgmenu__navbar-wrap > ul > li .sub-menu {
  position: absolute;
  left: 0;
  top: 100%;
  min-width: 350px;
  background: var(--tg-common-white);
  margin: 0;
  -webkit-transform: scale(1, 0);
  -moz-transform: scale(1, 0);
  -ms-transform: scale(1, 0);
  -o-transform: scale(1, 0);
  transform: scale(1, 0);
  transform-origin: 0 0;
  -webkit-transition: all 0.3s ease-out 0s;
  -moz-transition: all 0.3s ease-out 0s;
  -ms-transition: all 0.3s ease-out 0s;
  -o-transition: all 0.3s ease-out 0s;
  transition: all 0.3s ease-out 0s;
  -webkit-box-shadow: 0px 30px 70px 0px rgba(137, 139, 142, 0.15);
  -moz-box-shadow: 0px 30px 70px 0px rgba(137, 139, 142, 0.15);
  box-shadow: 0px 30px 70px 0px rgba(137, 139, 142, 0.15);
  border-radius: 0;
  padding: 18px 0;
  display: block;
  visibility: hidden;
  opacity: 0;
  z-index: 9;
}
.tgmenu__navbar-wrap > ul > li .sub-menu.sub-menu-right {
  right: 0;
  left: auto;
}
.tgmenu__navbar-wrap > ul > li .sub-menu .sub-menu {
  right: auto;
  left: 100%;
  top: 0;
}
.tgmenu__navbar-wrap > ul > li .sub-menu li {
  margin-left: 0;
  text-align: left;
  display: block;
}
.tgmenu__navbar-wrap > ul > li .sub-menu li a {
  padding: 2px 15px 2px 25px;
  font-weight: 500;
  font-size: 14px;
  display: block;
  color: var(--tg-common-black);
  margin: 0;
  font-family: var(--tg-ff-heading);
  text-transform: capitalize;
}
.tgmenu__navbar-wrap > ul > li .sub-menu li:hover > a, .tgmenu__navbar-wrap > ul > li .sub-menu li.active > a {
  color: var(--tg-theme-primary);
}
.tgmenu__navbar-wrap > ul > li:hover > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}
.tgmenu__navbar-wrap > ul > li.active > a, .tgmenu__navbar-wrap > ul > li:hover > a {
  color: var(--tg-theme-primary) !important;
}
.tgmenu-offcanvas-open-bar {
  background: transparent;
  position: relative;
  height: 60px;
  width: 60px;
  border: 1px solid var(--tg-common-black);
  border-radius: 50%;
  text-align: center;
  line-height: 54px;
  padding-top: 20px;
  cursor: pointer;
}
@media (max-width: 575px) {
  .tgmenu-offcanvas-open-bar {
    height: 45px;
    width: 45px;
    padding-top: 13px;
  }
}
.tgmenu-offcanvas-open-bar:hover span:nth-child(2) {
  transform: translateX(0);
}
.tgmenu-offcanvas-open-bar span {
  display: block;
  height: 2px;
  width: 22px;
  background: var(--tg-common-black);
  margin: auto;
  transition: 0.4s;
}
.tgmenu-offcanvas-open-bar span:not(:last-child) {
  margin-bottom: 6px;
}
.tgmenu-offcanvas-open-bar span:nth-child(2) {
  transform: translateX(2px);
}
.tgmenu-link-effect {
  position: relative;
  overflow: hidden;
  display: block;
  height: 17px;
  line-height: normal;
}
.tgmenu-link-effect .effect-1 {
  display: block;
  height: 100%;
  position: relative;
  top: 0%;
  transition: 0.3s;
}
.tgmenu__wrap-two .tgmenu__navbar-wrap > ul > li.active > a, .tgmenu__wrap-two .tgmenu__navbar-wrap > ul > li:hover > a {
  color: var(--tg-common-black) !important;
}
.tgmenu-main-4 > ul > li > a {
  color: var(--tg-common-white);
}

.tg-menu-full {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  padding: 0;
  width: 100%;
  min-width: 100%;
  z-index: 999;
  background: var(--tg-common-white);
  box-shadow: 0px 10px 30px 0px rgba(25, 25, 26, 0.1);
  overflow: hidden;
  margin: auto;
}
.tg-menu-full .tg-full-wrapper {
  padding: 30px 30px 0px 30px;
}
.tg-menu-full .tg-full-wrapper .full {
  margin-bottom: 25px;
}
.tg-menu-full .tg-full-wrapper .full-thumb {
  height: 250px;
  border-radius: 4px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), (max-width: 575px) {
  .tg-menu-full .tg-full-wrapper .full-thumb {
    height: auto;
  }
}
.tg-menu-full .tg-full-wrapper .full-thumb a {
  padding: 0;
}
.tg-menu-full .tg-full-wrapper .full-thumb img {
  transition: all 0.4s ease;
  object-fit: cover;
}
.tg-menu-full .tg-full-wrapper .full-thumb:hover img {
  transform: scale(1.06);
}
.tg-menu-full .tg-full-wrapper .full-thumb-wrap {
  padding: 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  position: relative;
}
.tg-menu-full .tg-full-wrapper .full-title {
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  color: var(--tg-common-black);
}
.tg-menu-full .tg-full-wrapper .full-title.active a {
  color: var(--tg-theme-primary);
}
.tg-menu-full .tg-full-wrapper .full-title a {
  padding: 0;
  color: var(--tg-common-black);
}
.tg-menu-full .tg-full-wrapper .full-title a:hover {
  color: var(--tg-theme-primary);
}
.tg-menu-full .tg-full-wrapper .comeing-soon .full-thumb {
  position: relative;
}
.tg-menu-full .tg-full-wrapper .comeing-soon .full-thumb::before {
  position: absolute;
  z-index: 22;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  backdrop-filter: blur(6px);
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 6px;
}

/*=============================
    	13. hero
===============================*/
.tg-hero-content {
  padding-left: 125px;
}
@media only screen and (min-width: 1600px) and (max-width: 1700px), only screen and (min-width: 1400px) and (max-width: 1599px), only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-content {
    padding-left: 15px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-content {
    padding-top: 0px;
  }
}
.tg-hero-title {
  font-weight: 800;
  font-size: 140px;
  line-height: 1;
  color: #000;
}
@media only screen and (min-width: 1600px) and (max-width: 1700px), only screen and (min-width: 1400px) and (max-width: 1599px), only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-title {
    font-size: 130px;
  }
}
@media only screen and (min-width: 1400px) and (max-width: 1599px), only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-title {
    font-size: 100px;
  }
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-title {
    font-size: 80px;
  }
}
@media (max-width: 575px) {
  .tg-hero-title {
    font-size: 40px;
  }
}
.tg-hero-title img {
  margin-left: -20px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-title img {
    width: 100px;
  }
}
@media (max-width: 575px) {
  .tg-hero-title img {
    width: 70px;
    margin-left: 0;
  }
}
.tg-hero-thumb {
  float: right;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-thumb {
    float: inherit;
    padding-top: 30px;
  }
  .tg-hero-thumb img {
    width: 100%;
  }
}
.tg-hero-spacing {
  padding-top: 50px;
}
.tg-hero-bigtext {
  font-weight: 800;
  font-size: 300px;
  line-height: 1;
  color: var(--tg-theme-primary);
  margin-bottom: 0;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-bigtext {
    font-size: 200px;
  }
}
@media (max-width: 575px) {
  .tg-hero-bigtext {
    font-size: 100px;
  }
}
.tg-hero-text-slide-active {
  margin-top: -135px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-text-slide-active {
    margin-top: -100px;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-text-slide-active {
    margin-top: -50px;
  }
}
@media (max-width: 575px) {
  .tg-hero-text-slide-active {
    margin-top: 0;
  }
}
.tg-hero-text-slide-active .swiper-slide {
  width: auto !important;
}
.tg-hero-text-shape {
  position: absolute;
  bottom: 36px;
  left: 0;
  width: 100%;
  z-index: 22;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-text-shape {
    bottom: 23px;
  }
}
.tg-hero-2-spacing {
  padding-top: 245px;
  padding-bottom: 195px;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-2-spacing {
    padding-top: 170px;
    padding-bottom: 110px;
  }
}
.tg-hero-2-title {
  font-weight: 700;
  font-size: 120px;
  line-height: 1;
  letter-spacing: -0.03em;
}
@media only screen and (min-width: 1400px) and (max-width: 1599px) {
  .tg-hero-2-title {
    font-size: 90px;
  }
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
  .tg-hero-2-title {
    font-size: 80px;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .tg-hero-2-title {
    font-size: 60px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-2-title {
    font-size: 40px;
  }
  .tg-hero-2-title br {
    display: none;
  }
}
.tg-hero-2-para {
  padding-right: 587px;
}
@media only screen and (min-width: 1400px) and (max-width: 1599px) {
  .tg-hero-2-para {
    padding-right: 415px;
  }
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
  .tg-hero-2-para {
    padding-right: 318px;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-2-para {
    padding-right: 0;
  }
}
@media (max-width: 575px) {
  .tg-hero-2-para {
    flex-direction: column;
  }
}
.tg-hero-2-shape {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: -1;
}
.tg-hero-2-shape-two {
  position: absolute;
  right: 195px;
  bottom: 210px;
}
@media (max-width: 575px) {
  .tg-hero-2-shape-two {
    display: none;
  }
}
.tg-hero-2-thumb {
  position: absolute;
  right: 0;
  top: 175px;
  z-index: -1;
  width: 55%;
  height: 92%;
  object-fit: cover;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-2-thumb {
    position: inherit;
    margin-top: 30px;
    width: 100%;
  }
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-2-btn {
    margin-right: 20px;
  }
}
.tg-hero-3-title {
  font-weight: 700;
  font-size: 87px;
  line-height: 122%;
  letter-spacing: 0px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-3-title {
    font-size: 65px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-3-title {
    font-size: 45px;
  }
}
@media (max-width: 575px) {
  .tg-hero-3-title {
    font-size: 35px;
  }
}
.tg-hero-3-banner {
  flex-wrap: wrap;
  padding: 17px 115px 17px 30px;
  transform: translateY(-13px);
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-3-banner {
    transform: translateY(1px);
  }
}
@media (max-width: 575px) {
  .tg-hero-3-banner {
    padding: 11px 15px 11px 15px;
  }
}
.tg-hero-3-banner span {
  font-weight: 400;
  font-size: 18px;
  color: var(--tg-common-black);
  line-height: 1;
  font-family: var(--tg-ff-heading);
  letter-spacing: 0px;
}
.tg-hero-3-roundedtext {
  width: 72px;
  height: 72px;
  display: inline-block;
  background: var(--tg-theme-primary);
  line-height: 56px;
  text-align: center;
  border-radius: 50px;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-3-roundedtext {
    display: none;
  }
}
.tg-hero-3-roundedtext .shape {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  right: 0;
  margin: 0 auto;
}
.tg-hero-3-para {
  margin-left: 670px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
  .tg-hero-3-para {
    margin-left: 400px;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-3-para {
    margin-left: 0;
  }
}
@media (max-width: 575px) {
  .tg-hero-3-para {
    flex-wrap: wrap;
  }
}
.tg-hero-3-spacing {
  padding-top: 90px;
  padding-bottom: 70px;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-3-spacing {
    padding-top: 80px;
  }
}
@media (max-width: 575px) {
  .tg-hero-3-spacing {
    padding-top: 30px;
  }
}
.tg-hero-3-shape {
  margin-top: -20px;
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-3-shape {
    margin-top: 0;
    margin-bottom: 30px;
  }
}
.tg-hero-3-shape-2 {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
}
.tg-hero-3-transparent-text {
  font-weight: 800;
  font-size: 300px;
  color: #f0f0f0;
  position: absolute;
  bottom: 96px;
  left: 0;
  line-height: 1;
  z-index: -1;
  font-family: var(--tg-ff-heading);
  margin-left: -135px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-3-transparent-text {
    font-size: 163px;
    margin-left: -50px;
    bottom: 158px;
  }
}
@media (max-width: 575px) {
  .tg-hero-3-transparent-text {
    font-size: 100px;
  }
}
.tg-hero-4-shape {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
.tg-hero-4-btn {
  padding-top: 252px;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-4-btn {
    padding-top: 50px;
  }
}
.tg-hero-4-spacing {
  padding-top: 135px;
  padding-bottom: 50px;
}
.tg-hero-4-right-shape {
  position: absolute;
  right: 0;
  bottom: 0;
}
@media (max-width: 575px) {
  .tg-hero-4-right-shape {
    width: 80px;
  }
}
.tg-hero-4-text-slide-active .swiper-slide {
  width: auto !important;
}
.tg-hero-4-bigtext {
  font-weight: 800;
  font-size: 140px;
  line-height: 100%;
  color: var(--tg-common-white);
  transition: all 0.4s ease;
}
.tg-hero-4-bigtext:hover {
  filter: blur(7px);
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-4-bigtext {
    font-size: 90px;
  }
}
.tg-hero-4-bigtext:hover {
  backdrop-filter: blur(14px);
}
.tg-hero-5-content {
  margin-left: 100px;
}
@media only screen and (min-width: 1600px) and (max-width: 1700px), only screen and (min-width: 1400px) and (max-width: 1599px), only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-5-content {
    margin-left: 0;
  }
}
.tg-hero-5-spacing {
  padding-top: 160px;
  padding-bottom: 210px;
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .tg-hero-5-spacing {
    padding-top: 120px;
  }
}
@media (max-width: 575px) {
  .tg-hero-5-spacing {
    padding-top: 90px;
    padding-bottom: 110px;
  }
}
.tg-hero-5-title {
  font-weight: 700;
  font-size: 180px;
  line-height: 100%;
  letter-spacing: 0;
}
@media only screen and (min-width: 1400px) and (max-width: 1599px) {
  .tg-hero-5-title {
    font-size: 140px;
  }
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
  .tg-hero-5-title {
    font-size: 120px;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .tg-hero-5-title {
    font-size: 90px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-5-title {
    font-size: 80px;
  }
  .tg-hero-5-title span {
    margin-left: 0;
  }
  .tg-hero-5-title img {
    margin-left: 0;
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .tg-hero-5-title {
    font-size: 60px;
  }
}
@media (max-width: 575px) {
  .tg-hero-5-title {
    font-size: 34px;
  }
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-5-title .star {
    width: 80px;
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-5-title .star {
    width: 50px;
    transform: translateY(-6px);
  }
}
@media (max-width: 575px) {
  .tg-hero-5-title .star {
    width: 30px;
  }
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
  .tg-hero-5-title .avatar {
    width: 150px;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-5-title .avatar {
    width: 100px;
  }
}
@media (max-width: 575px) {
  .tg-hero-5-title .avatar {
    width: 60px;
  }
}
.tg-hero-5-para {
  font-weight: 400;
  font-size: 18px;
  line-height: 167%;
  color: var(--tg-common-black);
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-5-para br {
    display: none;
  }
}
.tg-hero-5-text {
  margin-top: -143px;
  margin-left: -30px;
}
@media only screen and (min-width: 1400px) and (max-width: 1599px), only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-5-text {
    margin-top: -120px;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .tg-hero-5-text {
    margin-top: -74px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-5-text {
    margin-top: 40px;
    margin-left: 0;
  }
}
.tg-hero-5-shape {
  position: absolute;
  bottom: 0;
  left: 80px;
  z-index: -1;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-5-shape {
    left: 0;
    width: 300px;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-5-shape {
    width: 200px;
  }
}
@media (max-width: 575px) {
  .tg-hero-5-shape {
    width: 100px;
  }
}
.tg-hero-5-shape-two {
  position: absolute;
  bottom: -80px;
  right: 172px;
  z-index: -1;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-5-shape-two {
    width: 150px;
    bottom: -40px;
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-5-shape-two {
    right: 0;
  }
}
@media (max-width: 575px) {
  .tg-hero-5-shape-two {
    width: 100px;
  }
}
.tg-hero-6-spacing {
  padding-top: 80px;
  padding-bottom: 90px;
}
.tg-hero-bg-slider {
  overflow: hidden;
  isolation: isolate;
  min-height: 720px;
  padding: 80px 0 90px;
  background: #edf5e8;
}
.tg-hero-bg-slider::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.84) 0%, rgba(255, 255, 255, 0.5) 43%, rgba(255, 255, 255, 0.08) 72%);
  pointer-events: none;
}
.tg-hero-banner-visual {
  position: absolute;
  inset: 0;
  z-index: -2;
  overflow: hidden;
  background: #edf5e8;
}
.tg-hero-slide-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transform: scale(1.04);
  transition: opacity 1s ease, transform 6s ease;
}
.tg-hero-slide-bg.is-active {
  opacity: 1;
  transform: scale(1);
}
.hero-slide-bg-1 {
  background-image: url("../img/hero/hero-6/Banner1.webp?v=20260902-2");
}
.hero-slide-bg-2 {
  background-image: none;
}
.tg-hero-bg-slider > .container {
  position: relative;
  z-index: 2;
  padding-top: 0;
}
.tg-hero-slide-copy {
  display: none;
}
.tg-hero-unified-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 760px;
  padding: 42px 44px;
  background: transparent;
  border: 0;
  border-radius: 0;
  backdrop-filter: none;
}
.tg-hero-unified-content .tg-hero-6-title {
  margin-bottom: 22px;
}
@media (min-width: 992px) {
  .tg-hero-unified-content .tg-hero-6-title {
    min-height: 4.4em;
  }
  .tg-hero-unified-content .tg-hero-6-subtitle {
    min-height: 3.1em;
  }
}
.tg-hero-6-subtitle {
  max-width: 680px;
  margin: 0 0 28px;
  color: var(--tg-common-black);
  font-size: 18px;
  line-height: 1.55;
}
.tg-hero-unified-content .tg-hero-6-btn {
  margin: 0;
}
.tg-hero-unified-content .tg-hero-6-btn-group {
  margin-bottom: 0;
}
.tg-hero-6-title,
.tg-hero-6-subtitle {
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.tg-hero-bg-slider.is-copy-changing .tg-hero-6-title,
.tg-hero-bg-slider.is-copy-changing .tg-hero-6-subtitle {
  opacity: 0;
  transform: translateY(8px);
}
@media (max-width: 767px) {
  .tg-hero-unified-content {
    padding: 30px 24px;
    border-radius: 14px;
  }
  .tg-hero-6-subtitle {
    font-size: 16px;
  }
}
.tg-hero-slider-controls {
  position: absolute;
  left: 50%;
  bottom: 24px;
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 14px;
  transform: translateX(-50%);
}
.tg-hero-slider-prev,
.tg-hero-slider-next {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  color: #ffffff;
  background: #0d7046;
  border: 0;
  border-radius: 50%;
  transition: background-color 0.3s ease, transform 0.3s ease;
}
.tg-hero-slider-prev:hover,
.tg-hero-slider-next:hover {
  background: #072f1d;
  transform: translateY(-2px);
}
.tg-hero-slider-dots {
  display: flex;
  align-items: center;
  gap: 8px;
}
.tg-hero-slider-dot {
  width: 9px;
  height: 9px;
  padding: 0;
  background: rgba(13, 112, 70, 0.38);
  border: 0;
  border-radius: 999px;
  transition: width 0.3s ease, background-color 0.3s ease;
}
.tg-hero-slider-dot.is-active {
  width: 28px;
  background: #0d7046;
}
@media (max-width: 991px) {
  .tg-home-about-copy > p {
    text-align: justify;
    text-align-last: left;
  }
  .tg-hero-bg-slider {
    min-height: auto;
    padding-top: 0;
    padding-bottom: 60px;
    background: #ffffff;
  }
  .tg-hero-bg-slider::after {
    display: none;
  }
  .tg-hero-banner-visual {
    position: relative;
    inset: auto;
    z-index: 0;
    width: 100%;
    aspect-ratio: 1922 / 1072;
  }
  .tg-hero-slide-bg {
    background-size: contain;
    transform: none;
  }
  .tg-hero-slide-bg.is-active {
    transform: none;
  }
  .tg-hero-bg-slider > .container {
    padding-top: 42px;
  }
}
@media (max-width: 575px) {
  .tg-hero-bg-slider {
    padding-bottom: 0px;
  }
  .tg-hero-bg-slider > .container {
    padding-top: 30px;
  }
  .tg-hero-slider-controls {
    bottom: 14px;
  }
  .tg-hero-slider-prev,
  .tg-hero-slider-next {
    width: 36px;
    height: 36px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-6-spacing {
    padding-bottom: 100px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-6-content {
    margin-bottom: 20px;
  }
}
.tg-hero-6-title {
  font-weight: 700;
  font-size: 65px;
  line-height: 111%;
  color: var(--tg-common-black);
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .tg-hero-6-title {
    font-size: 60px;
  }
}
@media (max-width: 575px) {
  .tg-hero-6-title {
    font-size: 44px;
  }
}
.tg-hero-6-thumb {
  position: absolute;
  bottom: -209px;
  left: 0;
  width: 50%;
  height: 400px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-6-thumb {
    width: 48%;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .tg-hero-6-thumb {
    bottom: -100px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-6-thumb {
    bottom: 0;
    width: 100%;
    position: inherit;
    height: auto;
    margin-bottom: 30px;
  }
}
.tg-hero-6-thumb img {
  object-fit: cover;
  height: 100%;
}
.tg-hero-6-btn {
  margin-right: -85px;
}
.tg-hero-6-btn .tg-portfolio-4-btn {
  flex-direction: column;
  align-items: flex-start;
}
@media only screen and (min-width: 1400px) and (max-width: 1599px), only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-6-btn {
    margin-right: 0;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-6-btn .tg-portfolio-4-btn {
    flex-direction: column;
    align-items: flex-start;
  }
}
.tg-hero-6-btn .tg-btn-rounded {
  width: 118px;
  height: 118px;
  font-size: 13px;
  line-height: 1.2;
  border-color: var(--tg-common-black);
}
.tg-hero-6-btn .tg-btn-rounded:not(.tg-btn-rounded-primary) span {
  color: var(--tg-common-black);
}
.tg-hero-6-btn .tg-btn-rounded:not(.tg-btn-rounded-primary) {
  background-color: rgba(255, 255, 255, 0.92);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}
.tg-hero-6-btn .tg-btn-rounded:not(.tg-btn-rounded-primary):hover span {
  color: var(--tg-common-white);
}
.tg-hero-6-btn .tg-btn-rounded-primary {
  border-color: var(--tg-theme-primary);
}
.tg-hero-6-btn .tg-btn-rounded span {
  padding-top: 30px;
}
.tg-hero-6-btn .tg-btn-rounded span svg {
  width: 12px;
  height: 13px;
  margin-top: 5px;
}
.tg-hero-6-btn-group {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: nowrap;
  margin-bottom: 24px;
}
.tg-hero-6-btn-group .tg-btn-rounded {
  margin-right: 0;
  margin-bottom: 0;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-6-btn .tg-btn-rounded {
    margin-right: 20px;
  }
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-6-btn-group .tg-btn-rounded {
    margin-right: 0;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-6-btn .tg-btn-rounded {
    margin-bottom: 20px;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-6-btn-group .tg-btn-rounded {
    margin-bottom: 0;
  }
}
.tg-hero-6-btn .tg-btn-rounded:hover {
  border-color: var(--tg-common-black);
}
.tg-hero-6-btn .tg-portfolio-4-btn p {
  color: var(--tg-common-black);
}
@media (max-width: 575px) {
  .tg-hero-6-btn-group {
    gap: 10px;
  }
  .tg-hero-6-btn .tg-btn-rounded {
    width: 104px;
    height: 104px;
    font-size: 11px;
  }
  .tg-hero-6-btn .tg-btn-rounded span {
    padding-top: 25px;
  }
}
.tg-hero-6-icon {
  display: flex;
  justify-content: space-between;
  flex: 0 0 auto;
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-6-icon {
    margin-left: 0;
  }
}
@media (max-width: 575px) {
  .tg-hero-6-icon {
    padding-bottom: 0;
  }
}
.tg-hero-6-icon span {
  display: inline-block;
  margin: 0 5px;
}
@media (max-width: 575px) {
  .tg-hero-6-icon span {
    width: 60px;
  }
}
.tg-hero-6-icon img.motion-icon {
  transition: none !important;
  will-change: transform;
  position: relative;
  display: inline-block !important;
}
/* First icon - Horizontal left-right motion */
.tg-hero-6-icon span:nth-child(1) img.motion-icon {
  animation: motionEffect1 3s ease-in-out infinite;
}
/* Second icon - Vertical up-down motion */
.tg-hero-6-icon span:nth-child(2) img.motion-icon {
  animation: motionEffect2 2.5s ease-in-out infinite;
}
/* Third icon - Circular/rotating motion */
.tg-hero-6-icon span:nth-child(3) img.motion-icon {
  animation: motionEffect3 3.5s ease-in-out infinite;
}
/* Fourth icon - Diagonal motion */
.tg-hero-6-icon span:nth-child(4) img.motion-icon {
  animation: motionEffect4 2.8s ease-in-out infinite;
}

/* Animation 1: Horizontal left-right */
@keyframes motionEffect1 {
  0%, 100% {
    transform: translateX(0px);
  }
  50% {
    transform: translateX(15px);
  }
}

/* Animation 2: Vertical up-down */
@keyframes motionEffect2 {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-15px);
  }
}

/* Animation 3: Circular/rotating motion */
@keyframes motionEffect3 {
  0% {
    transform: translateX(0px) translateY(0px) rotate(0deg);
  }
  25% {
    transform: translateX(10px) translateY(-10px) rotate(5deg);
  }
  50% {
    transform: translateX(0px) translateY(-15px) rotate(0deg);
  }
  75% {
    transform: translateX(-10px) translateY(-10px) rotate(-5deg);
  }
  100% {
    transform: translateX(0px) translateY(0px) rotate(0deg);
  }
}

/* Animation 4: Diagonal motion */
@keyframes motionEffect4 {
  0%, 100% {
    transform: translateX(0px) translateY(0px);
  }
  25% {
    transform: translateX(12px) translateY(-12px);
  }
  50% {
    transform: translateX(0px) translateY(-15px);
  }
  75% {
    transform: translateX(-12px) translateY(-12px);
  }
}
.tg-hero-7-title {
  font-weight: 700;
  font-size: 100px;
  line-height: 110%;
  text-align: center;
  color: var(--tg-common-white);
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px) {
  .tg-hero-7-title {
    font-size: 70px;
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .tg-hero-7-title {
    font-size: 50px;
  }
}
@media (max-width: 575px) {
  .tg-hero-7-title {
    font-size: 35px;
  }
}
.tg-hero-7-spacing {
  padding-top: 207px;
  padding-bottom: 225px;
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-7-spacing {
    padding-top: 120px;
    padding-bottom: 180px;
  }
}
.tg-hero-7-bg {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  z-index: -1;
}
.tg-hero-7-content {
  position: relative;
  z-index: 3;
}
.tg-hero-7-next {
  font-weight: 700;
  font-size: 24px;
  text-align: center;
  color: var(--tg-common-white);
  font-family: var(--tg-ff-heading);
  transition: all 0.4 ease;
}
.tg-hero-7-next:hover {
  color: var(--tg-theme-primary);
}
.tg-hero-7-prev {
  width: 80px;
  height: 80px;
  display: inline-block;
  background: var(--tg-common-black);
  color: var(--tg-common-white);
  text-align: center;
  line-height: 80px;
  border-radius: 50%;
  transition: all 0.4s ease;
}
.tg-hero-7-prev:hover {
  background: var(--tg-common-white);
  color: var(--tg-common-black);
}
.tg-hero-7-navigation {
  position: absolute;
  bottom: 60px;
  left: 0;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 88%;
  margin: 0 120px;
}
@media only screen and (min-width: 1400px) and (max-width: 1599px), only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-7-navigation {
    margin: 0 80px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-7-navigation {
    margin: 0 30px;
  }
}
.tg-hero-7-shape {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 2;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-7-shape {
    display: none;
  }
}
.tg-hero-7-zoom .swiper-slide.swiper-slide-active .text {
  -webkit-animation-name: fadeInUp;
  animation-fill-mode: both;
  animation-name: fadeInUp;
  animation-delay: 0.8s;
  animation-duration: 1s;
  opacity: 1;
}
.tg-hero-7-zoom .swiper-slide.swiper-slide-active .text2 {
  -webkit-animation-name: fadeInUp;
  animation-fill-mode: both;
  animation-name: fadeInUp;
  animation-delay: 0.9s;
  animation-duration: 1s;
  opacity: 1;
}
.tg-hero-8-spacing {
  padding-top: 175px;
  padding-bottom: 155px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-8-spacing {
    padding-top: 120px;
    padding-bottom: 120px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-8-spacing {
    padding-bottom: 0;
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-8-spacing {
    padding-top: 90px;
  }
}
.tg-hero-8-subtitle {
  font-weight: 500;
  font-size: 24px;
  letter-spacing: -0.01em;
  color: var(--tg-theme-primary);
  display: inline-block;
}
.tg-hero-8-title {
  font-size: 150px;
  line-height: 80%;
  letter-spacing: -0.02em;
  color: var(--tg-common-white);
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
  .tg-hero-8-title {
    font-size: 115px;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-8-title {
    font-size: 100px;
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-8-title {
    font-size: 70px;
  }
}
@media (max-width: 575px) {
  .tg-hero-8-title {
    font-size: 50px;
  }
}
.tg-hero-8-contact-info {
  column-count: 2;
  margin-right: 340px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
  .tg-hero-8-contact-info {
    margin-right: 240px;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-8-contact-info {
    margin-right: 150px;
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-8-contact-info {
    margin-right: 0;
    column-count: 1;
  }
}
.tg-hero-8-contact-info a {
  font-weight: 500;
  font-size: 18px;
  color: var(--tg-common-white);
  display: flex;
  margin-bottom: 15px;
}
.tg-hero-8-contact-info a:hover {
  color: var(--tg-theme-primary);
}
.tg-hero-8-contact-info a i {
  transform: translateY(5px);
  margin-right: 20px;
}
.tg-hero-8-btn {
  margin-left: 270px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
  .tg-hero-8-btn {
    margin-left: 200px;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-8-btn {
    margin-left: 0;
  }
}
.tg-hero-8-thumb {
  position: absolute;
  bottom: 0;
  right: 26px;
  width: 38%;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-8-thumb {
    width: auto;
    position: inherit;
    right: auto;
  }
}
.tg-hero-8-thumb img {
  mix-blend-mode: luminosity;
}
.tg-hero-8-author-position {
  font-weight: 500;
  font-size: 24px;
  letter-spacing: -0.01em;
  color: var(--tg-common-black);
  background: var(--tg-theme-primary);
  transform: rotate(-10deg);
  font-family: var(--tg-ff-heading);
  padding: 14px 20px;
  position: absolute;
  bottom: 192px;
  right: 314px;
}
@media only screen and (min-width: 1400px) and (max-width: 1599px), only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-8-author-position {
    right: 70px;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-hero-8-author-position {
    bottom: 100px;
  }
}
@media (max-width: 575px) {
  .tg-hero-8-author-position {
    font-size: 20px;
  }
}
.tg-hero-8-shape {
  position: absolute;
  bottom: 0;
  right: -25px;
}
.tg-hero-8-shape-two {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 27%;
}

/*=============================
    	01. about
===============================*/
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-about-item {
    margin-left: 0;
  }
}
.tg-about-item h4 {
  font-weight: 600;
  font-size: 24px;
  letter-spacing: -0.02em;
}
.tg-about-item p {
  font-size: 18px;
  color: #000;
}
.tg-about-shape {
  margin-left: -40px;
}
.tg-about-bigtext {
  position: absolute;
  bottom: 130px;
  right: 0;
  font-weight: 500;
  font-size: 210px;
  line-height: 1;
  text-transform: uppercase;
  margin-bottom: 0;
  color: rgba(0, 0, 0, 0.15);
  margin-right: -70px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-about-bigtext {
    font-size: 160px;
  }
}
@media (max-width: 575px) {
  .tg-about-bigtext {
    font-size: 100px;
  }
}
.tg-about-2-content {
  margin-right: 400px;
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .tg-about-2-content {
    margin-right: 200px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-about-2-content {
    margin-right: 0px;
    margin-bottom: 40px;
  }
}
.tg-about-2-content p {
  font-weight: 400;
  font-size: 18px;
  line-height: 167%;
  color: #000;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-about-2-clients {
    margin-left: 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-about-2-clients {
    margin-bottom: 30px;
  }
}
.tg-about-2-clients h4 {
  font-weight: 600;
  font-size: 50px;
  letter-spacing: -0.02em;
  margin-bottom: 0;
}
.tg-about-2-clients span {
  font-weight: 400;
  font-size: 18px;
  color: var(--tg-common-black);
  margin-bottom: 14px;
  display: block;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-about-2-thumb-two {
    padding-top: 0;
  }
}
.tg-about-3-thumb {
  margin-top: -140px;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-about-3-thumb {
    margin-top: 0;
  }
}
.tg-about-3-border {
  height: 1px;
  width: 100%;
  background: var(--tg-common-black);
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-about-3-content p br {
    display: none;
  }
}
.tg-about-3-counter-item h2 {
  font-weight: 500;
  font-size: 50px;
  letter-spacing: -0.01em;
  color: #0d7046;
  text-align: center;
}
.tg-about-3-counter-item p
{
  text-align: center;
}
.tg-impact-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
}
.tg-impact-grid > [class*=col-] {
  width: auto;
  max-width: none;
  padding: 0;
}
.tg-impact-card {
  position: relative;
  min-height: 190px;
  padding: 42px 12px 22px;
  overflow: hidden;
  border: 1px solid rgba(13, 112, 70, 0.18);
  border-radius: 20px;
  background: linear-gradient(145deg, #ffffff 0%, #eef8f1 100%);
  box-shadow: 0 12px 30px rgba(13, 112, 70, 0.08);
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}
.tg-impact-card::before {
  content: attr(data-index);
  position: absolute;
  top: 14px;
  left: 16px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: var(--tg-theme-primary);
}
.tg-impact-card::after {
  content: "";
  position: absolute;
  top: -34px;
  right: -34px;
  width: 84px;
  height: 84px;
  border-radius: 50%;
  background: rgba(13, 112, 70, 0.1);
}
.tg-about-3-counter-item.tg-impact-card h2 {
  position: relative;
  margin-bottom: 14px;
  font-size: 46px;
  line-height: 1;
  z-index: 1;
}
.tg-impact-card p {
  position: relative;
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  z-index: 1;
}
.tg-impact-card:hover {
  transform: translateY(-8px);
  border-color: var(--tg-theme-primary);
  box-shadow: 0 18px 38px rgba(13, 112, 70, 0.18);
}
@media (max-width: 575px) {
  .tg-impact-grid {
    grid-template-columns: 1fr;
  }
  .tg-impact-card {
    min-height: 170px;
  }
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-about-3-counter-item h2 {
    font-size: 60px;
  }
}
.tg-about-5-para {
  font-weight: 400;
  font-size: 18px;
  line-height: 167%;
  color: var(--tg-common-black);
}
@media (max-width: 575px) {
  .tg-about-5-thumb-three {
    padding-top: 0;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-about-5-thumb-wrap {
    margin-right: 30px;
  }
}
@media (max-width: 575px) {
  .tg-about-5-thumb-wrap {
    margin-right: 0;
  }
}
.tg-about-6-thumb {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 51%;
  height: 524px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-about-6-thumb {
    height: 450px;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-about-6-thumb {
    position: inherit;
    width: 100%;
    height: auto;
    margin-bottom: 30px;
  }
}
.tg-about-6-thumb img {
  object-fit: cover;
  height: 100%;
}

/*=============================
    18. service
===============================*/
.tg-service-item {
  border-top: 1px solid var(--tg-common-black);
  border-bottom: 1px solid var(--tg-common-black);
  padding: 43px 0px 20px 60px;
  margin-top: -1px;
  transition: all 0.4s ease;
  position: relative;
  z-index: 1;
}
@media (max-width: 575px) {
  .tg-service-item {
    padding: 23px 15px 20px 15px;
  }
}
.tg-service-item::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 0;
  background: var(--tg-common-black);
  top: auto;
  bottom: 0;
  left: 0;
  transition: all 0.4s ease;
  z-index: -1;
}
.tg-service-item:hover::before {
  height: 100%;
  top: 0;
  bottom: auto;
}
.tg-service-item:hover .tg-service-item-title span {
  color: var(--tg-common-white);
}
.tg-service-item:hover .tg-service-item-title h3 {
  color: var(--tg-common-white);
}
.tg-service-item:hover .tg-service-text p {
  opacity: 0;
}
.tg-service-item:hover .tg-service-text img {
  opacity: 1;
  visibility: visible;
}
.tg-service-item:hover .tg-service-btn a {
  border: 1px solid var(--tg-theme-primary);
  background: var(--tg-theme-primary);
}
.tg-service-item-title {
  display: flex;
  align-items: center;
}
.tg-service-item-title span {
  font-weight: 500;
  font-size: 18px;
  color: var(--tg-common-black);
  transition: all 0.3s ease;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-service-item-title span {
    margin-right: 15px;
  }
}
.tg-service-item-title h3 {
  font-weight: 700;
  font-size: 30px;
  letter-spacing: -0.01em;
  color: var(--tg-common-black);
  margin-bottom: 0;
  transition: all 0.3s ease;
}
.tg-service-text {
  position: relative;
}
.tg-service-text p {
  color: var(--tg-common-black);
  transition: all 0.3s ease;
  margin-bottom: 0;
}
.tg-service-text img {
  position: absolute;
  top: -1px;
  left: 0;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  height: 100%;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-service-text img {
    top: 0;
  }
}
.tg-service-btn a {
  border: 1px solid var(--tg-common-black);
  border-radius: 40px;
  width: 64px;
  height: 64px;
  display: inline-block;
  text-align: center;
  line-height: 59px;
  transition: all 0.4s ease;
  color: var(--tg-common-black);
}
.tg-service-2-subtitle {
  font-weight: 600;
  font-size: 18px;
  color: var(--tg-common-white);
  display: block;
}
.tg-service-2-item {
  font-family: var(--tg-ff-heading);
  font-weight: 700;
  font-size: 80px;
  line-height: 1;
  color: var(--tg-common-white);
  display: flex;
  align-items: center;
  transition: all 0.6s ease;
  border-top: 1px solid var(--tg-common-white);
  border-bottom: 1px solid var(--tg-common-white);
  padding-top: 30px;
  padding-bottom: 30px;
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-service-2-item {
    font-size: 50px;
  }
}
@media (max-width: 575px) {
  .tg-service-2-item {
    font-size: 30px;
  }
}
.tg-service-2-item:hover {
  padding-left: 60px;
  color: var(--tg-theme-primary);
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-service-2-item:hover {
    padding-left: 10px;
  }
}
.tg-service-2-item span {
  font-family: var(----tg-ff-body);
  font-weight: 600;
  font-size: 16px;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--tg-common-black);
  width: 40px;
  height: 40px;
  display: inline-block;
  background: var(--tg-theme-primary);
  border-radius: 60px;
  text-align: center;
  line-height: 40px;
  margin-right: 30px;
}
.tg-service-3-icon {
  color: rgba(28, 29, 31, 0.15);
  transition: all 0.4s ease;
}
.tg-service-3-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 25px 0px;
  border-bottom: 1px solid var(--tg-common-black);
}
@media (max-width: 575px) {
  .tg-service-3-item {
    padding: 15px 0px;
  }
}
.tg-service-3-item:hover {
  background: var(--tg-common-white);
  border-color: var(--tg-common-white);
  padding: 25px 30px;
}
@media (max-width: 575px) {
  .tg-service-3-item:hover {
    padding: 15px 10px;
  }
}
.tg-service-3-item:hover .tg-service-3-icon {
  color: var(--tg-common-black);
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-service-3-item-wrap {
    margin-right: 0;
    margin-left: 0;
  }
}
.tg-service-3-item-content span {
  font-weight: 400;
  font-size: 18px;
  color: var(--tg-common-black);
  display: inline-block;
  margin-bottom: 2px;
}
.tg-service-3-item-content h4 {
  font-weight: 600;
  font-size: 24px;
  letter-spacing: -0.01em;
}
@media (max-width: 575px) {
  .tg-service-3-item-content h4 {
    font-size: 18px;
  }
}
.tg-service-4-item h4 {
  font-weight: 700;
  font-size: 44px;
  line-height: 114%;
  letter-spacing: -0.01em;
  color: var(--tg-common-white);
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-service-4-item h4 {
    font-size: 35px;
  }
}
.tg-service-4-item h4 a:hover {
  color: var(--tg-theme-primary);
}
.tg-service-4-item p {
  font-weight: 400;
  font-size: 18px;
  line-height: 167%;
  color: var(--tg-common-white);
}
.tg-service-4-item .link {
  font-weight: 500;
  font-size: 16px;
  line-height: 175%;
  text-transform: uppercase;
  color: var(--tg-common-white);
  border-bottom: 1px solid transparent;
}
.tg-service-4-item .link:hover {
  color: var(--tg-theme-primary);
  border-color: var(--tg-theme-primary);
}
.tg-service-5-item {
  border-top: 1px solid var(--tg-common-white);
  border-bottom: 1px solid var(--tg-common-white);
  padding: 43px 0px 20px 60px;
  margin-top: -1px;
  transition: all 0.4s ease;
  position: relative;
  z-index: 1;
}
@media (max-width: 575px) {
  .tg-service-5-item {
    padding: 43px 20px 20px 20px;
  }
}
.tg-service-5-item:hover {
  border-top: 1px solid var(--tg-common-black);
  border-bottom: 1px solid var(--tg-common-black);
}
.tg-service-5-item:hover .tg-service-5-item-title span {
  color: var(--tg-theme-primary);
}
.tg-service-5-item:hover .tg-service-5-item-title h3 {
  color: var(--tg-theme-primary);
}
.tg-service-5-item:hover .tg-service-5-btn a {
  border: 1px solid var(--tg-theme-primary);
  background: var(--tg-theme-primary);
}
.tg-service-5-item:hover .tg-service-5-thumb {
  opacity: 1;
  visibility: visible;
}
.tg-service-5-item-title {
  display: flex;
  align-items: center;
}
.tg-service-5-item-title h3 {
  font-weight: 700;
  font-size: 30px;
  line-height: 107%;
  letter-spacing: -0.01em;
  color: var(--tg-common-white);
  transition: all 0.4s ease;
}
.tg-service-5-item-title span {
  font-weight: 500;
  font-size: 18px;
  color: var(--tg-common-white);
  transition: all 0.4s ease;
}
@media (max-width: 575px) {
  .tg-service-5-item-title span {
    margin-right: 20px;
  }
}
.tg-service-5-text p {
  font-weight: 400;
  font-size: 18px;
  line-height: 167%;
  color: var(--tg-common-white);
  transition: all 0.4s ease;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-service-5-text p br {
    display: none;
  }
}
.tg-service-5-btn a {
  border: 1px solid var(--tg-common-white);
  border-radius: 40px;
  width: 64px;
  height: 64px;
  display: inline-block;
  text-align: center;
  color: var(--tg-common-white);
  line-height: 59px;
  transition: all 0.4s ease;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-service-5-title-text {
    margin-right: 0;
  }
}
.tg-service-5-thumb {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: -1;
  opacity: 0;
  visibility: hidden;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-service-5-thumb {
    height: 100%;
    object-fit: cover;
  }
}
.tg-service-6-count {
  font-weight: 700;
  font-size: 200px;
  line-height: 0.8;
  letter-spacing: -0.01em;
  background: linear-gradient(180deg, #cbca7b 0%, rgba(255, 255, 255, 0) 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: -53px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-service-6-count {
    font-size: 170px;
  }
}
.tg-service-6-title {
  font-weight: 700;
  font-size: 44px;
  line-height: 114%;
  letter-spacing: -0.01em;
  color: var(--tg-common-black);
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-service-6-title {
    font-size: 35px;
  }
}
.tg-service-6-para {
  font-size: 18px;
  line-height: 167%;
  color: var(--tg-common-black);
}
.tg-service-6-btn {
  font-weight: 500;
  font-size: 16px;
  text-transform: uppercase;
  color: var(--tg-common-black);
  font-family: var(--tg-ff-heading);
  border-bottom: 1px solid transparent;
}
.tg-service-6-btn:hover {
  border-color: var(--tg-common-black);
}
.tg-service-7-wrap {
  border: 1px solid var(--tg-common-black);
  padding: 40px 40px 25px 40px;
  transition: all 0.4s ease;
}
.tg-service-7-wrap:hover {
  background: var(--tg-common-white);
  border-color: var(--tg-common-white);
}
.tg-service-7-count {
  font-family: var(----tg-ff-heading);
  font-weight: 700;
  font-size: 30px;
  letter-spacing: -0.01em;
  color: var(--tg-ff-heading);
  display: block;
  margin-bottom: 150px;
  text-align: right;
}
.tg-service-7-title {
  font-size: 30px;
  line-height: 107%;
  letter-spacing: -0.01em;
  display: block;
}
.tg-service-7-btnwrap .tg-btn-rounded-black:hover {
  background: var(--tg-common-white);
  color: var(--tg-common-black);
}
.tg-service-7-btnwrap .tg-btn-rounded-black:hover .tg-btn-circle-dot {
  background: var(--tg-common-white);
}
.tg-service-7-para p {
  font-size: 18px;
  line-height: 167%;
  color: var(--tg-common-black);
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-service-7-para p br {
    display: none;
  }
}
.tg-service-8-shape {
  position: absolute;
  top: 145px;
  left: 167px;
}
.tg-service-8-count {
  font-weight: 400;
  font-size: 20px;
  color: #cbca7b;
  display: inline-block;
  margin-right: 70px;
}
.tg-service-8-title {
  font-weight: 500;
  font-size: 30px;
  line-height: 113%;
  color: var(--tg-common-white);
}
.tg-service-8-title a:hover {
  color: rgba(240, 240, 240, 0.631372549);
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-service-8-title-wrap {
    margin-bottom: 30px;
  }
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-service-8-right {
    margin-left: 0;
  }
}
.tg-service-8-right ul li {
  font-weight: 400;
  font-size: 18px;
  letter-spacing: -0.02em;
  color: var(--tg-common-white);
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-service-8-right ul li {
    font-size: 17px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-service-8-thumb {
    padding-top: 60px;
  }
}
.tg-service-8-item {
  border-top: 1px solid var(--tg-common-white);
  border-bottom: 1px solid var(--tg-common-white);
  padding: 31px 20px 10px 40px;
  margin-top: -1px;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-service-8-item {
    padding: 31px 0px 10px 0px;
  }
}
.tg-service-details-title {
  font-size: 60px;
  line-height: 117%;
  letter-spacing: -0.03em;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-service-details-title {
    font-size: 45px;
  }
}
@media (max-width: 575px) {
  .tg-service-details-title {
    font-size: 40px;
  }
}
.tg-service-details-border {
  width: 100%;
  height: 1px;
  background: var(--tg-common-black);
}
.tg-service-details-list ul {
  column-count: 2;
}
@media (max-width: 575px) {
  .tg-service-details-list ul {
    column-count: 1;
  }
}
.tg-service-details-list ul li {
  font-weight: 500;
  font-size: 15px;
  color: var(--tg-common-black);
  position: relative;
  padding-left: 18px;
  margin-bottom: 5px;
}
.tg-service-details-list ul li::before {
  position: absolute;
  content: "";
  width: 5px;
  height: 5px;
  background: var(--tg-common-black);
  border-radius: 20px;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}
.tg-service-details-thumb-wrap {
  margin-top: 30px;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-service-details-thumb-wrap {
    margin-top: 0;
  }
}
.tg-service-timeline {
  height: 1px;
  width: 100%;
  background: var(--tg-common-black);
  display: flex;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-service-timeline {
    display: none;
  }
}
.tg-service-timeline-item {
  position: relative;
}
.tg-service-timeline-item::before {
  position: absolute;
  content: "";
  width: 15px;
  height: 15px;
  background: var(--tg-common-black);
  top: -48px;
  left: 0;
  border-radius: 30px;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-service-timeline-item::before {
    display: none;
  }
}
.tg-service-timeline-item h3 {
  font-weight: 500;
  font-size: 24px;
  line-height: 125%;
  letter-spacing: -0.01em;
  color: var(--tg-common-black);
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-service-replace-content {
    margin-right: 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-service-replace-shape {
    margin-top: 0;
  }
}
.tg-service-replace-title h2 {
  font-weight: 700;
  font-size: 44px;
  line-height: 123%;
  letter-spacing: -0.01em;
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-service-replace-title h2 {
    font-size: 35px;
  }
}

/*=============================
    15. portfolio
===============================*/
.tg-portfolio-item:hover .tg-portfolio-tag {
  transform: translateY(0);
  opacity: 1;
}
.tg-portfolio-item:hover .tg-portfolio-thumb img {
  transform: scale(1.03) translateX(8px);
}
.tg-portfolio-thumb {
  display: inline-block;
  overflow: hidden;
}
.tg-portfolio-thumb img {
  transform: scale(1.03);
  transition: 0.4s ease-in-out;
  width: 100%;
}
.tg-portfolio-tag {
  position: absolute;
  bottom: 40px;
  left: 40px;
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.3s ease-in-out;
}
@media (max-width: 575px) {
  .tg-portfolio-tag {
    bottom: 20px;
    left: 20px;
  }
}
.tg-portfolio-tag-text {
  font-weight: 600;
  font-size: 14px;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--tg-common-black);
  border-radius: 20px;
  padding: 5px 20px;
  display: inline-block;
  background: var(--tg-common-white);
  margin-right: 5px;
  transition: all 0.3s ease-in-out;
  cursor: pointer;
}
.tg-portfolio-tag-text:hover {
  background: var(--tg-common-black);
  color: var(--tg-common-white);
}
.tg-portfolio-title {
  font-weight: 600;
  font-size: 30px;
  letter-spacing: -0.02em;
  color: var(--tg-common-black);
}
.tg-portfolio-title a:hover {
  color: var(--tg-theme-primary);
}
.tg-portfolio-2-item {
  overflow: hidden;
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-portfolio-2-item {
    padding-top: 0;
  }
}
@media (max-width: 575px) {
  .tg-portfolio-2-item {
    margin-bottom: 40px;
  }
}
.tg-portfolio-2-item:hover .tg-portfolio-2-thumb {
  overflow: hidden;
}
.tg-portfolio-2-item:hover .tg-portfolio-2-thumb img {
  transform: scale(1.1);
}
.tg-portfolio-2-thumb img {
  transition: all 0.3s ease-in-out;
}
.tg-portfolio-2-thumb:hover .tg-portfolio-2-content {
  margin-bottom: 0;
}
.tg-portfolio-2-thumb:hover .tg-portfolio-2-link {
  opacity: 1;
}
.tg-portfolio-2-content {
  display: inline-block;
  position: absolute;
  bottom: 0;
  left: 0;
  background: var(--tg-common-white);
  padding: 30px 115px 28px 40px;
  margin-left: 40px;
  margin-bottom: -40px;
  transition: all 0.3s ease-in-out;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-portfolio-2-content {
    padding: 30px 30px 28px 30px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-portfolio-2-content {
    margin-left: 0;
  }
}
@media (max-width: 575px) {
  .tg-portfolio-2-content {
    position: inherit;
    margin-bottom: 0;
  }
}
.tg-portfolio-2-content span {
  font-weight: 400;
  font-size: 18px;
  color: var(--tg-common-black);
}
.tg-portfolio-2-content h3 {
  font-weight: 600;
  font-size: 24px;
  line-height: 117%;
  letter-spacing: -0.01em;
}
@media (max-width: 575px) {
  .tg-portfolio-2-content h3 {
    font-size: 20px;
  }
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-portfolio-2-content h3 br {
    display: none;
  }
}
.tg-portfolio-2-content h3 a:hover {
  color: var(--tg-theme-primary);
}
.tg-portfolio-2-link {
  font-weight: 500;
  font-size: 16px;
  text-transform: uppercase;
  color: var(--tg-common-black);
  opacity: 0;
  transition: all 0.3s ease-in-out;
  font-family: var(--tg-ff-heading);
}
@media (max-width: 575px) {
  .tg-portfolio-2-link {
    opacity: 1;
  }
}
.tg-portfolio-2-link:hover {
  color: var(--tg-theme-primary);
}
.tg-portfolio-3-btn {
  padding-top: 350px;
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .tg-portfolio-3-btn {
    padding-top: 200px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-portfolio-3-btn {
    padding-top: 0;
  }
}
.tg-portfolio-4-thumb img {
  transition: all 0.4s ease;
}
.tg-portfolio-4-item:hover .tg-portfolio-4-thumb img {
  transform: scale(1.1);
}
.tg-portfolio-4-item-content {
  background: var(--tg-common-white);
  transition: all 0.4s ease;
  padding: 80px 80px 80px 80px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px) {
  .tg-portfolio-4-item-content {
    padding: 50px 50px 50px 50px;
  }
}
@media (max-width: 575px) {
  .tg-portfolio-4-item-content {
    padding: 20px 20px 20px 20px;
  }
}
.tg-portfolio-4-item-content:hover {
  background: var(--tg-theme-primary);
}
.tg-portfolio-4-item-content:hover .tg-btn-rounded-primary {
  border-color: var(--tg-common-black);
}
.tg-portfolio-4-item-title {
  margin-bottom: 245px;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-portfolio-4-item-title {
    margin-bottom: 145px;
  }
}
@media (max-width: 575px) {
  .tg-portfolio-4-item-title {
    margin-bottom: 45px;
  }
}
.tg-portfolio-4-item-title span {
  font-weight: 400;
  font-size: 18px;
  color: var(--tg-common-black);
}
.tg-portfolio-4-item-title h4 {
  font-weight: 600;
  font-size: 24px;
  line-height: 125%;
  letter-spacing: -0.01em;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-portfolio-4-item-title h4 a br {
    display: none;
  }
}
.tg-portfolio-4-btn {
  display: flex;
  align-items: center;
      gap: 20px;
}
@media (max-width: 575px) {
  .tg-portfolio-4-btn {
    flex-wrap: wrap;
  }
}
.tg-portfolio-4-btn a {
  flex: 0 0 auto;
  margin-right: 60px;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-portfolio-4-btn a {
    margin-right: 20px;
  }
}
@media (max-width: 575px) {
  .tg-portfolio-4-btn a {
    margin-bottom: 20px;
  }
}
.tg-portfolio-4-btn p {
  font-size: 18px;
  line-height: 167%;
  color: var(--tg-common-black);
}

.tg-portfolio-6-item-content:hover .tg-portfolio-4-item-title span {
  color: var(--tg-common-white);
}
.tg-portfolio-6-item-content:hover .tg-portfolio-4-item-title h4 {
  color: var(--tg-common-white);
}
.tg-portfolio-6-item-content:hover .tg-portfolio-4-item-title h4 a:hover {
  color: var(--tg-common-white);
}
.tg-portfolio-6-item-content:hover .tg-portfolio-4-btn p {
  color: var(--tg-common-white);
}
.tg-portfolio-6-item-content:hover .tg-btn-rounded-primary {
  border-color: var(--tg-common-white);
}
.tg-portfolio-6-item-content:hover .tg-btn-rounded-primary {
  background: var(--tg-common-white);
  color: var(--tg-common-black);
  border-color: var(--tg-common-white);
}
.tg-portfolio-6-item-content:hover .tg-btn-rounded-primary:hover {
  border-color: var(--tg-theme-primary);
}
.tg-portfolio-6-item-content:hover .tg-btn-rounded-primary .tg-btn-circle-dot {
  background: var(--tg-theme-primary);
}
.tg-portfolio-7-tag span, .tg-portfolio-7-tag a {
  font-weight: 600;
  font-size: 14px;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--tg-common-white);
  border-radius: 20px;
  padding: 5px 20px;
  background: var(--tg-common-black);
  display: inline-block;
  transition: all 0.4s ease;
}
.tg-portfolio-7-tag span:hover, .tg-portfolio-7-tag a:hover {
  background: var(--tg-common-white);
  color: var(--tg-common-black);
}
.tg-portfolio-7-title {
  font-weight: 600;
  font-size: 36px;
  line-height: 122%;
  letter-spacing: -0.01em;
  text-align: center;
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-portfolio-7-title {
    font-size: 26px;
  }
  .tg-portfolio-7-title a br {
    display: none;
  }
}
.tg-portfolio-7-title a {
  transition: all 0.5s ease;
}
.tg-portfolio-7-title a:hover {
  text-decoration: underline;
}
.tg-portfolio-7-btn {
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s ease;
}
.tg-portfolio-7-item {
  padding: 80px 80px 42px 80px;
  position: sticky;
  top: 100px;
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-portfolio-7-item {
    padding: 20px 20px 22px 20px;
  }
}
.tg-portfolio-7-item:hover .tg-portfolio-7-btn {
  opacity: 1;
  visibility: visible;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-portfolio-8-content {
    margin-bottom: 40px;
  }
}
.tg-portfolio-8-content span {
  font-weight: 400;
  font-size: 18px;
  text-transform: uppercase;
  color: var(--tg-common-white);
  display: inline-block;
  margin-bottom: 6px;
}
.tg-portfolio-8-content h2 {
  font-weight: 600;
  font-size: 80px;
  line-height: 100%;
  letter-spacing: -0.02em;
  color: var(--tg-common-white);
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-portfolio-8-content h2 {
    font-size: 40px;
  }
}
.tg-portfolio-8-content h2 a:hover {
  color: var(--tg-common-white);
}
.tg-portfolio-8-item {
  position: sticky;
  top: 100px;
  background: #0f0f0f;
  padding-left: 5px;
}
.tg-portfolio-8-item .tg-portfolio-7-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  right: 0;
  text-align: center;
}
.tg-portfolio-8-item:hover .tg-portfolio-7-btn {
  opacity: 1;
  visibility: visible;
}
.tg-portfolio-details-info {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  padding-left: 150px;
  padding-right: 150px;
  border-bottom: 1px solid var(--tg-common-black);
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-portfolio-details-info {
    padding-left: 0;
    padding-right: 0;
  }
}
.tg-portfolio-details-info-item {
  margin: 10px 20px;
  text-align: center;
}
.tg-portfolio-details-info-item h4 {
  font-weight: 600;
  font-size: 24px;
}
.tg-portfolio-details-info-item span {
  font-weight: 400;
  font-size: 18px;
  color: var(--tg-common-black);
}
.tg-portfolio-details-overview-title h2 {
  font-weight: 600;
  font-size: 60px;
  letter-spacing: -0.02em;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-portfolio-details-overview-title h2 {
    font-size: 40px;
    margin-bottom: 40px;
  }
}
.tg-portfolio-details-overview-title span {
  font-weight: 400;
  font-size: 18px;
  letter-spacing: -0.02em;
  color: #000;
}
.tg-portfolio-details-overview-title span span {
  font-weight: 600;
}
.tg-portfolio-details-overview-list h5 {
  font-weight: 600;
  font-size: 24px;
  letter-spacing: -0.02em;
  border-bottom: 1px solid var(--tg-common-black);
  margin-bottom: 20px;
  padding-bottom: 20px;
}
.tg-portfolio-details-overview-details h5 {
  font-weight: 600;
  font-size: 24px;
  letter-spacing: -0.02em;
}
.tg-portfolio-details-identity-title {
  font-weight: 700;
  font-size: 60px;
  letter-spacing: -0.02em;
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-portfolio-details-identity-title {
    font-size: 40px;
  }
}
.tg-portfolio-details-identity-subtitle {
  font-weight: 500;
  font-size: 18px;
  letter-spacing: -0.02em;
  color: var(--tg-common-black);
}
.tg-portfolio-details-identity-tag-inner {
  display: flex;
  align-items: center;
}
.tg-portfolio-details-identity-tag-inner span {
  font-weight: 600;
  font-size: 18px;
  color: var(--tg-common-black);
}
.tg-portfolio-details-identity-tag-inner span.prev i {
  margin-right: 10px;
}
.tg-portfolio-details-identity-tag-inner span.next i {
  margin-left: 10px;
}
.tg-portfolio-details-identity-tag-inner span.borders {
  width: 1px;
  height: 70px;
  background: var(--tg-common-black);
  display: inline-block;
  margin: 0 100px;
}
@media (max-width: 575px) {
  .tg-portfolio-details-identity-tag-inner span.borders {
    margin: 0 50px;
  }
}
.tg-portfolio-details-identity-tag-inner span i {
  width: 40px;
  height: 40px;
  display: inline-block;
  border: 1px solid #000;
  border-radius: 50px;
  text-align: center;
  line-height: 40px;
  transition: all 0.4s ease;
}
.tg-portfolio-details-identity-tag-inner span i:hover {
  background: var(--tg-theme-primary);
  color: var(--tg-common-black);
  border-color: var(--tg-theme-primary);
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-portfolio-details-identity-thumb {
    margin-left: 0;
    margin-right: 0;
  }
}
.tg-portfolio-details-agencies-content h3 {
  font-weight: 600;
  font-size: 26px;
  line-height: 138%;
}
.tg-portfolio-details-agencies-content p {
  font-size: 18px;
  line-height: 167%;
  color: var(--tg-common-black);
}

/*=============================
    23. video
===============================*/
.tg-video-play {
  height: 100px;
  width: 100px;
  display: inline-block;
  background: var(--tg-theme-primary);
  border-radius: 50%;
  text-align: center;
  line-height: 100px;
  color: var(--tg-common-black);
}
.tg-video-play:hover {
  color: var(--tg-common-black);
}

.tg-pulse-border {
  border-radius: 50%;
  z-index: 1;
  position: relative;
}
.tg-pulse-border::after, .tg-pulse-border::before {
  position: absolute;
  content: "";
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 120%;
  height: 120%;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.4);
  animation: borderanimate2 2s linear infinite;
  animation-delay: 0s;
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
  z-index: -1;
  -webkit-transition: all 0.3s 0s ease-out;
  -moz-transition: all 0.3s 0s ease-out;
  -ms-transition: all 0.3s 0s ease-out;
  -o-transition: all 0.3s 0s ease-out;
  transition: all 0.3s 0s ease-out;
  z-index: -1;
}
.tg-pulse-border::before {
  animation-delay: 0.7s;
}

.tg-video-inner {
  padding-top: 320px;
  padding-bottom: 320px;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-video-inner {
    padding-top: 220px;
    padding-bottom: 220px;
  }
}

.tg-video-shape {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
}

.tg-video-5-spacing {
  padding-top: 460px;
  padding-bottom: 180px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-video-5-spacing {
    padding-top: 180px;
  }
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-video-5-wrap {
    text-align: center;
  }
}
.tg-video-5-wrap .popup-video {
  background: var(--tg-common-black);
  color: var(--tg-common-white);
}
.tg-video-5-wrap .tg-pulse-border::after, .tg-video-5-wrap .tg-pulse-border::before {
  border: 1px solid var(--tg-common-black);
}

/*=============================
    05. chose
===============================*/
@media (max-width: 575px) {
  .tg-chose-funding {
    margin-right: 0;
  }
}
.tg-chose-funding h3 {
  font-weight: 700;
  font-size: 360px;
  letter-spacing: -0.06em;
  margin-bottom: 0;
  display: inline-block;
  position: relative;
  line-height: 0.9;
}
@media (max-width: 575px) {
  .tg-chose-funding h3 {
    font-size: 250px;
  }
}
.tg-chose-funding h3 span {
  display: inline-block;
  font-weight: 700;
  font-size: 36px;
  letter-spacing: -0.06em;
  color: var(--tg-common-black);
  font-family: var(--tg-ff-p);
  width: 100px;
  height: 100px;
  text-align: center;
  line-height: 100px;
  background: var(--tg-theme-primary);
  border-radius: 100px;
  position: absolute;
  right: -22px;
  top: 25px;
}
.tg-chose-funding p {
  line-height: 167%;
  color: var(--tg-common-black);
}
.tg-chose-newwork {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}
@media (max-width: 575px) {
  .tg-chose-newwork {
    display: none;
  }
}
.tg-chose-item h4 {
  font-size: 22px;
  letter-spacing: -0.02em;
}
.tg-chose-item p {
  line-height: 167%;
  color: var(--tg-common-black);
}
.tg-chose-shape {
  margin-right: -153px;
}
@media only screen and (min-width: 1600px) and (max-width: 1700px), only screen and (min-width: 1400px) and (max-width: 1599px), only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-chose-shape {
    margin-right: 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-chose-2-thumb {
    margin-bottom: 40px;
  }
}
.tg-chose-2-item-wrap {
  margin-right: 250px;
}
@media only screen and (min-width: 1400px) and (max-width: 1599px) {
  .tg-chose-2-item-wrap {
    margin-right: 120px;
  }
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
  .tg-chose-2-item-wrap {
    margin-right: 100px;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-chose-2-item-wrap {
    margin-right: 15px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-chose-2-item-wrap {
    margin-left: 15px;
  }
}

/*=============================
    Vision mission
===============================*/
.vision-mission-area {
  padding: 92px 0 104px;
  background: #ffffff;
}

.vision-mission-title {
  margin-bottom: 46px;
}

.vision-mission-title .tg-section-title {
  color: #0d2514;
  font-size: 44px;
  line-height: 1.15;
  margin: 0;
}

.vision-mission-card {
  position: relative;
  overflow: hidden;
  height: 100%;
  min-height: 310px;
  padding: 44px 42px;
  background: #f6fbe9;
  border: 1px solid rgba(13, 112, 70, 0.16);
  border-radius: 12px;
  box-shadow: 0 18px 45px rgba(13, 112, 70, 0.1);
}

.vision-mission-card::before {
  content: "";
  position: absolute;
  right: -80px;
  top: -80px;
  width: 190px;
  height: 190px;
  background: rgba(13, 112, 70, 0.12);
  border-radius: 50%;
}

.vision-mission-icon {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 82px;
  height: 82px;
  color: #ffffff;
  background: #0d7046;
  border-radius: 50%;
  margin-bottom: 26px;
}

.vision-mission-card h3 {
  position: relative;
  z-index: 1;
  color: #0d2514;
  font-family: var(--tg-ff-body);
  font-size: 30px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: 0;
  margin: 0 0 16px;
}

.vision-mission-card p {
  position: relative;
  z-index: 1;
  color: #26342a;
  font-size: 18px;
  line-height: 1.65;
  margin: 0;
}

@media (max-width: 991px) {
  .vision-mission-area {
    padding: 72px 0 84px;
  }
  .vision-mission-title .tg-section-title {
    font-size: 36px;
  }
}

@media (max-width: 575px) {
  .vision-mission-area {
    padding: 56px 0 66px;
  }
  .vision-mission-title {
    margin-bottom: 30px;
  }
  .vision-mission-title .tg-section-title {
    font-size: 30px;
  }
  .vision-mission-card {
    min-height: auto;
    padding: 32px 24px;
  }
  .vision-mission-icon {
    width: 68px;
    height: 68px;
  }
  .vision-mission-card h3 {
    font-size: 25px;
  }
  .vision-mission-card p {
    font-size: 16px;
  }
}

/*=============================
    07. counter
===============================*/
.tg-counter-item {
  background: var(--tg-common-white);
  text-align: center;
  padding: 50px 30px 26px 30px;
}
.tg-counter-item:hover .icons {
  color: var(--tg-theme-primary);
}
.tg-counter-item h4 {
  font-size: 90px;
  line-height: 72%;
  letter-spacing: -0.02em;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-counter-item h4 {
    font-size: 70px;
  }
}
.tg-counter-item .icons {
  color: var(--tg-grey-2);
  transition: all 0.3s ease;
}
.tg-counter-item p {
  font-weight: 500;
  font-size: 20px;
  line-height: 150%;
  color: var(--tg-common-black);
  margin-top: -53px;
}
.tg-counter-2-item {
  border: 1px solid #000;
  padding: 30px 40px 30px 40px;
  margin-right: -1px;
  transition: all 0.4s ease;
}
.tg-counter-2-item:hover {
  background: var(--tg-common-black);
  transform: scaleY(105%);
}
.tg-counter-2-item:hover .title {
  color: var(--tg-common-white);
}
.tg-counter-2-item:hover .para {
  color: var(--tg-common-white);
}
.tg-counter-2-item:hover .position {
  color: var(--tg-common-white);
}
.tg-counter-2-item .title {
  font-weight: 600;
  font-size: 50px;
  line-height: 76%;
  letter-spacing: -0.02em;
}
.tg-counter-2-item .position {
  font-weight: 600;
  font-size: 18px;
  line-height: 133%;
  color: var(--tg-common-black);
}
.tg-counter-2-item .para {
  font-size: 18px;
  line-height: 133%;
  color: var(--tg-common-black);
}
.tg-counter-2-wrap {
  padding-top: 240px;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-counter-2-wrap {
    padding-top: 140px;
  }
}

/*=============================
    04. brand
===============================*/
.tg-brand-wrap .swiper-slide {
  display: inline-block;
  width: 300px;
}

/*=============================
    03. blog
===============================*/
.tg-blog-title {
  font-weight: 600;
  font-size: 24px;
  line-height: 133%;
  letter-spacing: -0.02em;
}
.tg-blog-title a:hover {
  color: var(--tg-theme-primary);
}
.tg-blog-para {
  line-height: 167%;
  color: var(--tg-common-black);
}
.tg-blog-item:hover .tg-blog-thumb img {
  transform: scale(1.05);
}
.tg-blog-item:hover .tg-blog-btn {
  opacity: 1;
  visibility: visible;
}
.tg-blog-thumb img {
  transition: all 0.3s ease;
}
.tg-blog-tag {
  border-top: 1px solid var(--tg-common-black);
  padding-top: 30px;
}
.tg-blog-tag span {
  font-weight: 500;
  font-size: 16px;
  color: var(--tg-common-black);
  display: inline-block;
}
.tg-blog-tag span.tg-tag {
  border: 1px solid var(--tg-common-black);
  border-radius: 17px;
  padding: 1px 17px;
}
.tg-blog-tag span.tg-border {
  width: 40px;
  height: 1px;
  background: var(--tg-common-black);
  margin-left: 20px;
  margin-right: 15px;
}
.tg-blog-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  right: 0;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s ease;
}
.tg-blog-btn a {
  color: var(--tg-common-white);
  border-color: var(--tg-common-white);
}
.tg-blog-btn a:hover {
  border-color: var(--tg-common-black);
}
.tg-blog-2-author-name h5 {
  font-weight: 600;
  font-size: 18px;
  letter-spacing: -0.02em;
  margin-bottom: 0;
  line-height: 1;
  font-family: var(--tg-ff-p);
}
.tg-blog-2-author-name span {
  font-weight: 400;
  font-size: 16px;
  color: #000;
}
.tg-blog-2-border {
  border-top: 1px solid var(--tg-common-black);
  width: 100%;
  display: block;
}
.tg-blog-2-date {
  font-weight: 400;
  font-size: 17px;
  color: var(--tg-common-black);
}
.tg-blog-4-item .tg-blog-title {
  color: var(--tg-common-white);
}
.tg-blog-4-item .tg-blog-2-author-name h5 {
  color: var(--tg-common-white);
}
.tg-blog-4-item .tg-blog-2-author-name span {
  color: var(--tg-common-white);
}
.tg-blog-4-item .tg-blog-2-date {
  color: var(--tg-common-white);
}
.tg-blog-4-item .tg-blog-2-border {
  border-top: 1px solid var(--tg-common-white);
}
@media (max-width: 575px) {
  .tg-blog-5-btn {
    margin-bottom: 0;
  }
}
.tg-blog-standard-item:hover .tg-blog-standard-thumb img {
  transform: scale(1.1);
}
.tg-blog-standard-thumb {
  overflow: hidden;
}
.tg-blog-standard-thumb img {
  transition: all 0.4s ease;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-blog-standard-left-wrap {
    margin-right: 0;
  }
}
.tg-blog-standard-comments span {
  font-weight: 500;
  font-size: 18px;
  color: var(--tg-common-black);
}
.tg-blog-standard-comments span.dvdr {
  margin: 0 5px;
}
.tg-blog-standard-comments span.names {
  position: relative;
  padding-left: 18px;
}
.tg-blog-standard-comments span.names::before {
  position: absolute;
  content: "";
  width: 5px;
  height: 5px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background: var(--tg-common-black);
  border-radius: 50%;
}
.tg-blog-standard-title {
  font-weight: 600;
  font-size: 44px;
  line-height: 114%;
  letter-spacing: -0.02em;
  color: var(--tg-common-black);
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-blog-standard-title {
    font-size: 30px;
  }
}
.tg-blog-standard-title-2 {
  font-weight: 700;
  font-size: 30px;
  line-height: 114%;
  letter-spacing: -0.02em;
  color: var(--tg-common-black);
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-blog-standard-title-2 {
    font-size: 25px;
  }
}
.tg-blog-standard-link {
  font-weight: 500;
  font-size: 16px;
  line-height: 175%;
  text-transform: uppercase;
  text-decoration: underline;
  text-decoration-skip-ink: none;
  color: var(--tg-common-black);
  font-family: var(--tg-ff-heading);
}
.tg-blog-standard-navigation ul {
  display: flex;
  justify-content: center;
}
.tg-blog-standard-navigation ul li {
  margin: 0 5px;
}
.tg-blog-standard-navigation ul li a {
  font-weight: 600;
  font-size: 18px;
  color: var(--tg-common-black);
  width: 60px;
  height: 60px;
  display: inline-block;
  text-align: center;
  line-height: 60px;
  border-radius: 100px;
  border: 1px solid var(--tg-common-black);
  font-family: var(--tg-ff-heading);
}
.tg-blog-standard-navigation ul li a:hover {
  background: var(--tg-theme-primary);
  color: var(--tg-common-black);
  border-color: var(--tg-theme-primary);
}
.tg-blog-standard-author {
  background: #f0f0f0;
  border: 1px solid var(--tg-common-black);
  padding: 40px 40px 35px 40px;
}
.tg-blog-standard-author p {
  font-size: 18px;
  line-height: 167%;
  text-align: center;
  color: var(--tg-common-black);
}
.tg-blog-standard-author-title {
  font-weight: 600;
  font-size: 30px;
  letter-spacing: -0.02em;
  text-align: center;
  color: var(--tg-common-black);
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-blog-standard-author-title {
    font-size: 25px;
  }
}
.tg-blog-standard-search input {
  font-weight: 400;
  font-size: 18px;
  color: var(--tg-common-black);
  height: 60px;
  width: 100%;
  border: 1px solid var(--tg-common-black);
  padding-left: 30px;
  padding-right: 70px;
}
.tg-blog-standard-search input::placeholder {
  font-weight: 400;
  font-size: 18px;
  color: var(--tg-common-black);
}
.tg-blog-standard-search button {
  width: 60px;
  height: 60px;
  background: var(--tg-theme-primary);
  text-align: center;
  line-height: 60px;
  color: var(--tg-common-black);
  border: 1px solid var(--tg-common-black);
  position: absolute;
  top: 0;
  right: 0;
}
.tg-blog-standard-categories ul li a {
  font-weight: 400;
  font-size: 18px;
  color: var(--tg-common-black);
  padding: 3px 0px;
  display: block;
}
.tg-blog-standard-categories ul li a:hover {
  text-decoration: underline;
  text-decoration-skip-ink: none;
}
.tg-blog-standard-tag ul {
  display: flex;
  flex-wrap: wrap;
}
.tg-blog-standard-tag ul li a {
  font-weight: 400;
  font-size: 18px;
  color: var(--tg-common-black);
  padding: 3px 10px;
  display: inline-block;
}
.tg-blog-standard-tag ul li a:hover {
  text-decoration: underline;
  text-decoration-skip-ink: none;
}
.tg-blog-recent-content h4 {
  font-weight: 600;
  font-size: 20px;
  line-height: 150%;
  letter-spacing: -0.02em;
}
.tg-blog-recent-content span {
  font-weight: 500;
  font-size: 16px;
  color: var(--tg-common-black);
}
.tg-blog-recent-post:hover .tg-blog-recent-post-thumb img {
  transform: scale(1.1);
}
.tg-blog-recent-post-thumb img {
  transition: all 0.4s ease;
}
.tg-blog-details-blockquote {
  display: flex;
}
.tg-blog-details-blockquote .icons {
  width: 45px;
  height: 45px;
  background: var(--tg-theme-primary);
  text-align: center;
  line-height: 45px;
  flex: 0 0 auto;
  display: inline-block;
  margin-top: 7px;
  margin-right: 20px;
}
.tg-blog-details-blockquote .titles {
  font-weight: 600;
  font-size: 20px;
  line-height: 150%;
  letter-spacing: -0.02em;
}
.tg-blog-details-tag ul {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.tg-blog-details-tag ul li:not(:last-child) {
  margin-right: 40px;
}
.tg-blog-details-tag ul li a {
  font-weight: 400;
  font-size: 18px;
  color: #000;
}
.tg-blog-details-tag ul li a:hover {
  text-decoration: underline;
  text-decoration-skip-ink: none;
}
.tg-blog-details-tag-wrap {
  border-top: 1px solid var(--tg-common-black);
  border-bottom: 1px solid var(--tg-common-black);
  padding: 20px 0px;
}
.tg-blog-details-social ul {
  display: flex;
  align-items: center;
  justify-content: end;
}
@media (max-width: 575px) {
  .tg-blog-details-social ul {
    justify-content: flex-start;
    margin-top: 10px;
  }
}
.tg-blog-details-social ul li:not(:first-child) {
  margin-left: 12px;
}
.tg-blog-details-social ul li a {
  font-family: var(--tg-ff-heading);
  font-weight: 500;
  font-size: 16px;
  letter-spacing: -0.02em;
  color: var(--tg-common-black);
}
.tg-blog-details-social ul li a:hover {
  text-decoration: underline;
  text-decoration-skip-ink: none;
}
.tg-blog-details-comment ul li {
  display: flex;
  align-items: center;
}
@media (max-width: 575px) {
  .tg-blog-details-comment ul li {
    flex-wrap: wrap;
  }
}
.tg-blog-details-comment-thumb {
  width: 200px;
  flex: 0 0 auto;
}
@media (max-width: 575px) {
  .tg-blog-details-comment-thumb {
    margin-bottom: 20px;
  }
}
.tg-blog-details-comment-content h3 {
  font-weight: 600;
  font-size: 30px;
  letter-spacing: -0.02em;
}

/*=============================
    08. cta
===============================*/
.tg-cta-title {
  font-weight: 800;
  font-size:75px;
  line-height: 100%;
  letter-spacing: -0.02em;
  color: var(--tg-common-white);
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.6), 0 0 5px rgba(0, 0, 0, 0.6), 0 0 0px rgba(0, 0, 0, 0.6);
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
  .tg-cta-title {
    font-size: 100px;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-cta-title {
    font-size: 70px;
  }
}
@media (max-width: 575px) {
  .tg-cta-title {
    font-size: 50px;
  }
}
.tg-cta-shape {
  position: absolute;
  left: 160px;
  top: 125px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-cta-shape {
    left: 40px;
  }
}
.tg-cta-shape-2 {
  position: absolute;
  right: 270px;
  bottom: 115px;
}
@media only screen and (min-width: 1400px) and (max-width: 1599px), only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-cta-shape-2 {
    right: 100px;
  }
}
.tg-cta-2-title {
  font-weight: 600;
  font-size: 80px;
  line-height: 100%;
  letter-spacing: -0.02em;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-cta-2-title {
    font-size: 60px;
  }
}
@media (max-width: 575px) {
  .tg-cta-2-title {
    font-size: 30px;
  }
}
.tg-cta-2-thumb {
  position: absolute;
  left: 0;
  top: 0;
  width: 45%;
  height: 100%;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-cta-2-thumb {
    width: 100%;
    position: inherit;
  }
}
.tg-cta-2-thumb img {
  width: 100%;
  height: 100%;
}
.tg-cta-2-shape {
  position: absolute;
  right: 0;
  bottom: 145px;
  width: 24%;
}
@media only screen and (min-width: 1400px) and (max-width: 1599px), only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-cta-2-shape {
    width: 17%;
  }
}
.tg-cta-6-title {
  font-weight: 600;
  font-size: 80px;
  line-height: 100%;
  letter-spacing: -0.02em;
  color: var(--tg-common-black);
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-cta-6-title {
    font-size: 60px;
  }
}
@media (max-width: 575px) {
  .tg-cta-6-title {
    font-size: 37px;
  }
}
.tg-cta-6-border {
  width: 100%;
  height: 1px;
  background: var(--tg-common-black);
}

/*=============================
    11. footer
===============================*/
.tg-footer-title {
  font-size: 50px;
  line-height: 120%;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-footer-title br {
    display: none;
  }
}
@media (max-width: 575px) {
  .tg-footer-title {
    font-size: 30px;
  }
}
.tg-footer-location h4 {
  font-weight: 600;
  font-size: 24px;
  line-height: 167%;
  letter-spacing: -0.02em;
  font-family: var(--tg-ff-p);
}
.tg-footer-location a {
  font-size: 18px;
  line-height: 167%;
  color: var(--tg-common-black);
}
.tg-footer-links h4 {
  font-weight: 600;
  font-size: 24px;
  line-height: 167%;
  letter-spacing: -0.02em;
  font-family: var(--tg-ff-p);
  margin-bottom: 10px;
}
.tg-footer-links ul {
  margin: 0;
  padding: 0;
}
.tg-footer-links ul li {
  list-style: none;
  margin-bottom: 7px;
}
.tg-footer-links ul li a {
  display: inline-block;
  color: var(--tg-common-black);
  font-size: 16px;
  line-height: 1.45;
}
.tg-footer-links ul li a:hover {
  color: var(--tg-theme-primary);
}
.footer-inquiry-form h4 {
  color: var(--tg-common-black);
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0;
  margin-bottom: 18px;
}
.footer-inquiry-form form {
  display: grid;
  gap: 12px;
}
.footer-inquiry-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.footer-inquiry-form input,
.footer-inquiry-form textarea {
  width: 100%;
  color: var(--tg-common-black);
  font-size: 14px;
  line-height: 1.4;
  padding: 13px 15px;
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(20, 45, 30, 0.14);
  border-radius: 8px;
  outline: none;
  resize: none;
}
.footer-inquiry-form input::placeholder,
.footer-inquiry-form textarea::placeholder {
  color: rgba(20, 45, 30, 0.62);
}
.footer-inquiry-form input:focus,
.footer-inquiry-form textarea:focus {
  border-color: var(--tg-theme-primary);
  box-shadow: 0 0 0 3px rgba(26, 137, 75, 0.12);
}
.footer-inquiry-form button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  color: var(--tg-common-white);
  font-size: 14px;
  font-weight: 700;
  padding: 12px 22px;
  background: var(--tg-theme-primary);
  border: 0;
  border-radius: 999px;
}
.footer-inquiry-form button:hover {
  color: var(--tg-common-white);
  background: var(--tg-common-black);
}
@media (max-width: 575px) {
  .footer-inquiry-grid {
    grid-template-columns: 1fr;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-footer-location a br {
    display: none;
  }
}
.tg-footer-location-wrap {
  column-count: 2;
  padding-right: 88px;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-footer-location-wrap {
    padding-right: 0;
  }
}
@media (max-width: 575px) {
  .tg-footer-location-wrap {
    column-count: 1;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-footer-social {
    margin-bottom: 50px;
  }
}
.tg-footer-social a {
  border: 1px solid #000;
  border-radius: 100px;
  width: 44px;
  height: 44px;
  display: inline-block;
  text-align: center;
  line-height: 44px;
  transition: all 0.4s ease;
}
.tg-footer-social a svg {
  transform: translateY(-2px);
  width: 17px !important;
}
.tg-footer-social a:hover {
  background: var(--tg-common-black);
  color: var(--tg-common-white);
}
.tg-footer-rborder {
  width: 1px;
  height: 78px;
  background: var(--tg-common-black);
  display: inline-block;
  position: absolute;
  right: 105px;
  bottom: 40px;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-footer-rborder {
    right: 30px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-footer-rborder {
    display: none;
  }
}
.tg-footer-form {
  position: relative;
}
.tg-footer-form-btn {
  position: absolute;
  right: 0;
  top: 0;
}
.tg-footer-form input {
  border: none;
  border-bottom: 1px solid var(--tg-common-black);
  width: 100%;
  font-size: 18px;
  line-height: 167%;
  color: var(--tg-common-black);
  padding-left: 0;
  height: 50px;
  background: transparent;
}
.tg-footer-form input::placeholder {
  color: var(--tg-common-black);
}
.tg-footer-form input:focus {
  border: none;
  border-bottom: 1px solid var(--tg-common-black);
}
.tg-footer-bottom {
  border-top: 1px solid var(--tg-common-black);
  padding: 21px 0px 20px 0px;
}
.tg-footer-copyright p {
  font-weight: 500;
  font-size: 13px;
  color: var(--tg-common-black);
  margin-bottom: 10px;
}
.tg-footer-copyright p a {
  font-weight: 700;
}
.tg-footer-menu ul {
  display: flex;
  justify-content: end;
  flex-wrap: wrap;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-footer-menu ul {
    justify-content: flex-start;
  }
}
.tg-footer-menu ul li {
  margin-left: 40px;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-footer-menu ul li {
    margin-left: 20px;
  }
}
.tg-footer-menu ul li a {
  font-family: var(--tg-ff-heading);
  font-weight: 500;
  font-size: 16px;
  color: var(--tg-common-black);
  padding: 10px 0;
  display: inline-block;
  text-transform: uppercase;
}
.tg-footer-menu ul li a:hover {
  color: var(--tg-theme-primary);
}
.tg-footer-2-location .email {
  font-weight: 400;
  font-size: 17px;
  line-height: 153%;
  text-decoration: underline;
  text-decoration-skip-ink: none;
  display: block;
  color: var(--tg-common-black);
  margin-bottom: 4px;
}
.tg-footer-2-location .email:hover {
  color: var(--tg-theme-primary);
}
.tg-footer-2-location .number {
  font-weight: 600;
  font-size: 20px;
  line-height: 130%;
  letter-spacing: -0.02em;
  color: var(--tg-common-black);
}
.tg-footer-2-location .number:hover {
  color: var(--tg-theme-primary);
}
.tg-footer-4-widget .tg-footer-location h4 {
  color: var(--tg-common-white);
}
.tg-footer-4-widget .tg-footer-location a {
  color: var(--tg-common-white);
}
.tg-footer-4-widget .tg-footer-rborder {
  background: var(--tg-common-white);
}
.tg-footer-4-widget .tg-footer-social a {
  border: 1px solid var(--tg-common-white);
  color: var(--tg-common-white);
}
.tg-footer-4-widget .tg-footer-social a:hover {
  background: var(--tg-common-white);
  color: var(--tg-common-black);
  border-color: var(--tg-common-white);
}
.tg-footer-4-widget .tg-footer-form input {
  border-color: var(--tg-common-white);
  color: var(--tg-common-white);
}
.tg-footer-4-widget .tg-footer-form input::placeholder {
  color: var(--tg-common-white);
}
.tg-footer-4-bottom {
  border-top: 1px solid var(--tg-common-white);
}
.tg-footer-4-bottom .tg-footer-copyright p {
  color: var(--tg-common-white);
}
.tg-footer-4-bottom .tg-footer-copyright p a:hover {
  color: var(--tg-common-white);
}
.tg-footer-4-bottom .tg-footer-menu ul li a {
  color: var(--tg-common-white);
}
.tg-footer-4-bottom .tg-footer-menu ul li a:hover {
  color: var(--tg-theme-primary);
}
.tg-footer-8-bottom {
  border-top: none;
}

/*=============================
    17. process
===============================*/
.tg-process-item {
  border: 1px solid #fff;
  padding: 53px 50px 24px 50px;
  transition: all 0.3s ease-in-out;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-process-item {
    margin-top: 0;
  }
}
.tg-process-item:hover {
  background: #0d7046;
}
.tg-process-item:hover .tg-process-icon .count {
  color: var(--tg-common-white);
}
.tg-process-item:hover .tg-process-icon svg {
  color: var(--tg-common-white);
}
.tg-process-item:hover .tg-process-content h4 {
  color: var(--tg-common-white);
}
.tg-process-item:hover .tg-process-content p {
  color: var(--tg-common-white);
}
.tg-process-content h4 {
  font-weight: 600;
  font-size: 26px;
  letter-spacing: -0.02em;
}
.tg-process-content p {
  font-size: 18px;
  line-height: 144%;
  letter-spacing: -0.02em;
  color: var(--tg-common-black);
}
.tg-process-icon .count {
  font-weight: 600;
  font-size: 18px;
  letter-spacing: -0.02em;
  color: var(--tg-common-black);
}

/* Process area with dark background - white text */
.tgbg-home-primary .tg-section-subtitle {
  color: var(--tg-common-white) !important;
}
.tgbg-home-primary .tg-section-title {
  color: var(--tg-common-white) !important;
}
.tgbg-home-primary .tg-process-content h4 {
  color: var(--tg-common-white) !important;
}
.tgbg-home-primary .tg-process-content p {
  color: var(--tg-common-white) !important;
}
.tgbg-home-primary .tg-process-icon .count {
  color: var(--tg-common-white) !important;
}
.tgbg-home-primary .tg-process-icon svg {
  color: var(--tg-common-white) !important;
}

/*=============================
    06. contact
===============================*/
.tg-contact-bg {
  position: absolute;
  top: 0;
  right: 0;
  width: 57%;
  height: 100%;
  z-index: -1;
 
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-contact-bg {
    display: none;
  }
}
.tg-contact-icon {
  column-count: 2;
  margin-right: 100px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-contact-icon {
    margin-right: 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-contact-icon {
    column-count: 3;
  }
}
.tg-contact-icon span {
  width: 50%;
  display: inline-block;
  margin-bottom: 120px;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-contact-form {
    padding-left: 0;
  }
}
.tg-contact-form-info-item h3 {
  font-weight: 500;
  font-size: 24px;
  line-height: 125%;
  letter-spacing: -0.01em;
}
.tg-contact-form-info-item a {
  font-weight: 400;
  font-size: 18px;
  display: block;
  color: var(--tg-common-black);
  padding-bottom: 5px;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-contact-spacing {
    margin-top: 0;
  }
}
.tg-contact-input input, .tg-contact-input textarea {
  font-weight: 400;
  font-size: 18px;
  color: var(--tg-common-black);
  border: none;
  border-bottom: 1px solid var(--tg-common-black);
  padding-left: 0;
  height: 42px;
  background: transparent;
}
.tg-contact-input input::placeholder, .tg-contact-input textarea::placeholder {
  font-weight: 400;
  font-size: 18px;
  color: var(--tg-common-black);
}
.tg-contact-input textarea {
  height: 115px;
}
.tg-contact-8-title {
  font-size: 80px;
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-contact-8-title {
    font-size: 50px;
    margin-bottom: 40px;
  }
}
.tg-contact-8-form .tg-contact-input input, .tg-contact-8-form .tg-contact-input textarea {
  border-color: var(--tg-common-white);
  color: var(--tg-common-white);
}
.tg-contact-8-form .tg-contact-input input::placeholder, .tg-contact-8-form .tg-contact-input textarea::placeholder {
  color: var(--tg-common-white);
}
.tg-contact-8-form .tg-contact-input textarea {
  height: 135px;
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-contact-8-shape {
    margin-top: 0;
    margin-bottom: 30px;
  }
}
@media (max-width: 575px) {
  .tg-contact-map-area {
    padding-top: 0;
  }
}
.tg-contact-map-wrap {
  margin-top: 208px;
  width: 350px;
  background: var(--tg-common-white);
  padding: 60px 30px 50px 60px;
  position: absolute;
  left: 300px;
  z-index: 2;
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .tg-contact-map-wrap {
    left: 100px;
  }
}
@media (max-width: 575px) {
  .tg-contact-map-wrap {
    left: 0;
  }
}
.tg-contact-map-wrap h6 {
  font-weight: 600;
  font-size: 24px;
  letter-spacing: -0.02em;
}
.tg-contact-map-wrap a {
  font-weight: 400;
  font-size: 18px;
  letter-spacing: -0.01em;
  color: var(--tg-common-black);
  display: block;
}
.tg-contact-map-inner {
  line-height: 1;
  overflow: hidden;
}
.tg-contact-map-inner iframe {
  width: 100%;
  height: 800px;
  border: 0;
  line-height: 1;
}

/*=============================
    21. portfolio
===============================*/
.tg-team-3-content h4 {
  font-weight: 500;
  font-size: 24px;
  letter-spacing: -0.01em;
  margin-bottom: 0;
}
.tg-team-3-content h4 a:hover {
  color: var(--tg-theme-primary);
}
.tg-team-3-social {
  display: flex;
  flex-direction: column;
  position: absolute;
  bottom: 30px;
  left: 15px;
  gap: 6px;
  opacity: 0;
  transition: all 0.3s ease;
  z-index: 1;
}
.tg-team-3-social a {
  width: 48px;
  height: 48px;
  display: inline-block;
  border-radius: 100%;
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(3px);
  text-align: center;
  line-height: 48px;
  color: var(--tg-common-white);
}
.tg-team-3-social a:hover {
  background: var(--tg-theme-primary);
  border-color: var(--tg-theme-primary);
  color: var(--tg-common-black);
}
.tg-team-3-shape {
  position: absolute;
  bottom: 52px;
  left: 47px;
  opacity: 0;
  pointer-events: none;
  -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
  clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
  -webkit-transition: all 0.8s linear;
  transition: all 0.8s linear;
}
.tg-team-3-item:hover .tg-team-3-shape {
  opacity: 1;
  clip-path: polygon(100% 0, 0 0, 0 100%, 100% 100%);
  -webkit-clip-path: polygon(100% 0, 0 0, 0 100%, 100% 100%);
}
.tg-team-3-item:hover .tg-team-3-social {
  opacity: 1;
  left: 30px;
}
.tg-team-3-item:hover .tg-team-7-shape {
  opacity: 1;
  visibility: visible;
}
.tg-team-3-item:hover .tg-team-3-thumb img {
  transform: scale(1.1);
}
.tg-team-3-thumb {
  overflow: hidden;
}
.tg-team-3-thumb img {
  transition: all 0.4s ease;
}
.tg-team-7-shape {
  border-radius: 100%;
  background: #cbca7b;
  filter: blur(160px);
  width: 307px;
  height: 407px;
  display: inline-block;
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s ease;
  z-index: 1;
}
.tg-team-7-item .tg-team-3-social a {
  background: var(--tg-common-white);
  color: var(--tg-common-black);
}
.tg-team-7-item .tg-team-3-social a:hover {
  background: var(--tg-common-black);
  color: var(--tg-common-white);
  border-color: var(--tg-common-black);
}
.tg-team-details-thumb {
  position: sticky;
  top: 100px;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-team-details-thumb {
    margin-right: 0;
  }
}
.tg-team-details-content {
  margin-left: -30px;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-team-details-content {
    margin-left: 0;
  }
}
.tg-team-details-content-para a {
  font-weight: 400;
  font-size: 17px;
  line-height: 165%;
  color: var(--tg-common-black);
}
.tg-team-details-content-para a.under {
  text-decoration: underline;
}
.tg-team-details-subtitle {
  font-weight: 600;
  font-size: 18px;
  color: var(--tg-common-black);
  display: inline-block;
}
.tg-team-details-title {
  font-weight: 700;
  font-size: 30px;
  line-height: 133%;
  letter-spacing: -0.01em;
}
.tg-team-details-list ul li {
  font-weight: 400;
  font-size: 18px;
  line-height: 180%;
  color: var(--tg-common-black);
}
.tg-team-details-list-title {
  font-weight: 500;
  font-size: 24px;
  letter-spacing: -0.01em;
  color: var(--tg-common-black);
}
.tg-team-details-progress-bar .tg-skill-progress-bar-title label {
  font-size: 16px;
  color: var(--tg-common-black);
}
.tg-team-details-progress-bar .progress-count {
  font-size: 16px !important;
  color: var(--tg-common-black) !important;
}
.tg-team-details-progress-bar .tg-skill-progress-bar .progress-bar {
  background-color: var(--tg-theme-primary);
  height: 10px;
}
.tg-team-details-progress-bar .tg-skill-progress-bar .progress {
  height: 10px;
  background: #f0f0f0;
}

/*=============================
    02. awards
===============================*/
.tg-awards-3-subtitle {
  font-weight: 500;
  font-size: 18px;
  display: inline-block;
  color: var(--tg-common-black);
  background: var(--tg-theme-primary);
  padding: 3px 30px;
  padding: 6px 32px;
}
.tg-awards-3-item a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid rgba(10, 17, 25, 0.15);
  border-top: 1px solid rgba(10, 17, 25, 0.15);
  padding: 16px 30px 6px 30px;
  position: relative;
  margin-top: -1px;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-awards-3-item a {
    padding: 10px 10px 4px 10px;
  }
}
.tg-awards-3-item a:hover {
  background: var(--tg-common-black);
}
.tg-awards-3-item a:hover .title {
  color: var(--tg-common-white);
}
.tg-awards-3-item a:hover .icon {
  color: var(--tg-common-white);
}
.tg-awards-3-item .title {
  font-family: var(--tg-ff-heading);
  font-weight: 500;
  font-size: 18px;
  color: var(--tg-common-black);
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-awards-3-item .title {
    font-size: 15px;
  }
}
.tg-awards-3-item .title span {
  font-weight: 600;
  font-family: var(--tg-ff-p);
}
@media (max-width: 575px) {
  .tg-awards-3-item .title span {
    margin-right: 10px;
  }
}
.tg-awards-3-item.active a {
  background: var(--tg-common-black);
}
.tg-awards-3-item.active a .title {
  color: var(--tg-common-white);
}
.tg-awards-3-item.active a .icon {
  color: var(--tg-common-white);
}
.tg-awards-3-item .icon {
  font-weight: 500;
  font-size: 18px;
  color: var(--tg-common-black);
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-awards-3-para br {
    display: none;
  }
}
.tg-awards-3-img-wrapper {
  position: relative;
  margin-top: -70px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-awards-3-img-wrapper {
    margin-left: 0;
    margin-top: 0;
  }
}
.tg-awards-3-img-wrapper .hover-image {
  display: inline-block;
}
.tg-awards-3-img-wrapper .hover-image .thumb {
  object-fit: cover;
  opacity: 0;
  transform: rotate(-20deg) !important;
  transition: all 0.5s ease;
  position: absolute;
  top: 0;
  left: 50px;
  border-radius: 10px;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-awards-3-img-wrapper .hover-image .thumb {
    width: 250px;
  }
}
.tg-awards-3-img-wrapper .hover-image .shape {
  opacity: 0;
  transition: all 0.5s ease;
  position: absolute;
  top: 250px;
  left: 141px;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-awards-3-img-wrapper .hover-image .shape {
    display: none;
  }
}
.tg-awards-3-img-wrapper .hover-image.active .thumb {
  opacity: 1;
  transform: rotate(0deg) !important;
}
.tg-awards-3-img-wrapper .hover-image.active .shape {
  opacity: 1;
  transform: scale(1);
  top: 280px;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-awards-3-img-wrapper .hover-image.active .shape {
    top: 119px;
  }
}

/*=============================
    22. testimonial
===============================*/
.tg-testimonial-video {
  margin-left: 300px;
  padding-top: 320px;
  padding-bottom: 320px;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-testimonial-video {
    margin-left: 100px;
    padding-top: 200px;
    padding-bottom: 200px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-testimonial-video {
    text-align: center;
    margin-left: 0;
    padding-top: 100px;
    padding-bottom: 100px;
  }
}
.tg-testimonial-video .popup-video {
  background: var(--tg-common-white);
  width: 80px;
  height: 80px;
  line-height: 80px;
}
.tg-testimonial-item p {
  font-size: 18px;
  line-height: 178%;
  color: var(--tg-common-black);
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-testimonial-item p br {
    display: none;
  }
}
.tg-testimonial-name h3 {
  font-weight: 500;
  font-size: 24px;
  letter-spacing: -0.01em;
  margin-bottom: 0;
}
.tg-testimonial-name span {
  font-weight: 400;
  font-size: 18px;
  color: var(--tg-common-black);
}
.tg-testimonial-wrap {
  padding: 90px 300px 50px 110px;
  margin-top: -140px;
}
@media only screen and (min-width: 1400px) and (max-width: 1599px) {
  .tg-testimonial-wrap {
    padding: 90px 100px 50px 110px;
  }
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-testimonial-wrap {
    padding: 40px 50px 30px 50px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-testimonial-wrap {
    margin-top: 0;
  }
}
@media (max-width: 575px) {
  .tg-testimonial-wrap {
    padding: 20px 20px 20px 20px;
  }
}
.tg-testimonial-navigation {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1;
}
@media (max-width: 575px) {
  .tg-testimonial-navigation {
    position: inherit;
    margin-top: 20px;
  }
}
.tg-testimonial-navigation span {
  width: 60px;
  height: 60px;
  display: inline-block;
  text-align: center;
  line-height: 60px;
  border: 1px solid var(--tg-common-black);
  transition: all 0.4s ease;
}
.tg-testimonial-navigation span:hover {
  background: var(--tg-common-white);
  border-color: var(--tg-common-white);
}
.tg-testimonial-spacing {
  padding-top: 270px;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-testimonial-spacing {
    padding-top: 80px;
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-testimonial-4-content {
    margin-left: 0;
  }
}
.tg-testimonial-4-content h5 {
  font-weight: 500;
  font-size: 32px;
  letter-spacing: -0.01em;
  color: var(--tg-common-white);
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-testimonial-4-content h5 {
    font-size: 25px;
  }
}
.tg-testimonial-4-author span {
  font-weight: 400;
  font-size: 18px;
  color: var(--tg-common-white);
  display: inline-block;
  margin-bottom: 5px;
}
.tg-testimonial-4-author h6 {
  font-weight: 500;
  font-size: 24px;
  letter-spacing: -0.01em;
  color: var(--tg-common-white);
}
.tg-testimonial-4-navigation {
  position: absolute;
  right: 0;
  bottom: 30px;
  z-index: 2;
}
@media (max-width: 575px) {
  .tg-testimonial-4-navigation {
    position: inherit;
    margin-top: 30px;
  }
}
.tg-testimonial-4-navigation span {
  width: 60px;
  height: 60px;
  display: inline-block;
  border: 1px solid var(--tg-common-white);
  border-radius: 40px;
  color: var(--tg-theme-primary);
  text-align: center;
  line-height: 60px;
  transition: all 0.4s ease;
}
.tg-testimonial-4-navigation span.tg-testimonial-4-prev {
  margin-left: 10px;
}
.tg-testimonial-4-navigation span:hover {
  background: var(--tg-theme-primary);
  color: var(--tg-common-white);
  border-color: var(--tg-theme-primary);
}
@media (max-width: 575px) {
  .tg-testimonial-4-thumb img {
    width: 180px;
  }
}
.tg-testimonial-5-title {
  font-weight: 500;
  font-size: 24px;
  line-height: 133%;
  letter-spacing: -0.01em;
  color: var(--tg-common-black);
  background: var(--tg-common-white);
  padding: 13px 20px;
  display: inline-block;
}
.tg-testimonial-5-border {
  height: 1px;
  width: 100%;
  background: #000;
  display: block;
}
.tg-testimonial-5-content h5 {
  font-weight: 500;
  font-size: 24px;
  line-height: 158%;
  letter-spacing: -0.01em;
  color: var(--tg-common-black);
  font-family: var(--tg-ff-inter);
}
.tg-testimonial-5-content .tg-testimonial-4-author span {
  color: var(--tg-common-black);
  margin-bottom: 0;
}
.tg-testimonial-5-content .tg-testimonial-4-author h6 {
  font-size: 26px;
  color: var(--tg-common-black);
  font-family: var(--tg-ff-inter);
}
.tg-testimonial-5-navigation {
  bottom: 0;
}
.tg-testimonial-5-navigation span {
  border: 1px solid var(--tg-common-black);
  color: var(--tg-common-black);
}
.tg-testimonial-5-navigation span:hover {
  background: var(--tg-common-white);
  color: var(--tg-common-black);
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-testimonial-5-innerspacing {
    padding-bottom: 40px;
  }
}
.tg-testimonial-5-thumb {
  position: absolute;
  right: 90px;
  bottom: 0;
}
@media only screen and (min-width: 1400px) and (max-width: 1599px), only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-testimonial-5-thumb {
    right: 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-testimonial-5-thumb {
    position: inherit;
  }
}
.tg-testimonial-5-thumb img {
  mix-blend-mode: luminosity;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px) {
  .tg-testimonial-5-thumb img {
    width: 300px;
  }
}
.tg-testimonial-8-slider {
  margin-left: 115px;
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-testimonial-8-slider {
    margin-left: 40px;
  }
}
.tg-testimonial-8-pagenation {
  position: absolute;
  top: 75px !important;
  left: 0px !important;
  display: flex;
  flex-direction: column;
  z-index: 2;
  gap: 10px;
}
.tg-testimonial-8-pagenation .swiper-pagination-bullet {
  width: 15px;
  height: 15px;
  display: inline-block;
  border: 1px solid var(--tg-common-black);
  background: transparent;
  opacity: 1;
}
.tg-testimonial-8-pagenation .swiper-pagination-bullet-active {
  background: var(--tg-common-black);
}
.tg-testimonial-8-thumb-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: end;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-testimonial-8-thumb-wrap {
    padding-top: 40px;
    justify-content: flex-start;
  }
}
.tg-testimonial-8-wow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 68px;
  right: 0;
  margin: 0 auto;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-testimonial-8-wow {
    display: none;
  }
}

/*=============================
    20. skill
===============================*/
.tg-skill-thumb {
  position: absolute;
  left: 0;
  top: 0;
  width: 44%;
  height: 100%;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-skill-thumb {
    position: inherit;
    width: auto;
  }
}
.tg-skill-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.tg-skill-progress-bar-item {
  padding: 25px 0px;
  overflow: hidden;
  padding-bottom: 10px;
}
.tg-skill-progress-bar-title label {
  font-family: var(--tg-ff-heading);
  font-weight: 400;
  font-size: 18px;
  color: var(--tg-common-white);
  margin-top: 6px;
}
.tg-skill-progress-bar .progress {
  overflow: visible;
  height: 2px;
  border-radius: 0;
  background: rgba(255, 255, 255, 0.3);
}
.tg-skill-progress-bar .progress-bar {
  position: relative;
  top: 0;
  height: 2px;
  overflow: visible;
  border-radius: 0;
  background-color: var(--tg-common-white);
}
.tg-skill-progress-bar .progress-bar .progress-count {
  position: absolute;
  bottom: -37px;
  right: 0;
  font-family: var(--tg-ff-heading);
  font-weight: 400;
  font-size: 18px;
  color: var(--tg-common-white);
}
.tg-skill-btn .tg-btn-rounded-primary {
  color: var(--tg-common-black);
}
.tg-skill-btn .tg-btn-rounded-primary:hover {
  border-color: var(--tg-common-white);
  background: transparent;
  color: var(--tg-common-black);
}
.tg-skill-btn .tg-btn-rounded-primary .tg-btn-circle-dot {
  background: var(--tg-common-white);
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-skill-content p br {
    display: none;
  }
}
.tg-skill-4-spacing {
  padding-bottom: 50px;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-skill-4-spacing {
    padding-bottom: 0;
    margin-top: 90px;
    margin-bottom: 90px;
  }
}

/*=============================
    10. faq
===============================*/
.tg-faq-4-accordion .accordion-items {
  border-bottom: 1px solid var(--tg-common-white);
  padding: 36px 0px;
}
.tg-faq-4-accordion .accordion-items h2 {
  line-height: 1;
}
.tg-faq-4-accordion .accordion-buttons {
  font-weight: 500;
  font-size: 24px;
  letter-spacing: -0.01em;
  color: var(--tg-common-white);
  text-align: left;
  padding: 0;
  position: relative;
  display: block;
  width: 100%;
  padding-right: 100px;
  line-height: 125%;
}
@media (max-width: 575px) {
  .tg-faq-4-accordion .accordion-buttons {
    padding-right: 20px;
    font-size: 20px;
  }
}
.tg-faq-4-accordion .accordion-buttons:not(.collapsed) .plus-icon::before {
  transform: translate(-50%, -50%) rotate(90deg);
}
.tg-faq-4-accordion .accordion-buttons .plus-icon {
  position: absolute;
  top: 50%;
  right: 0;
}
.tg-faq-4-accordion .accordion-buttons .plus-icon::before {
  position: absolute;
  content: "";
  width: 2px;
  height: 10px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background-color: var(--tg-common-white);
  border-radius: 2px;
  transition: 0.4s;
}
.tg-faq-4-accordion .accordion-buttons .plus-icon::after {
  position: absolute;
  content: "";
  width: 10px;
  height: 2px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background-color: var(--tg-common-white);
  border-radius: 2px;
}
.tg-faq-4-accordion .accordion-body {
  padding: 0;
  padding-top: 14px;
}
.tg-faq-4-accordion .accordion-body p {
  font-weight: 400;
  font-size: 18px;
  line-height: 167%;
  color: var(--tg-common-white);
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-faq-4-wrap {
    padding-top: 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-faq-4-spacing {
    margin-top: 90px;
  }
}
.tg-faq-4-thumb {
  position: absolute;
  top: 0;
  right: 0;
  width: 44%;
  height: 100%;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-faq-4-thumb {
    position: inherit;
    width: auto;
    margin-top: 30px;
  }
}
.tg-faq-4-thumb img {
  height: 100%;
  object-fit: cover;
}
.tg-faq-6-accordion .accordion-buttons {
  color: var(--tg-common-black);
}
.tg-faq-6-accordion .accordion-body p {
  color: var(--tg-common-black);
}
.tg-faq-6-accordion .accordion-items {
  border-bottom: 1px solid var(--tg-common-black);
}
.tg-faq-6-accordion .accordion-buttons {
  color: var(--tg-common-black);
}
.tg-faq-6-accordion .accordion-buttons .plus-icon::before {
  background-color: var(--tg-common-black);
}
.tg-faq-6-accordion .accordion-buttons .plus-icon::after {
  background-color: var(--tg-common-black);
}
.faq-page-area {
  padding: 100px 0 110px;
  background: #ffffff;
}
.faq-page-title {
  margin-bottom: 48px;
}
.faq-page-title .tg-section-title {
  color: #0d2514;
  font-size: 48px;
  line-height: 1.15;
  margin: 0;
}
.faq-page-accordion {
  background: #f6fbe9;
  border: 1px solid rgba(13, 112, 70, 0.16);
  border-radius: 10px;
  padding: 10px 34px;
}
.faq-page-accordion .accordion-items {
  border-bottom: 1px solid rgba(13, 112, 70, 0.18);
  padding: 28px 0;
}
.faq-page-accordion .accordion-items:last-child {
  border-bottom: 0;
}
.faq-page-accordion .accordion-buttons {
  color: #102214;
  font-family: var(--tg-ff-body);
  font-weight: 700;
  font-size: 22px;
}
.faq-page-accordion .accordion-buttons .plus-icon::before,
.faq-page-accordion .accordion-buttons .plus-icon::after {
  background-color: #0d7046;
}
.faq-page-accordion .accordion-body p {
  color: #26342a;
  font-size: 17px;
  line-height: 1.65;
}
@media (max-width: 767px) {
  .faq-page-area {
    padding: 70px 0 80px;
  }
  .faq-page-title .tg-section-title {
    font-size: 34px;
  }
  .faq-page-accordion {
    padding: 4px 20px;
  }
  .faq-page-accordion .accordion-buttons {
    font-size: 18px;
    padding-right: 34px;
  }
  .faq-page-accordion .accordion-body p {
    font-size: 16px;
  }
}
.tg-faq-details-subtitle {
  font-weight: 400;
  font-size: 18px;
  color: var(--tg-common-black);
  display: block;
  border-bottom: 1px solid var(--tg-common-black);
  padding-bottom: 6px;
}
.tg-faq-details-title {
  font-weight: 500;
  font-size: 24px;
  letter-spacing: -0.01em;
}
.tg-faq-details-info {
  padding: 32px 40px 16px 40px;
}
.tg-faq-details-info-link ul li {
  margin-bottom: 13px;
}
.tg-faq-details-info-link ul li a {
  font-weight: 400;
  font-size: 18px;
  color: #000;
}
.tg-faq-details-thumb-wrap {
  padding: 40px 40px 20px 40px;
}
.tg-faq-details-thumb-info h4 {
  font-weight: 700;
  font-size: 22px;
  letter-spacing: -0.02em;
  color: var(--tg-common-white);
}
.tg-faq-details-thumb-info p {
  font-weight: 400;
  font-size: 18px;
  line-height: 167%;
  color: var(--tg-common-white);
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-faq-details-list {
    margin-left: 0;
  }
}
.tg-faq-details-list .accordion-buttons {
  padding-right: 50px;
}

/*=============================
    16. about
===============================*/
.tg-pricing-6-wrap {
  background: var(--tg-common-white);
}
.tg-pricing-6-wrap:hover .tg-pricing-6-icon {
  background: var(--tg-common-black);
  color: var(--tg-common-white);
}
.tg-pricing-6-icon {
  width: 130px;
  height: 130px;
  display: inline-block;
  text-align: center;
  line-height: 107px;
  border-radius: 50%;
  border: 10px solid var(--tg-theme-primary);
  margin-top: -60px;
  transform: translateY(-15px);
  background: var(--tg-common-white);
  transition: all 0.4s ease;
}
.tg-pricing-6-header {
  padding: 0px 60px 0px 60px;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-pricing-6-spacing {
    margin-top: 0;
  }
}
.tg-pricing-6-list {
  padding: 0 25px 39px 25px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-pricing-6-list {
    padding: 0 30px 19px 30px;
  }
}
.tg-pricing-6-list ul li {
  font-weight: 400;
  font-size: 14px;
  color: var(--tg-common-black);
  margin-bottom: 6px;
  position: relative;
  padding-left: 16px;
}
.tg-pricing-6-list ul li::before {
  position: absolute;
  content: "";
  width: 4px;
  height: 4px;
  background: var(--tg-common-black);
  left: 0;
  transform: translateY(-50%);
  top: 50%;
  border-radius: 20px;
}
.tg-pricing-6-header-content h4 {
  font-weight: 500;
  font-size: 24px;
  line-height: 117%;
  color: var(--tg-common-white);
  display: inline-block;
  padding: 10px 16px;
  background: var(--tg-theme-primary);
}
.tg-pricing-6-header-content span {
  display: block;
  font-weight: 500;
  font-size: 18px;
  letter-spacing: -0.01em;
  color: var(--tg-common-black);
}
.tg-pricing-6-header-content h2 {
  font-weight: 500;
  font-size: 70px;
  letter-spacing: -0.01em;
  color: var(--tg-common-black);
}
.tg-pricing-6-btn a {
  font-weight: 500;
  font-size: 16px;
  text-transform: uppercase;
  color: var(--tg-common-white);
  background: var(--tg-common-black);
  text-align: center;
  padding: 15px 20px;
  display: block;
}

/*=============================
    RVM info cards
===============================*/
.rvm-info-area {
  position: relative;
  overflow: hidden;
  padding: 170px 0 175px;
  background: radial-gradient(circle at 50% 50%, rgba(56, 139, 51, 0.42), transparent 44%), linear-gradient(90deg, rgba(0, 33, 15, 0.98), rgba(0, 49, 22, 0.92), rgba(0, 29, 13, 0.98)), url("../img/C.png") center/cover no-repeat;
}

.rvm-info-area::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 0 38%, rgba(112, 223, 81, 0.18) 41%, transparent 48%), linear-gradient(78deg, transparent 0 53%, rgba(89, 210, 60, 0.16) 55%, transparent 60%);
  pointer-events: none;
}

.rvm-info-area .container {
  position: relative;
  z-index: 1;
  max-width: 1560px;
}

.rvm-info-area .row {
  justify-content: center;
  row-gap: 50px;
}

.rvm-info-area .col-xl-4 {
  display: flex;
  justify-content: center;
}

.rvm-info-area .tg-pricing-6-wrap {
  position: relative;
  width: 100%;
  min-height: 520px;
 padding: 122px 58px 48px;
  margin: 0 !important;
  background: rgba(255, 255, 255, 0.13);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 15px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 24px 60px rgba(0, 0, 0, 0.24);
  backdrop-filter: blur(8px);
}

.rvm-info-area .tg-pricing-6-header {
  padding: 0;
  text-align: left !important;
}

.rvm-info-area .tg-pricing-6-icon {
  position: absolute;
  top: -76px;
  left: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 154px;
  height: 154px;
  margin: 0;
  color: #207747;
  line-height: 1;
  background: #f4eddc;
  border: 8px solid #f4eddc;
  border-radius: 50%;
  outline: 2px solid #207747;
  outline-offset: -20px;
  transform: translateX(-50%);
  box-shadow: 0 17px 0 rgba(0, 0, 0, 0.34);
}

.rvm-info-area .tg-pricing-6-wrap:hover .tg-pricing-6-icon {
  color: #207747;
  background: #f4eddc;
}

.rvm-info-area .tg-pricing-6-icon svg {
  width: 70px;
  height: 70px;
}

.rvm-info-area .tg-pricing-6-icon svg path,
.rvm-info-area .tg-pricing-6-icon svg circle {
  stroke-width: 2;
}

.rvm-info-area .tg-pricing-6-header-content h4 {
  display: block;
  padding: 0;
  margin: 0 0 28px !important;
  color: #73bf5c;
  font-family: var(--tg-ff-body);
  font-size: 24px;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: 0;
  background: transparent;
}

.rvm-info-area .tg-pricing-6-list {
  padding: 0;
}

.rvm-info-area .tg-pricing-6-list ul {
  margin: 0;
  padding: 0;
}

.rvm-info-area .tg-pricing-6-list ul li {
  color: #ffffff;
  font-size: 18px;
  line-height: 1.15;
  font-weight: 400;
  margin-bottom: 15px;
  padding-left: 24px;
}

.rvm-info-area .tg-pricing-6-list ul li::before {
  width: 7px;
  height: 7px;
  background: #12b82e;
  top: 0.72em;
  transform: none;
}

@media (max-width: 1399px) {
  .rvm-info-area .tg-pricing-6-wrap {
    padding-left: 38px;
    padding-right: 38px;
  }
  .rvm-info-area .tg-pricing-6-list ul li {
    font-size: 19px;
  }
}

@media (max-width: 1199px) {
  .rvm-info-area {
    padding: 145px 0 110px;
  }
  .rvm-info-area .tg-pricing-6-wrap {
    max-width: 460px;
  }
}

@media (max-width: 767px) {
  .rvm-info-area {
    padding: 125px 0 80px;
  }
  .rvm-info-area .tg-pricing-6-wrap {
    min-height: auto;
    padding: 100px 28px 36px;
  }
  .rvm-info-area .tg-pricing-6-icon {
    top: -62px;
    width: 124px;
    height: 124px;
    outline-offset: -17px;
  }
  .rvm-info-area .tg-pricing-6-icon svg {
    width: 56px;
    height: 56px;
  }
  .rvm-info-area .tg-pricing-6-header-content h4 {
    font-size: 21px;
  }
  .rvm-info-area .tg-pricing-6-list ul li {
    font-size: 18px;
  }
}

/*=============================
    RVM features
===============================*/
.rvm-features-area {
  padding: 96px 0 104px;
  background: #f7f9ff;
}

.rvm-features-title {
  margin-bottom: 50px;
}

.rvm-features-title .tg-section-title {
  color: #102044;
  font-size: 44px;
  line-height: 1.15;
  margin: 0;
}

.rvm-feature-stack {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: 34px;
  align-items: stretch;
}

.shredder-product-page .product-static-layout .rvm-feature-stack {
  grid-auto-rows: auto;
}

.shredder-product-page .product-static-layout .rvm-feature-panel.shredder-wide-panel {
  grid-column: 1 / -1;
}

/* Keep the Organic Waste Composter capability rows sized to their own content. */
.other-waste-product-page .product-static-layout .rvm-feature-stack {
  grid-auto-rows: auto;
}

.other-waste-product-page .product-static-layout .rvm-feature-panel.shredder-wide-panel {
  grid-column: 1 / -1;
}

/* Separate disposal-flow treatment for the sanitary vending product only. */
.sanitary-product-page .product-static-layout .sanitary-disposal-flow-area {
  background: linear-gradient(135deg, #edf4ff 0%, #f8f4fb 100%);
  border-top: 1px solid rgba(23, 38, 79, .08);
}

.sanitary-product-page .product-static-layout .sanitary-disposal-flow-area .rvm-how-heading h2 {
  color: #626873;
}

.sanitary-product-page .product-static-layout .sanitary-disposal-flow-area .tg-section-subtitle {
  color: #727985;
}

.sanitary-product-page .product-static-layout .sanitary-disposal-flow-area .rvm-how-heading p {
  color: #626873;
}

.sanitary-product-page .product-static-layout .rvm-feature-stack {
  grid-auto-rows: auto;
}

.water-atm-product-page .product-static-layout .rvm-feature-stack {
  grid-auto-rows: auto;
}

.erickshaw-product-page .product-static-layout .rvm-feature-stack {
  grid-auto-rows: auto;
}

.rvm-feature-panel {
  position: relative;
  overflow: hidden;
  min-width: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  padding: 30px 38px 32px;
  background: rgba(255, 255, 255, 0.82);
  border: 2px solid currentColor;
  border-radius: 18px;
  box-shadow: 0 18px 48px rgba(24, 47, 94, 0.08);
}

.rvm-feature-panel::before {
  content: "";
  position: absolute;
  right: -70px;
  top: -70px;
  width: 180px;
  height: 180px;
  background: currentColor;
  border-radius: 50%;
  opacity: 0.08;
}

.rvm-feature-panel > * {
  position: relative;
  z-index: 1;
}

.rvm-feature-panel.blue {
  color: #1c63d8;
}

.rvm-feature-panel.green,
.rvm-feature-panel.leaf {
  color: #4a9f26;
}

.rvm-feature-panel.orange {
  color: #f08112;
}

.rvm-feature-panel.purple {
  color: #9b2bc8;
}

.rvm-feature-heading {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 24px;
}

.rvm-feature-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 68px;
  width: 68px;
  height: 68px;
  aspect-ratio: 1 / 1;
  font-size: 28px;
  background: currentColor;
  border: 5px solid rgba(255, 255, 255, 0.95);
  border-radius: 50%;
  box-shadow: 0 8px 20px rgba(24, 47, 94, 0.18);
}

.rvm-feature-badge svg {
  color: #ffffff;
  width: 34px;
  height: 34px;
}
.rvm-feature-badge > i {
  color: #ffffff;
  font-size: 28px;
}

.rvm-feature-heading h3 {
  color: currentColor;
  font-family: var(--tg-ff-body);
  font-size: 30px;
  line-height: 1.1;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0;
  margin: 0;
}

.rvm-feature-heading h3::after {
  content: "";
  display: inline-block;
  width: 160px;
  height: 1px;
  background: currentColor;
  opacity: 0.34;
  margin-left: 18px;
  vertical-align: middle;
}

.rvm-feature-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px 42px;
}

.rvm-feature-list.compact {
  gap: 18px 42px;
}

.rvm-feature-point {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  min-width: 0;
}

.rvm-feature-point > i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  color: currentColor;
  font-size: 16px;
  line-height: 1;
  margin-top: -2px;
  text-align: center;
  background: color-mix(in srgb, currentColor 12%, transparent);
  border: 1px solid color-mix(in srgb, currentColor 32%, transparent);
  border-radius: 50%;
}

.rvm-feature-point > i::before {
  content: "";
  width: 8px;
  height: 14px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-1px);
}

.rvm-feature-point h4 {
  color: #232838;
  font-family: var(--tg-ff-body);
  font-size: 18px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: 0;
  margin: 0 0 4px;
}

.rvm-feature-list.compact .rvm-feature-point h4 {
  margin-bottom: 0;
}

.rvm-feature-point p {
  color: #303647;
  font-size: 15px;
  line-height: 1.28;
  margin: 0;
}

.rvm-feature-sublist {
  margin: 8px 0 0;
  padding-left: 20px;
}

.rvm-feature-sublist li {
  color: #303647;
  font-size: 15px;
  line-height: 1.45;
  list-style: disc;
}

.rvm-dashboard-layout {
  display: block;
}

.rvm-device-wrap {
  position: relative;
  width: min(330px, 100%);
  min-height: 230px;
  margin: 0 auto;
}

.rvm-laptop {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 260px;
  height: 156px;
  padding: 14px 14px 22px;
  background: #0b153a;
  border-radius: 12px 12px 4px 4px;
  box-shadow: 0 12px 30px rgba(8, 20, 60, 0.2);
}

.rvm-laptop::after {
  content: "";
  position: absolute;
  left: -18px;
  right: -18px;
  bottom: -14px;
  height: 16px;
  background: #cfd6e8;
  border-radius: 0 0 20px 20px;
}

.rvm-screen,
.rvm-phone-screen {
  height: 100%;
  padding: 16px;
  background: linear-gradient(135deg, #102a7a, #071842);
  border-radius: 8px;
}

.rvm-screen span,
.rvm-phone-screen span {
  display: block;
  height: 10px;
  margin-bottom: 10px;
  background: linear-gradient(90deg, #36d0ff, #8be350);
  border-radius: 20px;
}

.rvm-screen span:nth-child(2),
.rvm-phone-screen span:nth-child(2) {
  width: 68%;
}

.rvm-screen span:nth-child(3),
.rvm-phone-screen span:nth-child(3) {
  width: 82%;
}

.rvm-phone,
.rvm-app-phone {
  width: 104px;
  height: 190px;
  padding: 10px;
  background: #0b153a;
  border-radius: 24px;
  box-shadow: 0 14px 28px rgba(8, 20, 60, 0.22);
}

.rvm-phone {
  position: absolute;
  right: 0;
  top: 4px;
}

.rvm-phone-screen strong,
.rvm-phone-screen em {
  display: block;
  color: #ffffff;
  font-size: 12px;
  line-height: 1.2;
  font-style: normal;
  margin-bottom: 10px;
}

.rvm-app-phone {
  justify-self: center;
}

@media (max-width: 991px) {
  .rvm-feature-stack {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
  }
  .rvm-feature-panel {
    padding: 28px 24px;
  }
  .rvm-feature-heading h3 {
    font-size: 25px;
  }
  .rvm-feature-heading h3::after {
    display: none;
  }
  .rvm-feature-list,
  .rvm-feature-list.compact {
    grid-template-columns: 1fr;
  }
  .rvm-device-wrap {
    max-width: 330px;
  }
}

@media (max-width: 575px) {
  .rvm-features-area {
    padding: 70px 0 78px;
  }
  .rvm-features-title .tg-section-title {
    font-size: 30px;
  }
  .rvm-feature-heading {
    align-items: flex-start;
    gap: 14px;
  }
  .rvm-feature-badge {
    flex-basis: 56px;
    width: 56px;
    height: 56px;
    font-size: 23px;
  }
  .rvm-feature-heading h3 {
    font-size: 22px;
  }
  .rvm-feature-point h4 {
    font-size: 16px;
  }
  .rvm-feature-point p {
    font-size: 14px;
  }
  .rvm-laptop {
    width: 220px;
  }
  .rvm-phone {
    right: -4px;
  }
}

/*=============================
    RVM FAQ
===============================*/
.rvm-faq-area {
  padding: 92px 0 105px;
  background:
    radial-gradient(circle at 10% 8%, rgba(28, 99, 216, 0.08), transparent 30%),
    radial-gradient(circle at 90% 24%, rgba(74, 159, 38, 0.08), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f7f9ff 100%);
}

.rvm-faq-title {
  max-width: 820px;
  margin: 0 auto 48px;
}

.rvm-faq-title .tg-section-title {
  color: #102044;
  font-size: 44px;
  line-height: 1.15;
  margin: 0;
}

.rvm-faq-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 24px;
  align-items: start;
}

.rvm-faq-item {
  position: relative;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(28, 99, 216, 0.16);
  border-radius: 16px;
  box-shadow: 0 14px 34px rgba(24, 47, 94, 0.07);
  overflow: hidden;
}

.rvm-faq-item summary {
  position: relative;
  display: block;
  color: #102044;
  font-family: var(--tg-ff-body);
  font-size: 18px;
  line-height: 1.25;
  font-weight: 900;
  letter-spacing: 0;
  cursor: pointer;
  padding: 22px 58px 22px 24px;
  list-style: none;
}

.rvm-faq-item summary::-webkit-details-marker {
  display: none;
}

.rvm-faq-item summary::after {
  content: "+";
  position: absolute;
  right: 22px;
  top: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  color: #ffffff;
  font-size: 22px;
  line-height: 1;
  font-weight: 700;
  background: linear-gradient(135deg, #1c63d8, #4a9f26);
  border-radius: 50%;
  transform: translateY(-50%);
}

.rvm-faq-item[open] summary::after {
  content: "-";
}

.rvm-faq-item p {
  color: #303647;
  font-size: 15px;
  line-height: 1.58;
  font-weight: 500;
  margin: 0;
  padding: 0 24px 24px;
}

.rvm-faq-item[open] {
  border-color: rgba(28, 99, 216, 0.32);
}

@media (max-width: 991px) {
  .rvm-faq-area {
    padding: 78px 0 86px;
  }
  .rvm-faq-title .tg-section-title {
    font-size: 36px;
  }
  .rvm-faq-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575px) {
  .rvm-faq-area {
    padding: 64px 0 72px;
  }
  .rvm-faq-title .tg-section-title {
    font-size: 29px;
  }
  .rvm-faq-item summary {
    font-size: 16px;
    padding: 20px 54px 20px 18px;
  }
  .rvm-faq-item p {
    font-size: 14px;
    padding: 0 18px 20px;
  }
}

.rvm-product-page .rvm-faq-area {
  padding: 72px 0 88px;
  background: #f8f8f1;
}
.rvm-product-page .rvm-faq-area .container {
  max-width: 1320px;
  counter-reset: rvm-faq;
}
.rvm-faq-featured {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  gap: clamp(40px, 7vw, 92px);
  align-items: center;
  margin-bottom: 0;
}
.rvm-faq-image {
  position: sticky;
  top: 110px;
}
.rvm-faq-image img {
  display: block;
  width: 100%;
  height: auto;
}
.rvm-faq-featured-copy h2 {
  margin: 0 0 22px;
  padding: 8px 28px;
  color: #fff;
  font-size: 36px;
  font-weight: 500;
  line-height: 1.15;
  text-align: center;
  background: #242b55;
  border-radius: 10px;
}
.rvm-product-page .rvm-faq-grid {
  display: block;
}
.rvm-product-page .rvm-faq-item {
  counter-increment: rvm-faq;
  margin: 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #ccd0c8;
  border-radius: 0;
  box-shadow: none;
  overflow: hidden;
}
.rvm-product-page .rvm-faq-item summary {
  padding: 19px 54px 19px 4px;
  color: #3e3e3e;
  font-size: 19px;
  line-height: 1.35;
  font-weight: 700;
  cursor: pointer;
}
.rvm-product-page .rvm-faq-item summary::before {
  content: counter(rvm-faq) ". ";
}
.rvm-product-page .rvm-faq-item summary::after {
  display: inline-flex;
  right: 4px;
  width: 32px;
  height: 32px;
  color: #17264f;
  background: transparent;
  border: 1px solid #17264f;
}
.rvm-product-page .rvm-faq-item[open] summary::after {
  content: "−";
}
.rvm-product-page .rvm-faq-item p {
  display: block;
  margin: 0;
  padding: 0 54px 22px 4px;
  color: #454545;
  font-size: 16px;
  line-height: 1.55;
  font-weight: 400;
}
.rvm-product-page .rvm-faq-item:not([open]) > p {
  display: none;
}
@media (max-width: 991px) {
  .rvm-faq-featured {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .rvm-faq-image {
    position: static;
    max-width: 620px;
    margin: 10px auto 0;
  }
  .rvm-faq-featured-copy h2 {
    margin-top: 0;
  }
}
@media (max-width: 575px) {
  .rvm-product-page .rvm-faq-area {
    padding: 54px 0 62px;
  }
  .rvm-faq-featured-copy h2 {
    padding: 8px 20px;
    font-size: 29px;
  }
  .rvm-product-page .rvm-faq-item summary {
    padding-right: 48px;
    font-size: 17px;
  }
  .rvm-product-page .rvm-faq-item p {
    padding-right: 48px;
    font-size: 15px;
  }
}

/*=============================
    RVM PDF-inspired product page
===============================*/
.rvm-product-page main {
  background: #f8f8f1;
}
.rvm-product-page .rvm-pdf-hero,
.rvm-product-page .rvm-pdf-overview,
.rvm-product-page .rvm-features-area,
.rvm-product-page .rvm-faq-area,
.rvm-product-page .compost-features-area,
.rvm-product-page .shredder-features-area,
.rvm-product-page .sanitary-features-area {
  background: #f8f8f1;
}
.rvm-legacy-content {
  display: none;
}
.rvm-pdf-hero {
  padding: 0;
  background: #f8f8f1;
}
.rvm-pdf-hero > .container {
  width: 100%;
  max-width: none;
  padding: 0;
}
.rvm-pdf-overview .container,
.rvm-pdf-goals .container,
.rvm-pdf-impact .container {
  max-width: 1320px;
}
.rvm-pdf-hero-grid {
  display: grid;
  grid-template-columns: minmax(380px, 42%) minmax(0, 58%);
  min-height: 470px;
  overflow: hidden;
  margin: 0;
  background: #f5f6ed;
  border: 0;
}
.rvm-pdf-title-panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 58px 52px;
  color: #fff;
  background: #17264f;
}
.rvm-pdf-title-panel span {
  margin-bottom: 10px;
  font-family: var(--tg-ff-heading);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: .02em;
}
.rvm-pdf-title-panel h1 {
  margin: 0;
  color: inherit;
  font-family: var(--tg-ff-heading);
  font-size: clamp(38px, 3.45vw, 56px);
  line-height: 1.08;
  font-weight: 700;
  letter-spacing: -.035em;
}
.rvm-pdf-product-intro {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  padding: 40px;
}
.rvm-pdf-recycle-shape {
  display: block;
  width: 92px;
  height: 92px;
  margin: 0 6px 18px 0;
  object-fit: contain;
}
.rvm-pdf-machine-thumb {
  display: block;
  width: min(100%, 285px);
  height: 170px;
  object-fit: contain;
}
.rvm-pdf-product-intro p {
  max-width: 440px;
  margin: 22px 0 0;
  color: #31373b;
  font-size: 19px;
  line-height: 1.55;
  text-align: right;
}
@media (min-width: 992px) {
  .rvm-detail-template .rvm-pdf-hero-grid {
    grid-template-columns: minmax(560px, 47%) minmax(0, 53%);
    min-height: 605px;
    border: 1px solid #e1e2dd;
  }
  .rvm-detail-template .rvm-pdf-title-panel {
    padding: 62px 56px;
  }
  .rvm-detail-template .rvm-pdf-title-panel span {
    margin-bottom: 18px;
    font-size: clamp(52px, 4.6vw, 72px);
    line-height: 1.05;
    font-weight: 500;
    letter-spacing: -.025em;
  }
  .rvm-detail-template .rvm-pdf-title-panel h1 {
    font-size: 65px;
    line-height: 75px;
    font-weight: 900;
    letter-spacing: -.025em;
  }
  .rvm-detail-template .rvm-pdf-product-intro {
    align-items: flex-end;
    padding: 32px 56px 42px;
  }
  .rvm-detail-template .rvm-pdf-recycle-shape {
    width: 104px;
    height: 104px;
    margin: 0 0 22px;
  }
  .rvm-detail-template .rvm-pdf-machine-thumb {
    width: min(100%, 285px);
    height: 185px;
  }
  .rvm-detail-template .rvm-pdf-product-intro p {
    max-width: 430px;
    margin: 28px 0 0 auto;
    font-size: 24px;
    line-height: 1.34;
    text-align: right;
  }
  .rvm-detail-template .rvm-pdf-product-intro strong {
    text-transform: uppercase;
  }
}
.rvm-pdf-installation {
  overflow: hidden;
  margin: 0;
  border: 0;
  border-radius: 0;
}
.rvm-pdf-installation img {
  display: block;
  width: 100%;
  aspect-ratio: 2.2 / 1;
  object-fit: cover;
}
.rvm-product-banner {
  padding: 30px;
  background: #f8f8f1;
}
.rvm-product-banner .container-fluid {
  padding: 0;
}
.rvm-about-product {
  padding: 0;
  background: #f8f8f1;
}
.rvm-about-product > .container-fluid {
  padding: 0;
}
.rvm-about-product-layout {
  display: grid;
  grid-template-columns: minmax(0, .44fr) minmax(0, .56fr);
  gap: 0;
  align-items: stretch;
}
.rvm-about-product-image {
  overflow: hidden;
  min-height: 660px;
  background: #eef0ed;
}
.rvm-about-product-image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 660px;
  object-fit: cover;
}
.rvm-about-product-copy {
  align-self: center;
  padding: 76px clamp(42px, 7vw, 140px);
}
.rvm-about-product-copy .tg-section-subtitle {
  display: block;
  margin-bottom: 18px;
}
.rvm-about-product-copy h2 {
  margin: 0 0 30px;
  color: #17264f;
  font-size: clamp(42px, 4.5vw, 66px);
  line-height: 1.05;
  font-weight: 900;
  letter-spacing: -.035em;
  text-transform: uppercase;
}
.rvm-about-product-copy p {
  margin: 0 0 18px;
  color: #42484d;
  font-size: 18px;
  line-height: 1.65;
}
.rvm-about-product-copy p:last-child {
  margin-bottom: 0;
}
.rvm-about-product-justified .rvm-about-product-copy p {
  text-align: justify;
}

.rvm-about-description-title {
  margin: 26px 0 14px;
  color: #17264f;
  font-family: var(--tg-ff-body);
  font-size: 22px;
  line-height: 1.25;
  font-weight: 800;
  text-transform: uppercase;
}

.rvm-about-product-points {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.rvm-about-product-points li {
  position: relative;
  padding-left: 20px;
  color: #42484d;
  font-size: 16px;
  line-height: 1.45;
}

.rvm-about-product-points li::before {
  content: "";
  position: absolute;
  top: .55em;
  left: 0;
  width: 8px;
  height: 8px;
  background: #58b957;
  border-radius: 50%;
}

@media (max-width: 575px) {
  .rvm-about-product-points {
    grid-template-columns: 1fr;
  }
}
.rvm-how-area {
  padding: 100px 0;
  background: #f8f8f1;
}
.rvm-how-layout {
  display: grid;
  grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr);
  gap: clamp(50px, 8vw, 120px);
  align-items: center;
}
.rvm-how-heading .tg-section-subtitle {
  display: block;
  margin-bottom: 18px;
}
.rvm-how-heading h2 {
  margin: 0 0 24px;
  color: #17264f;
  font-size: clamp(54px, 6vw, 88px);
  line-height: .9;
  font-weight: 900;
  letter-spacing: -.045em;
  text-transform: uppercase;
}
.rvm-how-heading p {
  max-width: 440px;
  margin: 0;
  color: #4e5357;
  font-size: 17px;
  line-height: 1.65;
}
.rvm-how-steps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: rvm-how-step;
}
.rvm-how-step {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 18px;
  min-height: 176px;
  padding: 28px 24px;
  color: #fff;
  background: #17264f;
  border-radius: 4px;
  counter-increment: rvm-how-step;
}
.rvm-how-step::after {
  content: "0" counter(rvm-how-step);
  position: absolute;
  right: 18px;
  top: 12px;
  color: rgba(255,255,255,.12);
  font-size: 46px;
  line-height: 1;
  font-weight: 900;
}
.rvm-how-step:nth-child(2) { background: #204071; }
.rvm-how-step:nth-child(3) { background: #116b63; }
.rvm-how-step:nth-child(4) { background: #2f7651; }
.rvm-how-step:nth-child(5) { background: #17264f; }
.rvm-how-step:nth-child(6) { background: #204071; }
.rvm-how-step:nth-child(7) { background: #116b63; }
.rvm-how-icon {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  color: #17264f;
  background: #fff;
  border-radius: 50%;
}
.rvm-how-step > div {
  position: relative;
  z-index: 1;
}
.rvm-how-step strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: 21px;
  line-height: 1.2;
}
.rvm-how-step p {
  margin: 0;
  color: rgba(255,255,255,.8);
  font-size: 14px;
  line-height: 1.5;
}
@media (max-width: 991px) {
  .rvm-about-product-layout {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .rvm-about-product-image,
  .rvm-about-product-image img {
    min-height: 430px;
  }
  .rvm-about-product-copy {
    padding: 58px 40px 68px;
  }
  .rvm-how-layout {
    grid-template-columns: 1fr;
    gap: 42px;
  }
  .rvm-how-heading h2 br {
    display: none;
  }
}
@media (max-width: 575px) {
  .rvm-product-banner {
    padding: 14px;
  }
  .rvm-product-banner .rvm-pdf-installation img {
    aspect-ratio: 1.55 / 1;
  }
  .rvm-about-product {
    padding: 0;
  }
  .rvm-about-product-image,
  .rvm-about-product-image img {
    min-height: 300px;
  }
  .rvm-about-product-copy {
    padding: 46px 24px 56px;
  }
  .rvm-about-product-copy h2 {
    margin-bottom: 22px;
    font-size: 40px;
  }
  .rvm-about-product-copy p {
    font-size: 16px;
  }
  .rvm-how-area {
    padding: 66px 0;
  }
  .rvm-how-heading h2 {
    font-size: 48px;
  }
  .rvm-how-steps {
    grid-template-columns: 1fr;
  }
  .rvm-how-step {
    min-height: 0;
  }
}
.rvm-pdf-key-features {
  width: min(100% - 40px, 1320px);
  margin: 0 auto;
  padding: 58px 46px 44px;
}
.rvm-pdf-key-features h2 {
  margin: 0 0 28px;
  padding-bottom: 23px;
  color: #101419;
  font-size: clamp(38px, 4vw, 58px);
  line-height: 1.1;
  border-bottom: 2px solid #252a2d;
}
.rvm-pdf-feature-lines {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 60px;
}
.rvm-pdf-feature-lines span {
  position: relative;
  padding-left: 22px;
  color: #242a2f;
  font-size: 17px;
  font-weight: 600;
}
.rvm-pdf-feature-lines span::before {
  content: "";
  position: absolute;
  top: .66em;
  left: 0;
  width: 6px;
  height: 6px;
  background: #17264f;
  border-radius: 50%;
}
.rvm-pdf-overview {
  padding-bottom: 70px;
  background: #f8f8f1;
}
.rvm-pdf-overview-copy {
  padding: 48px 60px;
  color: #fff;
  background: #17264f;
}
.rvm-pdf-overview-copy-inner {
  width: min(100%, 1320px);
  margin: 0 auto;
}
.rvm-pdf-overview-copy p {
  max-width: 1120px;
  margin: 0 auto;
  color: inherit;
  font-size: 20px;
  line-height: 1.65;
  text-align: center;
}
.rvm-pdf-detail-copy {
  padding: 46px 48px 0;
}
.rvm-pdf-detail-copy p {
  color: #31373b;
  font-size: 17px;
  line-height: 1.65;
}
.rvm-pdf-detail-copy p:last-child {
  margin: 26px 0 0;
  padding-top: 24px;
  border-top: 1px solid #56725d;
}

/* Other waste management equipment: reference-inspired key features. */
.other-waste-product-page .owm-key-features {
  padding-top: 52px;
}
.other-waste-product-page .owm-key-features-heading {
  margin-bottom: 30px;
  text-align: center;
}
.other-waste-product-page .owm-key-features-heading > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 210px;
  margin-bottom: 18px;
  padding: 8px 28px;
  color: #fff;
  background: #086b2b;
  border-radius: 999px 999px 14px 14px;
  font-family: var(--tg-ff-heading);
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.other-waste-product-page .owm-key-features-heading h2 {
  max-width: 780px;
  margin: 0 auto;
  padding: 0;
  color: #101f48;
  font-size: clamp(32px, 3.4vw, 50px);
  line-height: 1.12;
  border: 0;
}
.other-waste-product-page .owm-feature-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.other-waste-product-page .owm-feature-card {
  display: flex;
  align-items: center;
  min-height: 132px;
  padding: 22px 24px;
  background: #fff;
  border: 1px solid #cddacb;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(10, 54, 25, .06);
}
.other-waste-product-page .owm-feature-icon {
  display: inline-flex;
  flex: 0 0 62px;
  align-items: center;
  justify-content: center;
  width: 62px;
  height: 62px;
  margin-right: 20px;
  color: #086b2b;
  background: #edf7e9;
  border-radius: 50%;
  font-size: 27px;
}
.other-waste-product-page .owm-feature-card h3 {
  margin: 0 0 6px;
  color: #101f48;
  font-size: 20px;
  line-height: 1.2;
  text-transform: uppercase;
}
.other-waste-product-page .owm-feature-card p {
  margin: 0;
  color: #39423c;
  font-size: 15px;
  line-height: 1.45;
}

@media (max-width: 767px) {
  .other-waste-product-page .owm-feature-grid {
    grid-template-columns: 1fr;
  }
  .other-waste-product-page .owm-key-features {
    width: min(100% - 24px, 1320px);
    padding-right: 0;
    padding-left: 0;
  }
  .other-waste-product-page .owm-feature-card {
    min-height: 0;
    padding: 18px;
  }
  .other-waste-product-page .owm-feature-icon {
    flex-basis: 52px;
    width: 52px;
    height: 52px;
    margin-right: 15px;
    font-size: 23px;
  }
  .other-waste-product-page .owm-feature-card h3 {
    font-size: 17px;
  }
}

/* Organic waste composter capability panels. */
.other-waste-product-page .owm-capabilities-area {
  padding-top: 92px;
}
.other-waste-product-page .owm-capabilities-area .rvm-features-title {
  max-width: 980px;
  margin-right: auto;
  margin-left: auto;
}
.other-waste-product-page .owm-capability-stack {
  gap: 28px;
}
.other-waste-product-page .owm-capability-stack .rvm-feature-panel {
  padding: 30px 34px 34px;
}
.other-waste-product-page .owm-capability-stack .rvm-feature-heading h3 {
  font-size: clamp(23px, 2vw, 30px);
}
.other-waste-product-page .owm-capability-stack .rvm-feature-heading h3::after {
  width: 90px;
}
.other-waste-product-page .owm-wide-panel {
  grid-column: 1 / -1;
}
.other-waste-product-page .owm-process-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
}
.other-waste-product-page .owm-process-step {
  position: relative;
  padding: 8px 20px 4px;
  text-align: center;
}
.other-waste-product-page .owm-process-step:not(:last-child) {
  border-right: 1px solid color-mix(in srgb, currentColor 25%, transparent);
}
.other-waste-product-page .owm-process-step > span {
  position: absolute;
  top: 0;
  left: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  color: #fff;
  background: #f08112;
  border-radius: 50%;
  font-size: 13px;
  font-weight: 800;
}
.other-waste-product-page .owm-process-step > i {
  display: block;
  margin: 0 0 14px;
  color: currentColor;
  font-size: 36px;
}
.other-waste-product-page .owm-process-step h4,
.other-waste-product-page .owm-sdg-grid h4 {
  margin: 0 0 7px;
  color: #232838;
  font-family: var(--tg-ff-body);
  font-size: 16px;
  line-height: 1.25;
  font-weight: 900;
  text-transform: uppercase;
}
.other-waste-product-page .owm-process-step p,
.other-waste-product-page .owm-sdg-grid p,
.other-waste-product-page .owm-panel-intro {
  margin: 0;
  color: #303647;
  font-size: 14px;
  line-height: 1.45;
}
.other-waste-product-page .owm-panel-intro {
  max-width: 520px;
  margin-bottom: 25px;
  font-size: 16px;
}
.other-waste-product-page .owm-benefit-tags {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.other-waste-product-page .owm-benefit-tags span {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 15px;
  color: #232838;
  background: color-mix(in srgb, currentColor 8%, #fff);
  border: 1px solid color-mix(in srgb, currentColor 24%, transparent);
  border-radius: 12px;
  font-weight: 800;
}
.other-waste-product-page .owm-benefit-tags i {
  color: currentColor;
  font-size: 19px;
}
.other-waste-product-page .owm-sdg-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.other-waste-product-page .owm-sdg-grid > div {
  min-height: 175px;
  padding: 19px;
  background: color-mix(in srgb, currentColor 7%, #fff);
  border: 1px solid color-mix(in srgb, currentColor 22%, transparent);
  border-radius: 14px;
}
.other-waste-product-page .owm-sdg-grid strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin-bottom: 13px;
  color: #fff;
  background: #1c63d8;
  border-radius: 10px;
  font-size: 18px;
}

@media (max-width: 991px) {
  .other-waste-product-page .owm-wide-panel {
    grid-column: auto;
  }
  .other-waste-product-page .owm-process-list,
  .other-waste-product-page .owm-sdg-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }
  .other-waste-product-page .owm-process-step {
    padding: 18px;
    border: 1px solid color-mix(in srgb, currentColor 22%, transparent) !important;
    border-radius: 14px;
  }
}

@media (max-width: 575px) {
  .other-waste-product-page .owm-capabilities-area {
    padding-top: 68px;
  }
  .other-waste-product-page .owm-capability-stack .rvm-feature-panel {
    padding: 24px 18px 26px;
  }
  .other-waste-product-page .owm-process-list,
  .other-waste-product-page .owm-sdg-grid,
  .other-waste-product-page .owm-benefit-tags {
    grid-template-columns: 1fr;
  }
  .other-waste-product-page .owm-sdg-grid > div {
    min-height: 0;
  }
}

/* Sanitary pad vending and disposal product layout. */
.sanitary-product-page .sanitary-legacy-content {
  display: none;
}
.sanitary-product-page .sanitary-capabilities-area {
  padding-top: 92px;
}
.sanitary-product-page .sanitary-capability-stack {
  gap: 28px;
}
.sanitary-product-page .sanitary-capability-stack .rvm-feature-panel {
  padding: 30px 34px 34px;
}
.sanitary-product-page .sanitary-capability-stack .rvm-feature-heading h3 {
  font-size: clamp(23px, 2vw, 30px);
}
.sanitary-product-page .sanitary-capability-stack .rvm-feature-heading h3::after {
  width: 80px;
}
.sanitary-product-page .sanitary-wide-panel {
  grid-column: 1 / -1;
}
.sanitary-product-page .sanitary-single-list {
  grid-template-columns: 1fr;
  gap: 17px;
}
.sanitary-product-page .sanitary-panel-intro,
.sanitary-product-page .sanitary-panel-note {
  margin: 0;
  color: #303647;
  font-size: 17px;
  line-height: 1.5;
}
.sanitary-product-page .sanitary-capacity-boxes {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin: 24px 0;
}
.sanitary-product-page .sanitary-capacity-boxes span {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 118px;
  padding: 18px;
  color: #303647;
  background: color-mix(in srgb, #f08112 8%, #fff);
  border: 1px solid color-mix(in srgb, #f08112 28%, transparent);
  border-radius: 14px;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
}
.sanitary-product-page .sanitary-capacity-boxes strong {
  margin-bottom: 3px;
  color: #f08112;
  font-size: 30px;
  line-height: 1;
}
.sanitary-product-page .sanitary-panel-note {
  font-weight: 700;
}

@media (max-width: 991px) {
  .sanitary-product-page .sanitary-wide-panel {
    grid-column: auto;
  }
  .sanitary-product-page .sanitary-capacity-boxes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575px) {
  .sanitary-product-page .sanitary-capabilities-area {
    padding-top: 68px;
  }
  .sanitary-product-page .sanitary-capability-stack .rvm-feature-panel {
    padding: 24px 18px 26px;
  }
  .sanitary-product-page .sanitary-capacity-boxes {
    grid-template-columns: 1fr;
  }
}

/* Water ATM product layout and capability panels. */
.water-atm-product-page .water-atm-legacy-content {
  display: none;
}
.water-atm-product-page .water-atm-second-image {
  padding-top: 42px;
}
.water-atm-product-page .water-atm-second-image .rvm-pdf-installation {
  margin: 0;
}
.water-atm-product-page .water-atm-capabilities-area {
  padding-top: 92px;
}
.water-atm-product-page .water-atm-capability-stack {
  gap: 28px;
}
.water-atm-product-page .water-atm-capability-stack .rvm-feature-panel {
  padding: 30px 34px 34px;
}
.water-atm-product-page .water-atm-capability-stack .rvm-feature-heading h3 {
  font-size: clamp(22px, 1.85vw, 29px);
}
.water-atm-product-page .water-atm-capability-stack .rvm-feature-heading h3::after {
  width: 70px;
}
.water-atm-product-page .water-atm-wide-panel {
  grid-column: 1 / -1;
}
.water-atm-product-page .water-atm-single-list {
  grid-template-columns: 1fr;
  gap: 17px;
}
.water-atm-product-page .water-atm-process-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.water-atm-product-page .water-atm-process-step {
  position: relative;
  padding: 8px 20px 4px;
  text-align: center;
}
.water-atm-product-page .water-atm-process-step:not(:last-child) {
  border-right: 1px solid rgba(240, 129, 18, .28);
}
.water-atm-product-page .water-atm-process-step > span {
  position: absolute;
  top: 0;
  left: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 27px;
  height: 27px;
  color: #fff;
  background: #f08112;
  border-radius: 50%;
  font-size: 13px;
  font-weight: 800;
}
.water-atm-product-page .water-atm-process-step > i {
  display: block;
  margin: 0 0 14px;
  color: #f08112;
  font-size: 36px;
}
.water-atm-product-page .water-atm-process-step h4,
.water-atm-product-page .water-atm-sdg-grid h4 {
  margin: 0 0 7px;
  color: #232838;
  font-family: var(--tg-ff-body);
  font-size: 16px;
  line-height: 1.25;
  font-weight: 900;
  text-transform: uppercase;
}
.water-atm-product-page .water-atm-process-step p,
.water-atm-product-page .water-atm-sdg-grid p {
  margin: 0;
  color: #303647;
  font-size: 14px;
  line-height: 1.45;
}
.water-atm-product-page .water-atm-sdg-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.water-atm-product-page .water-atm-sdg-grid > div {
  min-height: 174px;
  padding: 19px;
  background: rgba(155, 43, 200, .06);
  border: 1px solid rgba(155, 43, 200, .24);
  border-radius: 14px;
}
.water-atm-product-page .water-atm-sdg-grid strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin-bottom: 13px;
  color: #fff;
  background: #9b2bc8;
  border-radius: 10px;
  font-size: 18px;
}

@media (max-width: 991px) {
  .water-atm-product-page .water-atm-wide-panel {
    grid-column: auto;
  }
  .water-atm-product-page .water-atm-process-list,
  .water-atm-product-page .water-atm-sdg-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }
  .water-atm-product-page .water-atm-process-step {
    padding: 18px;
    border: 1px solid rgba(240, 129, 18, .26) !important;
    border-radius: 14px;
  }
}

@media (max-width: 575px) {
  .water-atm-product-page .water-atm-second-image {
    padding-top: 28px;
  }
  .water-atm-product-page .water-atm-capabilities-area {
    padding-top: 68px;
  }
  .water-atm-product-page .water-atm-capability-stack .rvm-feature-panel {
    padding: 24px 18px 26px;
  }
  .water-atm-product-page .water-atm-process-list,
  .water-atm-product-page .water-atm-sdg-grid {
    grid-template-columns: 1fr;
  }
  .water-atm-product-page .water-atm-sdg-grid > div {
    min-height: 0;
  }
}

/* E-Rickshaw garbage loader product layout and capability panels. */
.erickshaw-product-page .erickshaw-legacy-content {
  display: none;
}
.erickshaw-product-page .erickshaw-second-image {
  padding-top: 42px;
}
.erickshaw-product-page .erickshaw-second-image .rvm-pdf-installation {
  margin: 0;
}
.erickshaw-product-page .erickshaw-capabilities-area {
  padding-top: 92px;
}
.erickshaw-product-page .erickshaw-capability-stack {
  gap: 28px;
}
.erickshaw-product-page .erickshaw-capability-stack .rvm-feature-panel {
  padding: 30px 34px 34px;
}
.erickshaw-product-page .erickshaw-capability-stack .rvm-feature-heading h3 {
  font-size: clamp(22px, 1.8vw, 29px);
}
.erickshaw-product-page .erickshaw-capability-stack .rvm-feature-heading h3::after {
  width: 65px;
}
.erickshaw-product-page .erickshaw-wide-panel {
  grid-column: 1 / -1;
}
.erickshaw-product-page .erickshaw-single-list {
  grid-template-columns: 1fr;
  gap: 17px;
}
.erickshaw-product-page .erickshaw-process-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.erickshaw-product-page .erickshaw-process-step {
  position: relative;
  padding: 8px 20px 4px;
  text-align: center;
}
.erickshaw-product-page .erickshaw-process-step:not(:last-child) {
  border-right: 1px solid rgba(240, 129, 18, .28);
}
.erickshaw-product-page .erickshaw-process-step > span {
  position: absolute;
  top: 0;
  left: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 27px;
  height: 27px;
  color: #fff;
  background: #f08112;
  border-radius: 50%;
  font-size: 13px;
  font-weight: 800;
}
.erickshaw-product-page .erickshaw-process-step > i {
  display: block;
  margin: 0 0 14px;
  color: #f08112;
  font-size: 36px;
}
.erickshaw-product-page .erickshaw-process-step h4,
.erickshaw-product-page .erickshaw-sdg-grid h4 {
  margin: 0 0 7px;
  color: #232838;
  font-family: var(--tg-ff-body);
  font-size: 16px;
  line-height: 1.25;
  font-weight: 900;
  text-transform: uppercase;
}
.erickshaw-product-page .erickshaw-process-step p,
.erickshaw-product-page .erickshaw-sdg-grid p,
.erickshaw-product-page .erickshaw-panel-intro {
  margin: 0;
  color: #303647;
  font-size: 14px;
  line-height: 1.45;
}
.erickshaw-product-page .erickshaw-panel-intro {
  max-width: 720px;
  margin-bottom: 24px;
  font-size: 16px;
}
.erickshaw-product-page .erickshaw-sdg-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.erickshaw-product-page .erickshaw-sdg-grid > div {
  min-height: 174px;
  padding: 19px;
  background: rgba(155, 43, 200, .06);
  border: 1px solid rgba(155, 43, 200, .24);
  border-radius: 14px;
}
.erickshaw-product-page .erickshaw-sdg-grid strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin-bottom: 13px;
  color: #fff;
  background: #9b2bc8;
  border-radius: 10px;
  font-size: 18px;
}

@media (max-width: 991px) {
  .erickshaw-product-page .erickshaw-wide-panel {
    grid-column: auto;
  }
  .erickshaw-product-page .erickshaw-process-list,
  .erickshaw-product-page .erickshaw-sdg-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }
  .erickshaw-product-page .erickshaw-process-step {
    padding: 18px;
    border: 1px solid rgba(240, 129, 18, .26) !important;
    border-radius: 14px;
  }
}

@media (max-width: 575px) {
  .erickshaw-product-page .erickshaw-second-image {
    padding-top: 28px;
  }
  .erickshaw-product-page .erickshaw-capabilities-area {
    padding-top: 68px;
  }
  .erickshaw-product-page .erickshaw-capability-stack .rvm-feature-panel {
    padding: 24px 18px 26px;
  }
  .erickshaw-product-page .erickshaw-process-list,
  .erickshaw-product-page .erickshaw-sdg-grid {
    grid-template-columns: 1fr;
  }
  .erickshaw-product-page .erickshaw-sdg-grid > div {
    min-height: 0;
  }
}

/* Compact the existing three information cards to the PDF's navy system. */
.rvm-product-page .rvm-info-area {
  padding: 90px 0 84px;
  background: #09142f url("../img/RVMPro/bg.png") center/cover no-repeat;
}
.rvm-product-page .rvm-info-area::before {
  display: none;
}
.rvm-product-page .rvm-info-slider .swiper-wrapper {
  align-items: stretch;
}
.rvm-product-page .rvm-info-slider {
  padding-top: 44px;
}
.rvm-product-page .rvm-info-slider .swiper-slide {
  display: flex;
  height: auto;
}
.rvm-product-page .rvm-info-area .tg-pricing-6-wrap {
  margin: 0 !important;
  min-height: 310px;
  padding: 70px 28px 30px;
  background: rgba(255,255,255,.07);
  border-color: rgba(255,255,255,.12);
  border-radius: 10px;
  box-shadow: none;
  backdrop-filter: none;
}
.rvm-product-page .rvm-info-area .tg-pricing-6-icon {
  position: absolute;
  top: -44px;
  left: 50%;
  width: 88px;
  height: 88px;
  margin: 0;
  color: #2f538e;
  background: #f8f8f1;
  border: 0;
  outline: 0;
  transform: translateX(-50%);
  box-shadow: none;
}
.rvm-product-page .rvm-info-area .tg-pricing-6-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.rvm-product-page .rvm-info-area .tg-pricing-6-icon svg {
  width: 38px;
  height: 38px;
}
.rvm-product-page .rvm-info-area .tg-pricing-6-header-content h4 {
  margin-bottom: 22px !important;
  color: #fff;
  font-size: 21px;
}
.rvm-product-page .rvm-info-area .tg-pricing-6-list ul li {
  margin-bottom: 11px;
  color: #e8edf8;
  font-size: 15px;
  line-height: 1.35;
}
.rvm-product-page .rvm-info-area .tg-pricing-6-list ul li::before {
  background: #67bd63;
}
.rvm-product-page .rvm-info-card-copy {
  margin: 0;
  color: #e8edf8;
  font-size: 15px;
  line-height: 1.45;
}
.rvm-product-page .dashboard-summary-card .rvm-info-card-copy {
  margin-bottom: 14px;
}
.rvm-product-page .dashboard-summary-card .tg-pricing-6-list ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px 14px;
}
.rvm-product-page .dashboard-summary-card .tg-pricing-6-list ul li {
  margin-bottom: 0;
}
.rvm-product-page .rvm-info-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 34px;
}
.rvm-product-page .rvm-info-heading span {
  display: block;
  margin-bottom: 8px;
  color: #72c476;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.rvm-product-page .rvm-info-heading h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(36px, 4vw, 58px);
  line-height: 1.08;
}
.rvm-product-page .rvm-info-controls {
  display: flex;
  gap: 12px;
}
.rvm-product-page .rvm-info-controls button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  color: #fff;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 50%;
  transition: color .25s ease, background .25s ease, border-color .25s ease;
}
.rvm-product-page .rvm-info-controls button:hover {
  color: #09142f;
  background: #fff;
  border-color: #fff;
}
.rvm-product-page .rvm-info-area .tg-pricing-6-header-content h3 {
  min-height: 52px;
  margin: 0 0 22px;
  color: #fff;
  font-family: var(--tg-ff-body);
  font-size: 22px;
  line-height: 1.2;
  font-weight: 700;
}
.rvm-product-page .rvm-info-pagination {
  position: static;
  margin-top: 34px;
}
.rvm-product-page .rvm-info-pagination .swiper-pagination-bullet {
  width: 9px;
  height: 9px;
  background: #fff;
  opacity: .35;
}
.rvm-product-page .rvm-info-pagination .swiper-pagination-bullet-active {
  width: 30px;
  border-radius: 9px;
  opacity: 1;
}
@media (max-width: 767px) {
  .rvm-product-page .rvm-info-area .tg-pricing-6-wrap {
    min-height: 280px;
  }
}
.rvm-pro-impact-image {
  padding: 30px 0;
  background: #f8f8f1;
}
.rvm-pro-impact-image img {
  display: block;
  width: 100%;
  height: auto;
}
.shredder-product-page .rvm-pdf-machine-thumb {
  width: min(100%, 240px);
  height: 320px;
}
@media (min-width: 992px) {
  .shredder-product-page .rvm-pdf-hero-grid {
    min-height: 520px;
  }
  .shredder-product-page .rvm-pdf-product-intro {
    justify-content: center;
    gap: 14px;
    padding-top: 28px;
    padding-bottom: 28px;
  }
  .shredder-product-page .rvm-pdf-recycle-shape {
    width: 82px;
    height: 82px;
    margin: 0;
  }
  .shredder-product-page .rvm-pdf-machine-thumb {
    width: min(100%, 360px);
    height: 210px;
    margin: 0;
    object-fit: cover;
    object-position: 66% 42%;
  }
  .shredder-product-page .rvm-pdf-product-intro p {
    max-width: 500px;
    margin: 0;
  }
}
@media (min-width: 992px) {
  .sanitary-product-page .rvm-pdf-hero-grid {
    min-height: 540px;
  }
  .sanitary-product-page .rvm-pdf-product-intro {
    justify-content: center;
    gap: 14px;
    padding-top: 28px;
    padding-bottom: 28px;
  }
  .sanitary-product-page .rvm-pdf-recycle-shape {
    width: 82px;
    height: 82px;
    margin: 0;
  }
  .sanitary-product-page .rvm-pdf-machine-thumb {
    width: min(100%, 360px);
    height: 210px;
    margin: 0;
    object-fit: cover;
    object-position: 50% 45%;
  }
  .sanitary-product-page .rvm-pdf-product-intro p {
    max-width: 520px;
    margin: 0;
  }
}
@media (min-width: 992px) {
  .cloth-bag-product-page .rvm-pdf-machine-thumb {
    width: min(100%, 270px);
    height: 230px;
    object-fit: contain;
    object-position: center;
  }
}
@media (min-width: 992px) {
  .water-atm-product-page .rvm-pdf-hero-grid {
    min-height: 540px;
  }
  .water-atm-product-page .rvm-pdf-product-intro {
    justify-content: center;
    gap: 14px;
    padding-top: 28px;
    padding-bottom: 28px;
  }
  .water-atm-product-page .rvm-pdf-recycle-shape {
    width: 82px;
    height: 82px;
    margin: 0;
  }
  .water-atm-product-page .rvm-pdf-machine-thumb {
    width: min(100%, 360px);
    height: 220px;
    margin: 0;
    object-fit: contain;
    object-position: center;
  }
  .water-atm-product-page .rvm-pdf-product-intro p {
    max-width: 520px;
    margin: 0;
  }
}
@media (min-width: 992px) {
  .erickshaw-product-page .rvm-pdf-hero-grid {
    min-height: 540px;
  }
  .erickshaw-product-page .rvm-pdf-product-intro {
    justify-content: center;
    gap: 14px;
    padding-top: 28px;
    padding-bottom: 28px;
  }
  .erickshaw-product-page .rvm-pdf-recycle-shape {
    width: 82px;
    height: 82px;
    margin: 0;
  }
  .erickshaw-product-page .rvm-pdf-machine-thumb {
    width: min(100%, 380px);
    height: 220px;
    margin: 0;
    object-fit: cover;
    object-position: 58% 62%;
  }
  .erickshaw-product-page .rvm-pdf-product-intro p {
    max-width: 520px;
    margin: 0;
  }
}
@media (min-width: 992px) {
  .other-waste-product-page .rvm-pdf-hero-grid {
    min-height: 540px;
  }
  .other-waste-product-page .rvm-pdf-product-intro {
    justify-content: center;
    gap: 14px;
    padding-top: 28px;
    padding-bottom: 28px;
  }
  .other-waste-product-page .rvm-pdf-recycle-shape {
    width: 82px;
    height: 82px;
    margin: 0;
  }
  .other-waste-product-page .rvm-pdf-machine-thumb {
    width: min(100%, 360px);
    height: 220px;
    margin: 0;
    object-fit: contain;
    object-position: center;
  }
  .other-waste-product-page .rvm-pdf-product-intro p {
    max-width: 520px;
    margin: 0;
  }
}
.cloth-bag-product-page .rvm-feature-stack > .rvm-feature-panel.col-md-12 {
  grid-column: 1 / -1;
  width: 100%;
}

@media (min-width: 768px) {
  .cloth-bag-product-page .product-static-layout .rvm-feature-stack {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.crusher-product-page .shredder-rvm-features .rvm-feature-panel:nth-child(n+8) {
  display: none;
}
.cloth-bag-product-page .shredder-rvm-features .rvm-feature-panel:nth-child(n+6) {
  display: none;
}
@media (max-width: 767px) {
  .shredder-product-page .rvm-pdf-machine-thumb {
    height: auto;
  }
}
.rvm-pdf-goals {
  padding: 80px 0 88px;
  background: #101c3e;
}
.rvm-pdf-section-heading {
  margin-bottom: 42px;
}
.rvm-pdf-section-heading span {
  display: block;
  margin-bottom: 9px;
  color: #73bf74;
  font-family: var(--tg-ff-heading);
  font-size: 17px;
  font-weight: 700;
  text-transform: uppercase;
}
.rvm-pdf-section-heading h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(34px, 3.4vw, 52px);
}
.rvm-goals-grid {
  overflow: hidden;
}
.rvm-goals-grid article {
  height: auto;
  min-height: 230px;
  padding: 26px 20px;
  color: #fff;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 10px;
}
.rvm-goals-grid img {
  display: block;
  width: 54px;
  height: 54px;
  margin-bottom: 22px;
  object-fit: contain;
}
.rvm-goals-grid h3 {
  margin: 0 0 10px;
  color: inherit;
  font-size: 17px;
  line-height: 1.2;
}
.rvm-goals-grid p {
  margin: 0;
  color: #cfd7ea;
  font-size: 14px;
  line-height: 1.45;
}
.rvm-pdf-impact {
  padding: 86px 0;
  background: #f8f8f1;
}
.rvm-impact-panel {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(320px, .8fr);
  align-items: center;
  overflow: hidden;
  background: #fff;
  border: 1px solid #e0e5ec;
}
.rvm-impact-copy {
  padding: 56px 64px;
}
.rvm-impact-copy > span {
  color: #17264f;
  font-family: var(--tg-ff-heading);
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
}
.rvm-impact-copy h2 {
  margin: 10px 0 22px;
  color: #17264f;
  font-size: clamp(46px, 5vw, 76px);
  line-height: .98;
}
.rvm-impact-copy h2 strong {
  color: #36933f;
}
.rvm-impact-copy p {
  max-width: 580px;
  color: #40464c;
  font-size: 18px;
  line-height: 1.55;
}
.rvm-impact-points {
  display: flex;
  flex-wrap: wrap;
  gap: 26px;
  margin-top: 32px;
}
.rvm-impact-points div {
  display: grid;
  grid-template-columns: 38px auto;
  align-items: center;
  column-gap: 10px;
}
.rvm-impact-points i {
  grid-row: span 2;
  color: #36933f;
  font-size: 28px;
}
.rvm-impact-points strong,
.rvm-impact-points small {
  display: block;
  line-height: 1.15;
}
.rvm-impact-points strong { color: #17264f; }
.rvm-impact-machine {
  align-self: stretch;
  background: #f0f2f6;
}
.rvm-impact-machine img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 991px) {
  .rvm-pdf-hero-grid { grid-template-columns: 1fr; }
  .rvm-pdf-title-panel { min-height: 310px; }
  .rvm-pdf-product-intro {
    min-height: 430px;
    padding-right: 7vw;
  }
  .rvm-impact-panel { grid-template-columns: 1fr; }
  .rvm-impact-machine { max-height: 600px; }
}
@media (max-width: 767px) {
  .rvm-pdf-hero { padding: 0; }
  .rvm-pdf-title-panel { min-height: 260px; padding: 38px 28px; }
  .rvm-pdf-product-intro {
    min-height: auto;
    align-items: center;
    padding: 34px 28px;
  }
  .rvm-pdf-product-intro p { text-align: center; }
  .rvm-pdf-recycle-shape { align-self: flex-end; }
  .rvm-pdf-machine-thumb { height: auto; }
  .rvm-pdf-key-features { padding: 0 8px 35px; }
  .rvm-pdf-feature-lines { grid-template-columns: 1fr; }
  .rvm-pdf-overview-copy { padding: 35px 24px; }
  .rvm-pdf-overview-copy p { font-size: 17px; text-align: left; }
  .rvm-pdf-detail-copy { padding: 36px 8px 0; }
  .rvm-impact-copy { padding: 42px 28px; }
}
@media (max-width: 480px) {
  .rvm-goals-grid article { min-height: auto; }
  .rvm-impact-points { flex-direction: column; }
}

/*=============================
    Bottle shredder features
===============================*/
.shredder-features-area {
  padding: 92px 0 105px;
  background:
    radial-gradient(circle at 10% 10%, rgba(43, 91, 196, 0.08), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f6f8ff 100%);
}

.shredder-features-title {
  max-width: 790px;
  margin: 0 auto 48px;
}

.shredder-features-title .tg-section-title {
  color: #102044;
  font-size: 44px;
  line-height: 1.15;
  margin: 0;
}

.shredder-feature-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

.shredder-feature-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  min-height: 250px;
  height: 100%;
  padding: 26px 24px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(25, 65, 160, 0.24);
  border-radius: 18px;
  box-shadow: 0 18px 42px rgba(24, 47, 94, 0.08);
  overflow: hidden;
}

.shredder-feature-card::before {
  content: "";
  position: absolute;
  left: 78px;
  right: 24px;
  top: 64px;
  height: 1px;
  background: #1d3f9f;
  opacity: 0.22;
}

.shredder-feature-card::after {
  content: "";
  position: absolute;
  right: -42px;
  bottom: -52px;
  width: 126px;
  height: 126px;
  background: rgba(29, 63, 159, 0.07);
  border-radius: 50%;
}

.shredder-feature-icon {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 76px;
  height: 76px;
  color: #173890;
  background: #ffffff;
  border: 2px solid #1d3f9f;
  border-radius: 50%;
  box-shadow: 0 10px 24px rgba(24, 47, 94, 0.12);
}

.shredder-feature-icon svg {
  width: 46px;
  height: 46px;
}

.shredder-feature-card div {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.shredder-feature-card h3 {
  color: #102c83;
  font-family: var(--tg-ff-body);
  font-size: 20px;
  font-weight: 900;
  text-transform: uppercase;
  line-height: 1.1;
  letter-spacing: 0;
  margin: 0 0 8px;
}

.shredder-feature-card p {
  color: #1f2634;
  font-size: 15px;
  line-height: 1.42;
  font-weight: 600;
  margin: 0;
}

.shredder-info-grid {
  display: grid;
  grid-template-columns: minmax(280px, 0.95fr) repeat(2, minmax(280px, 1fr));
  gap: 26px;
  align-items: start;
  margin-top: 58px;
}

.shredder-info-panel {
  overflow: hidden;
  height: 100%;
  background: #ffffff;
  border: 2px solid currentColor;
  border-radius: 16px;
  box-shadow: 0 18px 42px rgba(24, 47, 94, 0.08);
}

.shredder-info-panel.blue {
  color: #0b2977;
}

.shredder-info-panel.green {
  color: #0f6f22;
}

.shredder-info-panel h3 {
  color: #ffffff;
  font-family: var(--tg-ff-body);
  font-size: 22px;
  line-height: 1.1;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0;
  margin: 0;
  padding: 14px 24px;
}

.shredder-info-panel.blue h3 {
  background: #0b2977;
}

.shredder-info-panel.green h3 {
  background: #0f6f22;
}

.shredder-info-panel h3::first-line {
  color: #ffffff;
}

.shredder-info-panel ul {
  list-style: none;
  margin: 0;
  padding: 22px 22px 24px;
}

.shredder-info-panel li {
  display: flex;
  align-items: center;
  gap: 15px;
  min-height: 42px;
  color: #1f2634;
  font-size: 16px;
  line-height: 1.3;
  font-weight: 800;
}

.shredder-info-panel li:not(:last-child) {
  margin-bottom: 12px;
}

.shredder-info-panel li span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  color: currentColor;
  background: #ffffff;
  border: 1px solid rgba(15, 111, 34, 0.32);
  border-radius: 50%;
  box-shadow: 0 6px 16px rgba(24, 47, 94, 0.08);
}

.shredder-info-panel.blue li span {
  border-color: rgba(11, 41, 119, 0.32);
}

.shredder-info-panel li svg {
  width: 24px;
  height: 24px;
}

@media (max-width: 991px) {
  .shredder-features-area {
    padding: 78px 0 86px;
  }
  .shredder-features-title .tg-section-title {
    font-size: 36px;
  }
  .shredder-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .shredder-info-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575px) {
  .shredder-features-area {
    padding: 64px 0 72px;
  }
  .shredder-features-title .tg-section-title {
    font-size: 29px;
  }
  .shredder-feature-card {
    gap: 16px;
    min-height: auto;
    padding: 22px 20px;
  }
  .shredder-feature-grid {
    grid-template-columns: 1fr;
  }
  .shredder-feature-card::before {
    left: 72px;
    right: 20px;
    top: 43px;
  }
  .shredder-feature-icon {
    width: 60px;
    height: 60px;
  }
  .shredder-feature-icon svg {
    width: 36px;
    height: 36px;
  }
  .shredder-feature-card h3 {
    font-size: 17px;
  }
  .shredder-feature-card p {
    font-size: 14px;
  }
  .shredder-info-grid {
    gap: 20px;
    margin-top: 42px;
  }
  .shredder-info-panel h3 {
    font-size: 19px;
    padding: 13px 18px;
  }
  .shredder-info-panel ul {
    padding: 18px 16px 20px;
  }
  .shredder-info-panel li {
    gap: 12px;
    font-size: 14px;
  }
  .shredder-info-panel li span {
    width: 34px;
    height: 34px;
  }
  .shredder-info-panel li svg {
    width: 21px;
    height: 21px;
  }
}

/* Bottle shredder feature panels follow the RVM Pro presentation. */
.shredder-product-page .shredder-features-area {
  padding: 96px 0 104px;
  background: #f7f9ff;
}
.shredder-product-page .shredder-feature-grid {
  position: relative;
  overflow: hidden;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px 42px;
  padding: 30px 38px 32px;
  color: #1c63d8;
  background: rgba(255,255,255,.82);
  border: 2px solid currentColor;
  border-radius: 18px;
  box-shadow: 0 18px 48px rgba(24,47,94,.08);
}
.shredder-product-page .shredder-feature-grid::before {
  content: "";
  position: absolute;
  top: -70px;
  right: -70px;
  width: 180px;
  height: 180px;
  background: currentColor;
  border-radius: 50%;
  opacity: .08;
}
.shredder-product-page .shredder-feature-card {
  flex-direction: row;
  align-items: flex-start;
  gap: 14px;
  min-height: auto;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}
.shredder-product-page .shredder-feature-card::before,
.shredder-product-page .shredder-feature-card::after {
  display: none;
}
.shredder-product-page .shredder-feature-icon {
  width: 52px;
  height: 52px;
  color: #fff;
  background: #1c63d8;
  border: 5px solid #fff;
  box-shadow: 0 8px 20px rgba(24,47,94,.18);
}
.shredder-product-page .shredder-feature-icon svg {
  width: 27px;
  height: 27px;
}
.shredder-product-page .shredder-feature-card h3 {
  margin: 0 0 4px;
  color: #1c63d8;
  font-size: 18px;
  line-height: 1.2;
  text-transform: none;
}
.shredder-product-page .shredder-feature-card p {
  color: #353b49;
  font-size: 15px;
  line-height: 1.45;
  font-weight: 500;
}
.shredder-product-page .shredder-info-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 34px;
  align-items: stretch;
  margin-top: 34px;
}
.shredder-product-page .shredder-info-panel {
  padding: 30px 38px 32px;
  background: rgba(255,255,255,.82);
  border: 2px solid currentColor;
  border-radius: 18px;
  box-shadow: 0 18px 48px rgba(24,47,94,.08);
}
.shredder-product-page .shredder-info-panel:nth-child(1) { color: #9b2bc8; }
.shredder-product-page .shredder-info-panel:nth-child(2) { color: #f08112; }
.shredder-product-page .shredder-info-panel:nth-child(3) {
  grid-column: 1 / -1;
  color: #4a9f26;
}
.shredder-product-page .shredder-info-panel h3,
.shredder-product-page .shredder-info-panel.blue h3,
.shredder-product-page .shredder-info-panel.green h3 {
  margin: 0 0 24px;
  padding: 0 0 14px;
  color: currentColor;
  font-size: 28px;
  background: transparent;
  border-bottom: 1px solid currentColor;
}
.shredder-product-page .shredder-info-panel ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 34px;
  padding: 0;
}
.shredder-product-page .shredder-info-panel li,
.shredder-product-page .shredder-info-panel li:not(:last-child) {
  margin: 0;
}
.shredder-product-page .shredder-info-panel li span {
  color: #fff;
  background: currentColor;
  border: 4px solid #fff;
}
@media (max-width: 991px) {
  .shredder-product-page .shredder-feature-grid,
  .shredder-product-page .shredder-info-grid {
    grid-template-columns: 1fr;
  }
  .shredder-product-page .shredder-info-panel:nth-child(3) {
    grid-column: auto;
  }
}
@media (max-width: 575px) {
  .shredder-product-page .shredder-feature-grid,
  .shredder-product-page .shredder-info-panel {
    padding: 24px 20px;
  }
  .shredder-product-page .shredder-info-panel ul {
    grid-template-columns: 1fr;
  }
  .shredder-product-page .shredder-info-panel h3,
  .shredder-product-page .shredder-info-panel.blue h3,
  .shredder-product-page .shredder-info-panel.green h3 {
    font-size: 22px;
  }
}

/*=============================
    Bottle crusher features
===============================*/
.crusher-features-area {
  padding: 92px 0 105px;
  background:
    radial-gradient(circle at 90% 8%, rgba(27, 121, 42, 0.08), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f4fbf5 100%);
}

.crusher-features-title {
  max-width: 790px;
  margin: 0 auto 48px;
}

.crusher-features-title .tg-section-title {
  color: #102044;
  font-size: 44px;
  line-height: 1.15;
  margin: 0;
}

.crusher-feature-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

.crusher-feature-card {
  position: relative;
  min-height: 245px;
  height: 100%;
  padding: 26px 24px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(25, 116, 39, 0.24);
  border-radius: 18px;
  box-shadow: 0 18px 42px rgba(20, 72, 34, 0.08);
  overflow: hidden;
}

.crusher-feature-card::before {
  content: "";
  position: absolute;
  top: 54px;
  left: 88px;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, rgba(27, 121, 42, 0.35), rgba(27, 121, 42, 0));
}

.crusher-feature-card::after {
  content: "";
  position: absolute;
  right: -52px;
  bottom: -58px;
  width: 140px;
  height: 140px;
  background: rgba(27, 121, 42, 0.07);
  border-radius: 50%;
}

.crusher-feature-icon {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 66px;
  height: 66px;
  color: #197427;
  background: #ffffff;
  border: 2px solid #197427;
  border-radius: 50%;
  box-shadow: 0 10px 24px rgba(20, 72, 34, 0.12);
  margin-bottom: 18px;
}

.crusher-feature-icon svg {
  width: 39px;
  height: 39px;
}

.crusher-feature-card h3,
.crusher-feature-card p {
  position: relative;
  z-index: 1;
}

.crusher-feature-card h3 {
  color: #176d26;
  font-family: var(--tg-ff-body);
  font-size: 20px;
  font-weight: 900;
  text-transform: uppercase;
  line-height: 1.16;
  letter-spacing: 0;
  margin: 0 0 10px;
}

.crusher-feature-card p {
  color: #1f2634;
  font-size: 15px;
  line-height: 1.44;
  font-weight: 600;
  margin: 0;
}

.crusher-info-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
  margin-top: 58px;
}

.crusher-info-panel {
  overflow: hidden;
  background: #ffffff;
  border: 2px solid rgba(15, 111, 34, 0.45);
  border-radius: 16px;
  box-shadow: 0 18px 42px rgba(20, 72, 34, 0.08);
}

.crusher-info-wide {
  grid-column: 1 / -1;
}

.crusher-info-panel h3 {
  color: #ffffff;
  font-family: var(--tg-ff-body);
  font-size: 22px;
  line-height: 1.1;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0;
  text-align: center;
  margin: 0;
  padding: 15px 22px;
  background: #0f6f22;
}

.crusher-info-panel ul {
  list-style: none;
  margin: 0;
  padding: 30px 34px 34px;
}

.crusher-info-panel li {
  display: flex;
  align-items: center;
  gap: 18px;
  min-height: 50px;
  color: #1f2634;
  font-size: 17px;
  line-height: 1.35;
  font-weight: 800;
}

.crusher-info-panel li:not(:last-child) {
  margin-bottom: 18px;
}

.crusher-info-panel li span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  color: #197427;
  background: #ffffff;
  border: 1px solid rgba(25, 116, 39, 0.28);
  border-radius: 50%;
  box-shadow: 0 8px 18px rgba(20, 72, 34, 0.08);
}

.crusher-info-panel li svg {
  width: 29px;
  height: 29px;
}

.crusher-location-list li span {
  width: 34px;
  height: 34px;
  border: 0;
  box-shadow: none;
}

.crusher-location-list li svg {
  width: 29px;
  height: 29px;
}

.crusher-environment-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 54px;
}

@media (max-width: 1199px) {
  .crusher-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991px) {
  .crusher-features-area {
    padding: 78px 0 86px;
  }
  .crusher-features-title .tg-section-title {
    font-size: 36px;
  }
  .crusher-info-layout,
  .crusher-environment-list {
    grid-template-columns: 1fr;
  }
  .crusher-info-wide {
    grid-column: auto;
  }
}

@media (max-width: 575px) {
  .crusher-features-area {
    padding: 64px 0 72px;
  }
  .crusher-features-title .tg-section-title {
    font-size: 29px;
  }
  .crusher-feature-grid {
    grid-template-columns: 1fr;
  }
  .crusher-feature-card {
    min-height: auto;
    padding: 24px 22px;
  }
  .crusher-feature-icon {
    width: 58px;
    height: 58px;
  }
  .crusher-feature-icon svg {
    width: 34px;
    height: 34px;
  }
  .crusher-feature-card::before {
    left: 78px;
    top: 52px;
  }
  .crusher-feature-card h3 {
    font-size: 17px;
  }
  .crusher-feature-card p {
    font-size: 14px;
  }
  .crusher-info-layout {
    gap: 20px;
    margin-top: 42px;
  }
  .crusher-info-panel h3 {
    font-size: 19px;
    padding: 13px 18px;
  }
  .crusher-info-panel ul {
    padding: 22px 18px 24px;
  }
  .crusher-info-panel li {
    gap: 13px;
    min-height: 42px;
    font-size: 14px;
  }
  .crusher-info-panel li:not(:last-child) {
    margin-bottom: 13px;
  }
  .crusher-info-panel li span {
    width: 38px;
    height: 38px;
  }
  .crusher-location-list li span {
    width: 30px;
    height: 30px;
  }
  .crusher-info-panel li svg,
  .crusher-location-list li svg {
    width: 24px;
    height: 24px;
  }
}

/*=============================
    Food waste composting features
===============================*/
.compost-features-area {
  padding: 92px 0 105px;
  background:
    radial-gradient(circle at 8% 8%, rgba(18, 122, 43, 0.08), transparent 30%),
    radial-gradient(circle at 92% 42%, rgba(105, 170, 42, 0.08), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f3fbf0 100%);
}

.compost-features-title {
  max-width: 790px;
  margin: 0 auto 48px;
}

.compost-features-title .tg-section-title {
  color: #102044;
  font-size: 44px;
  line-height: 1.15;
  margin: 0;
}

.compost-main-grid,
.compost-bottom-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
  gap: 28px;
  align-items: stretch;
}

.compost-bottom-grid {
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.75fr);
  margin-top: 28px;
}

.compost-panel {
  position: relative;
  height: 100%;
  padding: 34px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(22, 113, 34, 0.28);
  border-radius: 20px;
  box-shadow: 0 18px 42px rgba(20, 72, 34, 0.08);
  overflow: hidden;
}

.compost-panel::before {
  content: "";
  position: absolute;
  right: -70px;
  top: -70px;
  width: 180px;
  height: 180px;
  background: rgba(18, 116, 35, 0.08);
  border-radius: 50%;
}

.compost-panel > * {
  position: relative;
  z-index: 1;
}

.compost-panel h3 {
  display: inline-block;
  min-width: 210px;
  color: #ffffff;
  font-family: var(--tg-ff-body);
  font-size: 24px;
  line-height: 1.1;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0;
  text-align: center;
  margin: 0 0 28px;
  padding: 12px 28px;
  background: linear-gradient(135deg, #075f18, #137a2b);
  border-radius: 0 0 14px 0;
  transform: skewX(-8deg);
}

.compost-panel h3::first-line {
  color: #ffffff;
}

.compost-panel h3 {
  transform-origin: left center;
}

.compost-feature-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.compost-feature-item {
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 128px;
  padding: 20px;
  background: #ffffff;
  border: 1px solid rgba(126, 176, 84, 0.45);
  border-radius: 16px;
}

.compost-feature-item span,
.compost-ideal-list span,
.compost-commercial-list span,
.compost-tech-list span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  color: #0d6f25;
  background: #ffffff;
  border-radius: 50%;
}

.compost-feature-item span {
  width: 72px;
  height: 72px;
  border-right: 1px solid rgba(22, 113, 34, 0.28);
  border-radius: 0;
}

.compost-feature-item svg {
  width: 52px;
  height: 52px;
}

.compost-feature-item h4,
.compost-commercial-list h4 {
  color: #163d24;
  font-family: var(--tg-ff-body);
  font-size: 18px;
  line-height: 1.15;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0;
  margin: 0 0 5px;
}

.compost-feature-item p,
.compost-commercial-list p {
  color: #253046;
  font-size: 15px;
  line-height: 1.32;
  font-weight: 600;
  margin: 0;
}

.compost-ideal-list {
  display: grid;
  gap: 14px;
}

.compost-ideal-list div {
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 58px;
  color: #17244a;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 900;
  text-transform: uppercase;
  padding: 8px 18px 8px 8px;
  background: #ffffff;
  border: 1px solid rgba(126, 176, 84, 0.45);
  border-radius: 999px;
}

.compost-ideal-list span {
  width: 54px;
  height: 54px;
  color: #ffffff;
  background: linear-gradient(135deg, #0d6f25, #36a746);
  box-shadow: 0 8px 18px rgba(20, 72, 34, 0.15);
}

.compost-ideal-list svg {
  width: 32px;
  height: 32px;
}

.compost-commercial-list,
.compost-tech-list {
  display: grid;
  gap: 18px;
}

.compost-commercial-list {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.compost-commercial-list div {
  text-align: center;
  padding: 0 16px;
}

.compost-commercial-list div:not(:last-child) {
  border-right: 1px solid rgba(22, 113, 34, 0.22);
}

.compost-commercial-list span {
  width: 58px;
  height: 58px;
  margin: 0 auto 12px;
}

.compost-commercial-list svg {
  width: 42px;
  height: 42px;
}

.compost-commercial-list h4 {
  font-size: 14px;
}

.compost-commercial-list p {
  font-size: 13px;
}

.compost-tech-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.compost-tech-list div {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #17244a;
  font-size: 14px;
  line-height: 1.25;
  font-weight: 800;
}

.compost-tech-list span {
  width: 44px;
  height: 44px;
}

.compost-tech-list svg {
  width: 31px;
  height: 31px;
}

@media (max-width: 1199px) {
  .compost-main-grid,
  .compost-bottom-grid {
    grid-template-columns: 1fr;
  }
  .compost-commercial-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .compost-commercial-list div:nth-child(3) {
    border-right: 0;
  }
}

@media (max-width: 991px) {
  .compost-features-area {
    padding: 78px 0 86px;
  }
  .compost-features-title .tg-section-title {
    font-size: 36px;
  }
  .compost-feature-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575px) {
  .compost-features-area {
    padding: 64px 0 72px;
  }
  .compost-features-title .tg-section-title {
    font-size: 29px;
  }
  .compost-panel {
    padding: 24px 18px;
  }
  .compost-panel h3 {
    min-width: auto;
    font-size: 19px;
    margin-bottom: 22px;
    padding: 11px 20px;
  }
  .compost-feature-item {
    gap: 13px;
    min-height: auto;
    padding: 16px;
  }
  .compost-feature-item span {
    width: 56px;
    height: 56px;
  }
  .compost-feature-item svg {
    width: 40px;
    height: 40px;
  }
  .compost-feature-item h4 {
    font-size: 16px;
  }
  .compost-feature-item p {
    font-size: 14px;
  }
  .compost-ideal-list div {
    font-size: 13px;
  }
  .compost-commercial-list,
  .compost-tech-list {
    grid-template-columns: 1fr;
  }
  .compost-commercial-list div,
  .compost-commercial-list div:not(:last-child),
  .compost-commercial-list div:nth-child(3) {
    border-right: 0;
  }
  .compost-tech-list div {
    font-size: 13px;
  }
}

/*=============================
    Sanitary vending features
===============================*/
.sanitary-features-area {
  padding: 92px 0 105px;
  background:
    radial-gradient(circle at 8% 8%, rgba(228, 38, 116, 0.08), transparent 30%),
    radial-gradient(circle at 90% 36%, rgba(228, 38, 116, 0.06), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #fff5f9 100%);
}

.sanitary-features-title {
  max-width: 790px;
  margin: 0 auto 48px;
}

.sanitary-features-title .tg-section-title {
  color: #102044;
  font-size: 44px;
  line-height: 1.15;
  margin: 0;
}

.sanitary-top-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 0.52fr) minmax(300px, 0.82fr);
  gap: 28px;
  align-items: stretch;
}

.sanitary-panel,
.sanitary-impact-card,
.sanitary-capacity-card {
  position: relative;
  height: 100%;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(228, 38, 116, 0.22);
  border-radius: 20px;
  box-shadow: 0 18px 42px rgba(128, 24, 70, 0.08);
  overflow: hidden;
}

.sanitary-panel {
  padding: 34px;
}

.sanitary-panel::before,
.sanitary-impact-card::before,
.sanitary-capacity-card::before {
  content: "";
  position: absolute;
  right: -62px;
  top: -62px;
  width: 150px;
  height: 150px;
  background: rgba(228, 38, 116, 0.06);
  border-radius: 50%;
}

.sanitary-panel > *,
.sanitary-impact-card > *,
.sanitary-capacity-card > * {
  position: relative;
  z-index: 1;
}

.sanitary-panel h3 {
  display: flex;
  align-items: center;
  gap: 18px;
  color: #e42674;
  font-family: var(--tg-ff-body);
  font-size: 28px;
  line-height: 1.1;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0;
  margin: 0 0 26px;
}

.sanitary-panel h3 span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 66px;
  height: 66px;
  color: #ffffff;
  background: linear-gradient(135deg, #df1f6e, #f04f91);
  border: 5px solid #fff5f9;
  border-radius: 50%;
  box-shadow: 0 10px 22px rgba(128, 24, 70, 0.15);
}

.sanitary-panel h3 svg {
  width: 34px;
  height: 34px;
}

.sanitary-panel ul,
.sanitary-impact-card ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sanitary-panel li,
.sanitary-impact-card li {
  display: flex;
  align-items: center;
  gap: 16px;
  color: #26314d;
  font-size: 16px;
  line-height: 1.34;
  font-weight: 800;
}

.sanitary-panel li:not(:last-child) {
  margin-bottom: 17px;
}

.sanitary-panel li span,
.sanitary-impact-card li span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  color: #f03f83;
}

.sanitary-panel li span {
  width: 30px;
  height: 30px;
}

.sanitary-panel li svg {
  width: 24px;
  height: 24px;
}

.sanitary-capacity-card {
  padding: 28px 20px;
  text-align: center;
}

.sanitary-capacity-card h3 {
  color: #e42674;
  font-family: var(--tg-ff-body);
  font-size: 20px;
  line-height: 1.2;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0;
  margin: 0 0 16px;
}

.sanitary-capacity-card p {
  color: #26314d;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 800;
  margin: 0;
}

.sanitary-capacity-options {
  display: grid;
  gap: 13px;
  margin: 18px 0;
  padding: 18px 0;
  border-top: 1px solid rgba(228, 38, 116, 0.22);
  border-bottom: 1px solid rgba(228, 38, 116, 0.22);
}

.sanitary-capacity-options span {
  display: block;
  color: #e42674;
  font-size: 15px;
  line-height: 1.1;
  font-weight: 900;
  text-transform: uppercase;
  padding: 13px 12px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 244, 249, 0.96));
  border: 2px solid rgba(240, 63, 131, 0.34);
  border-radius: 10px;
}

.sanitary-capacity-options strong {
  display: block;
  font-size: 30px;
  line-height: 1;
  margin-bottom: 6px;
}

.sanitary-impact-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  margin-top: 30px;
}

.sanitary-impact-card {
  padding: 28px 24px;
}

.sanitary-impact-card h3 {
  color: #e42674;
  font-family: var(--tg-ff-body);
  font-size: 20px;
  line-height: 1.15;
  font-weight: 900;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0;
  margin: 0 0 24px;
}

.sanitary-impact-card li {
  align-items: flex-start;
  gap: 13px;
  font-size: 14px;
}

.sanitary-impact-card li:not(:last-child) {
  margin-bottom: 20px;
}

.sanitary-impact-card li span {
  width: 30px;
  height: 30px;
  margin-top: -4px;
}

.sanitary-impact-card li svg {
  width: 24px;
  height: 24px;
}

@media (max-width: 1199px) {
  .sanitary-impact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991px) {
  .sanitary-features-area {
    padding: 78px 0 86px;
  }
  .sanitary-features-title .tg-section-title {
    font-size: 36px;
  }
  .sanitary-top-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575px) {
  .sanitary-features-area {
    padding: 64px 0 72px;
  }
  .sanitary-features-title .tg-section-title {
    font-size: 29px;
  }
  .sanitary-panel,
  .sanitary-impact-card,
  .sanitary-capacity-card {
    padding: 24px 18px;
  }
  .sanitary-panel h3 {
    gap: 14px;
    font-size: 22px;
  }
  .sanitary-panel h3 span {
    width: 54px;
    height: 54px;
  }
  .sanitary-panel h3 svg {
    width: 28px;
    height: 28px;
  }
  .sanitary-panel li {
    gap: 12px;
    font-size: 14px;
  }
  .sanitary-impact-grid {
    grid-template-columns: 1fr;
  }
  .sanitary-impact-card h3 {
    font-size: 18px;
  }
}

/*=============================
    Cloth bag vending features
===============================*/
.cloth-features-area {
  padding: 92px 0 105px;
  background:
    radial-gradient(circle at 8% 8%, rgba(10, 50, 142, 0.08), transparent 30%),
    radial-gradient(circle at 92% 42%, rgba(19, 128, 45, 0.08), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f5f9ff 100%);
}

.cloth-features-title {
  max-width: 790px;
  margin: 0 auto 48px;
}

.cloth-features-title .tg-section-title {
  color: #102044;
  font-size: 44px;
  line-height: 1.15;
  margin: 0;
}

.cloth-top-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(300px, 0.95fr);
  gap: 30px;
  align-items: stretch;
}

.cloth-panel,
.cloth-wide-panel {
  position: relative;
  padding: 34px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(10, 50, 142, 0.18);
  border-radius: 20px;
  box-shadow: 0 18px 42px rgba(16, 35, 85, 0.08);
  overflow: hidden;
}

.cloth-panel::before,
.cloth-wide-panel::before {
  content: "";
  position: absolute;
  right: -68px;
  top: -68px;
  width: 170px;
  height: 170px;
  background: rgba(10, 50, 142, 0.06);
  border-radius: 50%;
}

.cloth-panel > *,
.cloth-wide-panel > * {
  position: relative;
  z-index: 1;
}

.cloth-panel h3,
.cloth-wide-panel h3 {
  display: table;
  min-width: 250px;
  color: #ffffff;
  font-family: var(--tg-ff-body);
  font-size: 24px;
  line-height: 1.1;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0;
  text-align: center;
  margin: 0 auto 28px;
  padding: 12px 30px;
  background: #0c3496;
  border-radius: 8px;
}

.cloth-feature-list,
.cloth-location-list {
  display: grid;
  gap: 14px;
}

.cloth-list-card,
.cloth-location-list > div {
  display: flex;
  align-items: center;
  gap: 18px;
  min-height: 96px;
  padding: 14px 20px;
  background: #ffffff;
  border: 1px solid rgba(10, 50, 142, 0.18);
  border-radius: 16px;
}

.cloth-list-card span,
.cloth-location-list span,
.cloth-wide-list span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  color: #ffffff;
  border-radius: 50%;
  box-shadow: 0 10px 22px rgba(16, 35, 85, 0.14);
}

.cloth-list-card span {
  width: 70px;
  height: 70px;
}

.cloth-list-card svg {
  width: 42px;
  height: 42px;
}

.cloth-list-card.green span,
.cloth-location-list .green span {
  background: linear-gradient(135deg, #158437, #41b84b);
}

.cloth-list-card.blue span,
.cloth-location-list .blue span {
  background: linear-gradient(135deg, #0c3496, #285fd4);
}

.cloth-list-card.yellow span,
.cloth-location-list .yellow span {
  background: linear-gradient(135deg, #f2a100, #ffc93a);
}

.cloth-list-card.pink span,
.cloth-location-list .pink span {
  background: linear-gradient(135deg, #d72876, #f05a9a);
}

.cloth-list-card.teal span,
.cloth-location-list .teal span {
  background: linear-gradient(135deg, #08758c, #20a6bd);
}

.cloth-location-list .purple span {
  background: linear-gradient(135deg, #5030a5, #7d5bdb);
}

.cloth-location-list .orange span {
  background: linear-gradient(135deg, #f2671f, #ff9d2f);
}

.cloth-list-card h4,
.cloth-location-list h4,
.cloth-wide-list h4 {
  color: #0c3496;
  font-family: var(--tg-ff-body);
  font-size: 17px;
  line-height: 1.15;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0;
  margin: 0 0 5px;
}

.cloth-list-card.green h4,
.cloth-location-list .green h4 {
  color: #158437;
}

.cloth-list-card.yellow h4,
.cloth-location-list .yellow h4,
.cloth-location-list .orange h4 {
  color: #f2671f;
}

.cloth-list-card.pink h4,
.cloth-location-list .pink h4 {
  color: #d72876;
}

.cloth-list-card.teal h4,
.cloth-location-list .teal h4 {
  color: #08758c;
}

.cloth-location-list .purple h4 {
  color: #5030a5;
}

.cloth-list-card p,
.cloth-location-list p,
.cloth-wide-list p {
  color: #17244a;
  font-size: 14px;
  line-height: 1.34;
  font-weight: 700;
  margin: 0;
}

.cloth-location-list > div {
  min-height: 78px;
  border-radius: 999px;
}

.cloth-location-list span {
  width: 58px;
  height: 58px;
}

.cloth-location-list svg {
  width: 34px;
  height: 34px;
}

.cloth-wide-grid {
  display: grid;
  gap: 30px;
  margin-top: 32px;
}

.cloth-wide-panel.smart h3,
.cloth-wide-panel.sustainability h3 {
  background: #158437;
}

.cloth-wide-list {
  display: grid;
  gap: 20px;
}

.cloth-wide-list.four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cloth-wide-list > div {
  text-align: center;
  padding: 0 18px;
}

.cloth-wide-list > div:not(:last-child) {
  border-right: 1px solid rgba(10, 50, 142, 0.16);
}

.cloth-wide-list span {
  width: 66px;
  height: 66px;
  color: #0c3496;
  background: #ffffff;
  box-shadow: none;
  margin: 0 auto 14px;
}

.cloth-wide-panel.smart span,
.cloth-wide-panel.sustainability span {
  color: #158437;
}

.cloth-wide-panel.commercial span {
  color: #0c3496;
}

.cloth-wide-list svg {
  width: 46px;
  height: 46px;
}

.cloth-wide-list h4 {
  font-size: 15px;
  margin-bottom: 8px;
}

.cloth-wide-list p {
  font-size: 13px;
}

@media (max-width: 1199px) {
  .cloth-wide-list.four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .cloth-wide-list > div:nth-child(2) {
    border-right: 0;
  }
}

@media (max-width: 991px) {
  .cloth-features-area {
    padding: 78px 0 86px;
  }
  .cloth-features-title .tg-section-title {
    font-size: 36px;
  }
  .cloth-top-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575px) {
  .cloth-features-area {
    padding: 64px 0 72px;
  }
  .cloth-features-title .tg-section-title {
    font-size: 29px;
  }
  .cloth-panel,
  .cloth-wide-panel {
    padding: 24px 18px;
  }
  .cloth-panel h3,
  .cloth-wide-panel h3 {
    min-width: auto;
    font-size: 19px;
    padding: 11px 22px;
  }
  .cloth-list-card {
    gap: 14px;
    min-height: auto;
    padding: 14px;
  }
  .cloth-list-card span {
    width: 58px;
    height: 58px;
  }
  .cloth-list-card svg {
    width: 34px;
    height: 34px;
  }
  .cloth-list-card h4,
  .cloth-location-list h4 {
    font-size: 15px;
  }
  .cloth-wide-list.four {
    grid-template-columns: 1fr;
  }
  .cloth-wide-list > div,
  .cloth-wide-list > div:not(:last-child),
  .cloth-wide-list > div:nth-child(2) {
    border-right: 0;
  }
}

/*=============================
    Cloth bag FAQ
===============================*/
.cloth-faq-area {
  padding: 92px 0 105px;
  background:
    radial-gradient(circle at 8% 12%, rgba(10, 50, 142, 0.08), transparent 30%),
    radial-gradient(circle at 90% 22%, rgba(21, 132, 55, 0.08), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f5f9ff 100%);
}

.cloth-faq-title {
  max-width: 820px;
  margin: 0 auto 48px;
}

.cloth-faq-title .tg-section-title {
  color: #102044;
  font-size: 44px;
  line-height: 1.15;
  margin: 0;
}

.cloth-faq-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 24px;
  align-items: start;
}

.cloth-faq-item {
  position: relative;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(10, 50, 142, 0.16);
  border-radius: 16px;
  box-shadow: 0 14px 34px rgba(16, 35, 85, 0.07);
  overflow: hidden;
}

.cloth-faq-item summary {
  position: relative;
  display: block;
  color: #102044;
  font-family: var(--tg-ff-body);
  font-size: 18px;
  line-height: 1.25;
  font-weight: 900;
  letter-spacing: 0;
  cursor: pointer;
  padding: 22px 58px 22px 24px;
  list-style: none;
}

.cloth-faq-item summary::-webkit-details-marker {
  display: none;
}

.cloth-faq-item summary::after {
  content: "+";
  position: absolute;
  right: 22px;
  top: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  color: #ffffff;
  font-size: 22px;
  line-height: 1;
  font-weight: 700;
  background: linear-gradient(135deg, #0c3496, #158437);
  border-radius: 50%;
  transform: translateY(-50%);
}

.cloth-faq-item[open] summary::after {
  content: "-";
}

.cloth-faq-item p {
  color: #303647;
  font-size: 15px;
  line-height: 1.58;
  font-weight: 500;
  margin: 0;
  padding: 0 24px 24px;
}

.cloth-faq-item[open] {
  border-color: rgba(21, 132, 55, 0.32);
}

@media (max-width: 991px) {
  .cloth-faq-area {
    padding: 78px 0 86px;
  }
  .cloth-faq-title .tg-section-title {
    font-size: 36px;
  }
  .cloth-faq-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575px) {
  .cloth-faq-area {
    padding: 64px 0 72px;
  }
  .cloth-faq-title .tg-section-title {
    font-size: 29px;
  }
  .cloth-faq-item summary {
    font-size: 16px;
    padding: 20px 54px 20px 18px;
  }
  .cloth-faq-item p {
    font-size: 14px;
    padding: 0 18px 20px;
  }
}

/*=============================
    19. shop
===============================*/
.tg-shop-top-result p {
  font-weight: 500;
  font-size: 18px;
  color: var(--tg-common-black);
}
.tg-shop-top-select .nice-select {
  font-size: 14px;
  height: 40px;
  line-height: 38px;
  padding: 0 25px;
  min-width: 204px;
  text-transform: capitalize;
  float: none;
  background: #f9f9f9;
  color: var(--tg-common-black);
  border: 1px solid var(--tg-common-black);
}
@media (max-width: 575px) {
  .tg-shop-top-select .nice-select {
    min-width: 180px;
  }
}
.tg-shop-top-btn {
  font-weight: 500;
  font-size: 14px;
  color: var(--tg-common-white);
  padding: 7px 30px;
  background-color: var(--tg-common-black);
}
.tg-shop-top-btn svg {
  margin-right: 7px;
}
.tg-shop-top-btn:hover {
  color: var(--tg-common-black);
  background-color: var(--tg-theme-primary);
}

.tg-product-item:hover .tg-product-action {
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  opacity: 1;
  visibility: visible;
}
.tg-product-item:hover .tg-product-btn {
  opacity: 1;
  visibility: visible;
  bottom: 0;
}
.tg-product-action {
  position: absolute;
  right: 0;
  top: 108px;
  z-index: 1;
  left: 30px;
  opacity: 0;
  text-align: center;
  transition: all 0.4s ease;
}
.tg-product-action-btn {
  position: relative;
  display: inline-block;
  width: 46px;
  height: 46px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  color: var(--tg-common-black);
  background-color: var(--tg-common-white);
  border-bottom: 0;
  border-radius: 50%;
  margin-bottom: 6px;
  box-shadow: 0 1px 2px 0 rgba(1, 15, 28, 0.2);
}
.tg-product-action-btn:hover {
  color: var(--tg-common-white);
  background-color: var(--tg-common-black);
  border-color: var(--tg-common-black);
}
.tg-product-action-btn:hover .tg-product-tooltip {
  visibility: visible;
  opacity: 1;
  -webkit-transform: translateX(20px) translateY(-50%);
  -moz-transform: translateX(20px) translateY(-50%);
  -ms-transform: translateX(20px) translateY(-50%);
  -o-transform: translateX(20px) translateY(-50%);
  transform: translateX(20px) translateY(-50%);
}
.tg-product-tooltip {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 35px;
  font-weight: 500;
  font-size: 12px;
  color: var(--tg-common-white);
  background-color: var(--tg-common-black);
  display: inline-block;
  width: max-content;
  line-height: 1;
  padding: 4px 6px;
  border-radius: 4px;
  visibility: hidden;
  opacity: 0;
  z-index: 1;
  transition: all 0.4s ease;
}
.tg-product-tooltip::before {
  -webkit-transform: translateY(-65%);
  -moz-transform: translateY(-65%);
  -ms-transform: translateY(-65%);
  -o-transform: translateY(-65%);
  transform: translateY(-65%);
  position: absolute;
  content: "";
  top: 46%;
  width: 0;
  height: 0;
  transform: rotate(67deg);
  border-left: 8px solid var(--tg-common-black);
  border-bottom: 8px solid transparent;
  left: -6px;
}
.tg-product-tooltip-right {
  left: 100%;
  right: auto;
}
.tg-product-tooltip-right::before {
  left: -4px;
  right: auto;
  border-left: 0;
  border-right: 8px solid var(--tg-common-black);
}
.tg-product-btn {
  position: absolute;
  bottom: -20px;
  left: 0;
  right: 0;
  margin: 0 auto;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s ease;
}
.tg-product-btn a {
  text-transform: uppercase;
  color: var(--tg-common-white);
  background: var(--tg-common-black);
  padding: 13px 42px;
  width: 100%;
  text-align: center;
  display: inline-block;
  font-weight: 500;
  font-size: 16px;
  text-transform: uppercase;
}
.tg-product-category {
  font-size: 18px;
  color: var(--tg-common-black);
  margin-bottom: 2px;
  display: inline-block;
}
.tg-product-title {
  font-weight: 500;
  font-size: 20px;
  letter-spacing: -0.01em;
  color: var(--tg-common-black);
}
.tg-product-title a:hover {
  color: var(--tg-theme-primary);
}
.tg-product-price {
  font-family: var(--tg-ff-heading);
  font-weight: 500;
  font-size: 20px;
  letter-spacing: -0.01em;
  color: var(--tg-common-black);
}
.tg-product-content {
  align-items: flex-start;
}
.tg-product-details-nav-tabs {
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
}
.tg-product-details-nav-link {
  width: 150px;
  height: 150px;
  padding: 0;
  border: none;
  margin: 10px 5px;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px) {
  .tg-product-details-nav-link {
    width: 100px;
    height: 100px;
  }
}
@media (max-width: 575px) {
  .tg-product-details-nav-link {
    width: 80px;
    height: 80px;
  }
}
.tg-product-details-nav-link img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.tg-product-details-nav-link.active {
  border: none;
}
.tg-product-details-nav-link:hover {
  border: none;
}
.tg-product-details-subtitle {
  font-weight: 400;
  font-size: 16px;
  color: var(--tg-common-black);
  display: inline-block;
}
.tg-product-details-title {
  font-weight: 600;
  font-size: 30px;
  letter-spacing: -0.02em;
  color: var(--tg-common-black);
}
.tg-product-details-price {
  font-weight: 600;
  font-size: 22px;
  color: var(--tg-common-black);
}
.tg-product-details-ratings i {
  color: #ffb21d;
  font-size: 14px;
}
.tg-product-details-ratings .total {
  font-weight: 400;
  font-size: 15px;
  color: #55585b;
}
.tg-product-details-content {
  font-weight: 400;
  font-size: 15px;
  line-height: 147%;
  color: var(--tg-common-black);
}
.tg-product-details-content span {
  font-weight: 500;
  color: var(--tg-common-black);
}
.tg-product-details-view {
  font-size: 16px;
  font-weight: 400;
  color: var(--tg-common-black);
}
.tg-product-details-view span {
  color: var(--tg-common-black);
  font-weight: 500;
  margin-right: 4px;
}
.tg-product-details-color-title {
  font-weight: 400;
  font-size: 15px;
  color: var(--tg-common-black);
}
.tg-product-details-color-filter .tg-checkbox {
  appearance: none;
  -moz-appearance: none;
  display: block;
  width: 18px;
  height: 18px;
  border: none;
  outline: none;
  flex: 0 0 auto;
  background: #f26339;
  -webkit-transform: translateY(-2.5px);
  -moz-transform: translateY(-2.5px);
  -ms-transform: translateY(-2.5px);
  -o-transform: translateY(-2.5px);
  transform: translateY(-2.5px);
  padding: 0;
  margin-right: 4px;
  transform: translateY(1px);
  border-radius: 50px;
}
.tg-product-details-color-filter .tg-checkbox-2 {
  background: #F1B23D;
}
.tg-product-details-color-filter .tg-checkbox-3 {
  background: rgba(224, 74, 182, 0.94);
}
.tg-product-details-color-filter .tg-checkbox-4 {
  background: #31bb00;
}
.tg-product-details-color-filter .tg-checkbox:checked {
  position: relative;
  border-color: transparent;
}
.tg-product-details-color-filter .tg-checkbox:checked::after {
  box-sizing: border-box;
  position: absolute;
  content: "\f00c";
  font-weight: 700;
  font-family: var(--tg-ff-fontawesome);
  font-size: 10px;
  color: var(--tg-common-white);
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.tg-product-details-color-filter .tg-checkbox:hover {
  cursor: pointer;
}
.tg-product-details-action-title {
  font-weight: 500;
  font-size: 16px;
  color: var(--tg-common-black);
}
.tg-product-details-quantity {
  width: 122px;
  position: relative;
  background: var(--tg-common-white);
}
.tg-product-details-quantity .tg-quantity-input {
  height: 44px;
  text-align: center;
  font-size: 14px;
  border: none;
  background-color: var(--tg-common-white);
  padding: 0 45px;
  width: 100%;
  box-shadow: 0 1px 3px 0 rgba(1, 15, 28, 0.1);
  color: var(--tg-common-black);
}
.tg-product-details-quantity span {
  width: 35px;
  height: 34px;
  line-height: 34px;
  display: inline-block;
  text-align: center;
  font-size: 16px;
  color: var(--tg-common-black);
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  transition: all 0.4s ease;
  margin: 0 3px !important;
  cursor: pointer;
}
.tg-product-details-quantity span::before {
  position: absolute;
  content: "";
  width: 1px;
  height: 26px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
  background-color: #e1e1e1;
}
.tg-product-details-quantity span.decrement {
  right: auto;
  left: 0;
}
.tg-product-details-quantity span.decrement::before {
  left: auto;
  right: 0;
}
.tg-product-details-cart-btn {
  font-weight: 700;
  font-size: 16px;
  text-transform: uppercase;
  color: var(--tg-common-black);
  padding: 10px 92px;
  display: inline-block;
  background: var(--tg-theme-primary);
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-product-details-cart-btn {
    padding: 10px 40px;
  }
}
.tg-product-details-cart-btn:hover {
  color: var(--tg-common-white);
  background: var(--tg-common-black);
}
.tg-product-details-wishlist-btn {
  box-shadow: 0 1px 3px 0 rgba(1, 15, 28, 0.1);
  background: var(--tg-common-white);
  width: 46px;
  height: 46px;
  text-align: center;
  line-height: 46px;
}
.tg-product-details-wishlist-btn:hover {
  color: var(--tg-common-white);
  background: var(--tg-common-black);
}
.tg-product-details-compare-wrap ul li {
  display: flex;
  align-items: center;
  margin-bottom: 7px;
}
.tg-product-details-compare-wrap ul li h5 {
  font-weight: 500;
  font-size: 16px;
  margin-bottom: 0;
  margin-right: 10px;
}
.tg-product-details-compare-wrap ul li span {
  font-weight: 400;
  color: var(--tg-common-black);
}
.tg-product-details-compare-wrap ul li span.black {
  color: var(--tg-common-black);
}
.tg-product-details-social a {
  box-shadow: 0 1px 3px 0 rgba(1, 15, 28, 0.1);
  background: var(--tg-common-black);
  border-radius: 0;
  width: 38px;
  height: 38px;
  text-align: center;
  line-height: 35px;
  color: var(--tg-common-white);
}
.tg-product-details-social a:hover {
  color: var(--tg-common-white);
  background: var(--tg-theme-primary);
  border-color: var(--tg-theme-primary);
}
.tg-product-details-payment-way {
  border: 1px solid rgba(28, 29, 31, 0.1);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  padding: 12px 20px 0px 20px;
}
.tg-product-details-payment-text span {
  font-weight: 400;
  font-size: 14px;
  color: var(--tg-common-black);
}
.tg-product-details-payment-text span.grey {
  display: block;
  line-height: 1;
}
.tg-product-details-payment-bank a {
  height: 32px;
  box-shadow: 0 1px 3px 0 rgba(1, 15, 28, 0.1);
  background: #fff;
  display: inline-block;
  line-height: 32px;
  padding: 1px 8px;
  border-radius: 6px;
  margin-left: 6px;
}
.tg-product-details-tab-line {
  transition: all 0.3s 0s ease-out;
  position: absolute;
  bottom: -3px;
  height: 3px;
  background-color: var(--tg-theme-secondary);
  display: block;
}
.tg-product-details-tab-nav .nav-tabs {
  border: none;
}
@media (max-width: 575px) {
  .tg-product-details-tab-nav .nav-tabs {
    padding-bottom: 0;
  }
}
.tg-product-details-tab-nav .nav-tabs .nav-link {
  text-transform: capitalize;
  position: relative;
  padding: 0;
  margin: 0;
  border: 0;
  font-weight: 500;
  font-size: 16px;
  text-align: center;
  color: var(--tg-common-black);
  padding: 17px 52px;
  border-radius: 0;
  border-bottom: 1px solid rgba(28, 29, 31, 0.1);
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-product-details-tab-nav .nav-tabs .nav-link {
    padding-bottom: 10px;
  }
}
.tg-product-details-tab-nav .nav-tabs .nav-link:not(:first-child) {
  margin-left: 5px;
}
.tg-product-details-tab-nav .nav-tabs .nav-link.active, .tg-product-details-tab-nav .nav-tabs .nav-link:hover {
  background: var(--tg-theme-primary);
  border-color: var(--tg-theme-primary);
}
.tg-product-details-tab-nav .nav-tabs .nav-link.active::after, .tg-product-details-tab-nav .nav-tabs .nav-link:hover::after {
  width: 100%;
  left: 0;
  right: auto;
}
@media (max-width: 575px) {
  .tg-product-details-tab-nav .nav-tabs span#productTabMarker {
    display: none !important;
  }
}
.tg-product-details-desc-wrapper > p {
  line-height: 30px;
  text-transform: capitalize;
  color: var(--tg-grey-1);
}
.tg-product-details-desc-wrapper ul li {
  font-weight: 400;
  font-size: 18px;
  color: var(--tg-grey-1);
  display: flex;
  margin-bottom: 15px;
}
.tg-product-details-desc-wrapper ul li i {
  margin-right: 10px;
  transform: translateY(3px);
}
.tg-product-details-desc-title {
  font-weight: 600;
  font-size: 30px;
  letter-spacing: -0.02em;
}
.tg-product-details-additional-info-title {
  font-size: 24px;
  font-weight: 400;
  margin-bottom: 16px;
}
.tg-product-details-additional-info.tg-table-style-2 table {
  border: 0;
  border-collapse: separate;
  border-spacing: 0 7px;
  width: 100%;
  font-family: var(--tg-ff-poppins);
}
.tg-product-details-additional-info.tg-table-style-2 table tr {
  border: 0;
}
.tg-product-details-additional-info.tg-table-style-2 table tr:not(:last-child) {
  border: 0;
  margin-bottom: 6px;
}
.tg-product-details-additional-info.tg-table-style-2 table tr tg {
  padding: 7px 24px;
  border: 1px solid #E6E7E8;
}
.tg-product-details-additional-info.tg-table-style-2 table tr tg:first-child {
  padding-left: 24px;
  border-right: 0;
  font-size: 16px;
  color: var(--tg-common-black);
  background-color: #F9F9F9;
  width: 306px;
}
.tg-product-details-additional-info.tg-table-style-2 table tr tg:last-child {
  padding-left: 34px;
}
.tg-product-details-review-title-2 {
  font-size: 24px;
  font-weight: 500;
  margin-bottom: 33px;
}
.tg-product-details-review-avater-thumb {
  flex: 0 0 auto;
}
.tg-product-details-review-avater-thumb img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  margin-right: 20px;
  flex: 0 0 auto;
}
.tg-product-details-review-avater-rating span {
  font-size: 13px;
  margin-right: 2px;
  color: #FFB21D;
  font-family: var(--tg-ff-poppins);
}
.tg-product-details-review-avater-title {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 2px;
  font-family: var(--tg-ff-poppins);
}
.tg-product-details-review-avater-meta {
  font-size: 14px;
  line-height: 1.2;
  margin-left: 3px;
  display: inline-block;
  font-family: var(--tg-ff-poppins);
}
@media (max-width: 575px) {
  .tg-product-details-review-avater-2 {
    flex-direction: column;
  }
}
.tg-product-details-review-form-title {
  font-size: 34px;
  font-weight: 500;
  margin-bottom: 4px;
}
.tg-product-details-review-form-rating p {
  font-size: 14px;
  margin-right: 8px;
  margin-bottom: 0;
  font-family: var(--tg-ff-poppins);
}
.tg-product-details-review-form-rating-icon span {
  font-size: 12px;
  color: #FFB21D;
}
.tg-product-details-review-form > p {
  font-size: 16px;
  margin-bottom: 8px;
  font-family: var(--tg-ff-poppins);
}
.tg-product-details-review-item-wrapper-2 {
  padding-bottom: 80px;
  border-bottom: 1px solid #E6E7E8;
  font-family: var(--tg-ff-poppins);
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-product-details-thumb-wrapper {
    margin-right: 0;
  }
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 575px) {
  .tg-product-details-wrap {
    margin-right: 0;
    margin-left: 0;
  }
}

/*=============================
    09. error
===============================*/
.tg-error-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.tg-error-spacing {
  padding-top: 290px;
  padding-bottom: 100px;
  height: 100vh;
}
@media (max-width: 575px) {
  .tg-error-spacing {
    padding-top: 150px;
  }
}
.tg-error-title {
  font-weight: 700;
  font-size: 280px;
  line-height: 1;
  color: var(--tg-common-white);
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px) {
  .tg-error-title {
    font-size: 180px;
  }
}
@media (max-width: 575px) {
  .tg-error-title {
    font-size: 80px;
  }
}
.tg-error-subtitle {
  font-weight: 700;
  font-size: 60px;
  color: var(--tg-common-white);
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px) {
  .tg-error-subtitle {
    font-size: 50px;
  }
}
@media (max-width: 575px) {
  .tg-error-subtitle {
    font-size: 30px;
  }
}

/*=============================
    Circular economy
===============================*/
.circular-economy-area {
  padding: 43px 0 58px;
  background: #ffffff;
}

.circular-economy-area .container {
  max-width: 1170px;
}

.circular-economy-title-wrap {
  margin-bottom: 50px;
}

.circular-economy-area .tg-section-title {
  display: inline-block;
  color: #fff;
  font-size: 40px;
  line-height: 1.2;
  font-weight: 600;
  padding: 8px 31px 10px;
  margin: 0;
  background: #416f2b;
  border-radius: 10px;
  letter-spacing: 0;
}

.circular-economy-content {
  position: relative;
}

.circular-economy-thumb {
  background: #fffef7;
  border: 0px solid #e5e7df;
  border-radius: 10px;
  padding: 0px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.02);
}

.circular-economy-thumb img {
  display: block;
  width: 100%;
  min-height: 388px;
  object-fit: contain;
}

.circular-economy-copy {
  position: relative;
  min-height: 392px;
  padding: 40px 135px 20px 52px;
}

.circular-economy-item {
  margin: 0;
}

.circular-economy-item h4 {
  color: #111;
  font-size: 26px;
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: 0;
  margin-bottom: 25px !important;
}

.circular-economy-item p {
  color: #1d1d1d;
  font-size: 22px;
  line-height: 1.18;
  margin: 0;
}

.circular-economy-item p strong {
  font-weight: 800;
}

.circular-economy-divider {
  display: block;
  width: 76px;
  height: 2px;
  margin: 34px 0 29px;
  background: #416f2b;
}

.circular-economy-btn {
  position: absolute;
  right: 0;
  bottom: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 104px;
  height: 104px;
  color: #111;
  border: 1px solid #777;
  border-radius: 50%;
  text-align: center;
  text-transform: uppercase;
  background: transparent;
}

.circular-economy-btn span {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  color: inherit;
  font-size: 12px;
  line-height: 1.15;
  font-weight: 500;
}

.circular-economy-btn svg {
  width: 12px;
  height: 12px;
}

.circular-economy-btn:hover {
  color: #fff;
  border-color: #416f2b;
  background: #416f2b;
}

@media (max-width: 1199px) {
  .circular-economy-area .tg-section-title {
    font-size: 34px;
  }
  .circular-economy-copy {
    padding-right: 112px;
    padding-left: 34px;
  }
  .circular-economy-item p {
    font-size: 20px;
  }
}

@media (max-width: 991px) {
  .circular-economy-title-wrap {
    text-align: center;
    margin-bottom: 34px;
  }
  .circular-economy-copy {
    min-height: auto;
    padding: 34px 120px 0 0;
  }
  .circular-economy-btn {
    right: 0;
    bottom: 0;
  }
}

@media (max-width: 767px) {
  .circular-economy-area {
    padding: 34px 0 44px;
  }
  .circular-economy-area .tg-section-title {
    display: block;
    font-size: 27px;
    padding: 10px 16px;
  }
  .circular-economy-thumb img {
    min-height: 260px;
  }
  .circular-economy-copy {
    padding: 28px 0 0;
  }
  .circular-economy-item h4 {
    font-size: 23px;
    margin-bottom: 16px !important;
  }
  .circular-economy-item p {
    font-size: 18px;
  }
  .circular-economy-btn {
    position: relative;
    right: auto;
    bottom: auto;
    width: 92px;
    height: 92px;
    margin-top: 28px;
  }
}

/*=============================
    Circular process
===============================*/
.circular-process-area {
  padding: 0 0 48px;
  background: #ffffff;
}

.circular-process-area .container {
  max-width: 1170px;
}

.circular-process-panel {
  overflow: hidden;
  padding: 37px 46px 37px;
  text-align: center;
  background: #f4fae8;
  border-radius: 180px;
}

.circular-process-title {
  color: #04240d;
  font-size: 40px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0;
  margin: 0 0 31px;
}

.circular-process-steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 22px;
}

.circular-process-line {
  position: absolute;
  top: 29px;
  left: 0;
  right: 0;
  height: 3px;
  background: #ffffff;
}

.circular-process-step {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.circular-process-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 59px;
  height: 59px;
  color: #ffffff;
  font-size: 31px;
  line-height: 1;
  font-weight: 600;
  background: #06751b;
  border-radius: 50%;
  margin-bottom: 29px;
}

.circular-process-step h4 {
  color: #141414;
  font-family: var(--tg-ff-body);
  font-size: 18px;
  line-height: 1.08;
  font-weight: 600;
  letter-spacing: 0;
  margin: 0 0 2px;
}

.circular-process-step p {
  color: #1f1f1f;
  font-size: 15px;
  line-height: 1.18;
  margin: 0;
}

.circular-process-tagline {
  color: #173c1c;
  font-size: 19px;
  line-height: 1.3;
  font-style: italic;
  font-weight: 400;
  margin: 28px 0 0;
}

@media (max-width: 1199px) {
  .circular-process-panel {
    padding-left: 34px;
    padding-right: 34px;
  }
  .circular-process-steps {
    gap: 14px;
  }
  .circular-process-step h4,
  .circular-process-step p {
    font-size: 16px;
  }
  .circular-process-tagline {
    font-size: 17px;
  }
}

@media (max-width: 991px) {
  .circular-process-panel {
    border-radius: 46px;
  }
  .circular-process-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 34px;
  }
  .circular-process-line {
    display: none;
  }
  .circular-process-count {
    margin-bottom: 16px;
  }
}

@media (max-width: 767px) {
  .circular-process-area {
    padding-bottom: 38px;
  }
  .circular-process-panel {
    padding: 31px 18px 32px;
    border-radius: 30px;
  }
  .circular-process-title {
    font-size: 32px;
    margin-bottom: 26px;
  }
  .circular-process-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 16px;
  }
  .circular-process-count {
    width: 54px;
    height: 54px;
    font-size: 27px;
  }
  .circular-process-step h4,
  .circular-process-step p {
    font-size: 15px;
  }
  .circular-process-tagline {
    font-size: 15px;
    margin-top: 26px;
  }
}

/*=============================
    CO2 reduction
===============================*/
.co2-reduction-area {
  padding: 0 0 54px;
  background: #f6fbe9;
}

.co2-reduction-heading {
  padding: 82px 20px 0;
}

.co2-reduction-heading .tg-section-title {
  margin: 0;
}

.co2-reduction-wrap {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  align-items: center;
  gap: 38px;
  min-height: 560px;
  padding: 54px 11% 48px;
  background: #f6fbe9;
}

.co2-reduction-title {
  display: flex;
  align-items: flex-start;
  color: #07921e;
  font-family: var(--tg-ff-body);
  font-size: 152px;
  line-height: 0.82;
  font-weight: 900;
  letter-spacing: 0;
  margin: 0;
  text-shadow: 0 6px 12px rgba(37, 133, 12, 0.18);
}

.co2-reduction-title span {
  background: linear-gradient(90deg, #008b26 0%, #78d400 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.co2-reduction-title small {
  display: inline-block;
  color: #48af00;
  font-size: 0.72em;
  line-height: 0.9;
  margin: 19px 0 0 12px;
}

.co2-reduction-content h3 {
  color: #04582a;
  font-family: var(--tg-ff-body);
  font-size: 54px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0;
  margin: 10px 0 8px;
}

.co2-reduction-content h3 sub {
  bottom: -0.12em;
  font-size: 0.48em;
}

.co2-reduction-underline {
  display: block;
  width: 120px;
  height: 3px;
  background: #58bd2f;
  margin-bottom: 13px;
}

.co2-reduction-lead {
  color: #1d1d1d;
  font-size: 24px;
  line-height: 1.26;
  margin: 0 0 42px;
}

.co2-reduction-features {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.co2-feature {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  align-items: center;
  column-gap: 8px;
  min-width: 0;
  padding: 12px 10px;
  text-align: left;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(18, 112, 30, 0.08);
  border-radius: 8px;
  box-shadow: 0 8px 18px rgba(25, 69, 34, 0.1);
}

.co2-feature:first-child {
  padding-left: 10px;
}

.co2-feature:last-child {
  padding-right: 10px;
}

.co2-feature-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  color: #1a9f25;
  grid-row: 1 / span 2;
  margin: 0;
}
.co2-feature-icon svg {
  width: 36px;
  height: 36px;
}

.co2-feature h4 {
  min-width: 0;
  color: #07802d;
  font-family: var(--tg-ff-body);
  font-size: 12px;
  line-height: 1.18;
  font-weight: 900;
  letter-spacing: 0;
  margin: 0 0 3px;
  overflow-wrap: break-word;
}

.co2-feature p {
  min-width: 0;
  color: #2a2a2a;
  font-size: 11px;
  line-height: 1.25;
  margin: 0;
  overflow-wrap: break-word;
}

.co2-reduction-visual {
  display: flex;
  justify-content: flex-end;
}

.co2-reduction-visual img {
  display: block;
  width: min(670px, 100%);
  height: auto;
  object-fit: contain;
}
.co2-reduction-visual svg {
  display: block;
  width: min(670px, 100%);
  height: auto;
}
@media (min-width: 1200px) {
  .co2-reduction-content {
    grid-column: 2;
    grid-row: 1;
  }
  .co2-reduction-visual {
    grid-column: 1;
    grid-row: 1;
    justify-content: flex-start;
  }
}

@media (max-width: 1399px) {
  .co2-reduction-wrap {
    padding-left: 7%;
    padding-right: 7%;
  }
  .co2-reduction-title {
    font-size: 124px;
  }
  .co2-reduction-content h3 {
    font-size: 44px;
  }
}

@media (max-width: 1199px) {
  .co2-reduction-wrap {
    display: flex;
    flex-direction: column;
    gap: 58px;
  }
  .co2-reduction-visual {
    order: -1;
  }
  .co2-reduction-content {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
  }
  .co2-reduction-title {
    justify-content: center;
  }
  .co2-reduction-underline {
    margin-left: auto;
    margin-right: auto;
  }
  .co2-reduction-visual {
    justify-content: center;
  }
}

@media (max-width: 767px) {
  .co2-reduction-area {
    padding-bottom: 38px;
  }
  .co2-reduction-wrap {
    padding: 36px 18px 70px;
  }
  .co2-reduction-title {
    font-size: 76px;
  }
  .co2-reduction-title small {
    margin-top: 10px;
    margin-left: 6px;
  }
  .co2-reduction-content h3 {
    font-size: 30px;
  }
  .co2-reduction-lead {
    font-size: 18px;
    margin-bottom: 30px;
  }
  .co2-reduction-features {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .co2-feature {
    padding: 12px 10px;
  }
  .co2-feature:nth-child(2) {
    border-right: 1px solid rgba(18, 112, 30, 0.08);
  }
  .co2-reduction-visual img,
  .co2-reduction-visual svg {
    width: 100%;
  }
}
@media (max-width: 575px) {
  .co2-reduction-features {
    grid-template-columns: 1fr;
  }
}

/*=============================
    Industries
===============================*/
.industries-area {
  padding: 78px 0 84px;
  background: #ffffff;
}

.industries-title-wrap {
  margin-bottom: 44px;
}

.industries-title-wrap .tg-section-title {
  color: #0d2514;
  font-size: 44px;
  line-height: 1.15;
  letter-spacing: 0;
  margin: 0;
}

.industries-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

.industries-item {
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 112px;
  padding: 22px 20px;
  background: #f6fbe9;
  border: 1px solid rgba(13, 112, 70, 0.14);
  border-radius: 8px;
  transition: all 0.3s ease;
}

.industries-item:hover {
  border-color: rgba(13, 112, 70, 0.34);
  box-shadow: 0 16px 36px rgba(13, 112, 70, 0.12);
  transform: translateY(-3px);
}

.industries-icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 66px;
  height: 66px;
  color: #0d7046;
  background: #ffffff;
  border: 1px solid rgba(13, 112, 70, 0.18);
  border-radius: 50%;
}

.industries-item h4 {
  color: #102214;
  font-family: var(--tg-ff-body);
  font-size: 18px;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: 0;
  margin: 0;
}

@media (max-width: 1199px) {
  .industries-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .industries-title-wrap .tg-section-title {
    font-size: 38px;
  }
}

@media (max-width: 991px) {
  .industries-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575px) {
  .industries-area {
    padding: 54px 0 60px;
  }
  .industries-title-wrap {
    margin-bottom: 30px;
  }
  .industries-title-wrap .tg-section-title {
    font-size: 30px;
  }
  .industries-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .industries-item {
    min-height: 94px;
    padding: 17px 16px;
  }
  .industries-icon {
    width: 56px;
    height: 56px;
  }
  .industries-icon svg {
    width: 34px;
    height: 34px;
  }
  .industries-item h4 {
    font-size: 16px;
  }
}

/*=============================
    Why Envipure
===============================*/
.why-envipure-area {
  padding: 88px 0 96px;
  background: #ffffff;
}

.why-envipure-panel {
  position: relative;
  overflow: hidden;
  padding: 58px;
  background: radial-gradient(circle at 86% 18%, rgba(145, 217, 0, 0.22), transparent 35%), linear-gradient(135deg, #062b16 0%, #0d7046 100%);
  border-radius: 14px;
  box-shadow: 0 22px 60px rgba(7, 64, 34, 0.18);
}

.why-envipure-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 0 45%, rgba(255, 255, 255, 0.08) 46%, transparent 57%);
  pointer-events: none;
}

.why-envipure-panel .row {
  position: relative;
  z-index: 1;
}

.why-envipure-title .tg-section-subtitle {
  color: #b9ee83;
}

.why-envipure-title h2 {
  color: #ffffff;
  font-size: 42px;
  line-height: 1.16;
  font-weight: 700;
  letter-spacing: 0;
  margin: 0;
}

.why-envipure-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.why-envipure-item {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 86px;
  padding: 20px 22px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
  backdrop-filter: blur(8px);
}

.why-envipure-item span {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: transparent;
  border-radius: 50%;
}
.why-envipure-item span img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 50%;
}

.why-envipure-item h4 {
  color: #ffffff;
  font-family: var(--tg-ff-body);
  font-size: 18px;
  line-height: 1.28;
  font-weight: 700;
  letter-spacing: 0;
  margin: 0;
}

@media (max-width: 991px) {
  .why-envipure-panel {
    padding: 42px 30px;
  }
  .why-envipure-title {
    margin-bottom: 34px;
  }
  .why-envipure-title h2 {
    font-size: 34px;
  }
}

@media (max-width: 575px) {
  .why-envipure-area {
    padding: 62px 0 70px;
  }
  .why-envipure-panel {
    padding: 34px 18px;
    border-radius: 10px;
  }
  .why-envipure-title h2 {
    font-size: 28px;
  }
  .why-envipure-grid {
    grid-template-columns: 1fr;
  }
  .why-envipure-item {
    min-height: 76px;
    padding: 17px 16px;
  }
  .why-envipure-item h4 {
    font-size: 16px;
  }
}

.design-process-area {
  position: relative;
  overflow: hidden;
  padding: 48px 0 40px;
  background: radial-gradient(circle at 68% 20%, rgba(188, 232, 127, 0.58), rgba(18, 72, 34, 0.08) 35%, rgba(5, 38, 20, 0.58) 72%), linear-gradient(105deg, rgba(1, 22, 12, 0.84), rgba(30, 90, 38, 0.68), rgba(7, 40, 20, 0.9)), url("../img/bga.png") center/cover no-repeat;
}

.design-process-area::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(126deg, transparent 0 48%, rgba(210, 255, 161, 0.2) 49%, transparent 56%), linear-gradient(160deg, transparent 0 58%, rgba(255, 255, 255, 0.12) 59%, transparent 66%);
  pointer-events: none;
}

.design-process-area .container {
  position: relative;
  z-index: 1;
  max-width: 1420px;
}

.design-process-area .tg-section-subtitle {
  display: none;
}

.design-process-area .tg-section-title {
  color: #fff;
  font-size: 44px;
  line-height: 1.15;
  font-weight: 600;
  text-align: center;
  margin-bottom: 18px;
}

.design-process-area .process-step-col {
  position: relative;
  flex: 0 0 20%;
  max-width: 20%;
}

.design-process-area .process-step-col:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 22px;
  width: 1px;
  height: 158px;
  background: rgba(255, 255, 255, 0.42);
}

.design-process-area .tg-process-item {
  padding: 0 22px;
  margin-top: 0 !important;
  background: transparent;
  border: 0;
  box-shadow: none;
  text-align: center;
}

.design-process-area .tg-process-icon {
  justify-content: center !important;
  margin-bottom: 32px !important;
}

.design-process-area .tg-process-icon .d-inline-block {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 112px;
  height: 112px;
  color: #197849;
  background: #f4efe1;
  border: 5px solid #f4efe1;
  border-radius: 50%;
  box-shadow: 0 0 0 2px #197849 inset, 0 0 0 8px rgba(244, 239, 225, 0.96);
}

.design-process-area .tg-process-icon svg {
  width: 48px;
  height: 48px;
  color: #197849 !important;
}

.design-process-area .tg-process-icon .count {
  display: none;
}

.design-process-area .tg-process-content h4 {
  color: #fff !important;
  font-size: 20px;
  line-height: 1.15;
  font-weight: 700;
  margin-bottom: 4px !important;
}

.design-process-area .tg-process-content p {
  color: #fff !important;
  font-size: 14px;
  line-height: 1.2;
  margin: 0 auto;
  max-width: 230px;
}

.design-process-area .support-icon {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (max-width: 1399px) {
  .design-process-area .tg-section-title {
    font-size: 38px;
  }
  .design-process-area .tg-process-item {
    padding: 0 16px;
  }
  .design-process-area .tg-process-content p {
    font-size: 18px;
  }
}
@media (max-width: 1199px) {
  .design-process-area .process-step-col {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
    margin-bottom: 46px;
  }
  .design-process-area .process-step-col::after {
    display: none;
  }
}
@media (max-width: 767px) {
  .design-process-area {
    padding: 40px 0 22px;
  }
  .design-process-area .tg-section-title {
    font-size: 28px;
  }
  .design-process-area .process-step-col {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .design-process-area .tg-process-item {
    padding-right: 0;
    padding-left: 0;
  }
  .design-process-area .tg-process-icon .d-inline-block {
    width: 104px;
    height: 104px;
  }
  .design-process-area .tg-process-content h4 {
    font-size: 20px;
  }
  .design-process-area .tg-process-content p {
    font-size: 18px;
    width: 100%;
    max-width: none;
  }
  .design-process-area .tg-process-content p br {
    display: none;
  }
}

/*=============================
    Industries showcase
===============================*/
.industries-showcase-area {
  position: relative;
  min-height: 1052px;
  padding: 88px 0 82px;
  background: #07531c url("../img/background1_1.png") center / cover no-repeat;
}
.industries-responsive-title {
  display: block;
  margin-bottom: 48px;
  color: #f4f9eb;
  text-align: center;
}
.industries-responsive-title span {
  display: block;
  margin-bottom: 8px;
  color: inherit;
  font-family: var(--tg-ff-heading);
  font-size: clamp(22px, 2.2vw, 34px);
  line-height: 1.2;
  font-weight: 300;
}
.industries-responsive-title h2 {
  max-width: 1480px;
  margin: 0 auto;
  color: inherit;
  font-family: var(--tg-ff-heading);
  font-size: clamp(30px, 3.2vw, 50px);
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.industries-showcase-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.industry-showcase-item {
  display: flex;
  align-items: center;
  gap: 24px;
  min-height: 136px;
  padding: 20px 26px;
  background: #f7fbea;
  border-radius: 10px;
  transition: transform 0.3s ease, background-color 0.3s ease;
}
.industry-showcase-item:hover {
  transform: translateY(-4px);
  background: #ffffff;
}
.industry-showcase-item > span {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  color: #087839;
  font-size: 34px;
  background: #ffffff;
  border: 2px solid #d8ded7;
  border-radius: 50%;
}
.industry-showcase-item img {
  width: 80px;
  height: 80px;
  object-fit: contain;
}
.industry-showcase-item h3 {
  margin: 0;
  color: #052c13;
  font-family: var(--tg-ff-body);
  font-size: 19px;
  line-height: 1.25;
  font-weight: 700;
}
@media (max-width: 1199px) {
  .industries-showcase-area {
    min-height: auto;
    padding: 74px 0 70px;
  }
  .industries-showcase-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .industry-showcase-item {
    gap: 17px;
    padding: 18px;
  }
}
@media (max-width: 991px) {
  .industries-showcase-area {
    padding-top: 58px;
    background-position: center bottom;
  }
  .industries-showcase-area::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 245px;
    background: linear-gradient(180deg, rgba(5, 73, 24, 0.98), rgba(5, 73, 24, 0.88));
  }
  .industries-showcase-area .container {
    position: relative;
    z-index: 1;
  }
  .industries-responsive-title {
    margin-bottom: 42px;
  }
  .industries-responsive-title span {
    font-size: 22px;
  }
  .industries-responsive-title h2 {
    font-size: 32px;
  }
  .industries-showcase-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575px) {
  .industries-showcase-area {
    padding: 46px 0 54px;
  }
  .industries-responsive-title h2 {
    font-size: 26px;
  }
  .industries-responsive-title span {
    font-size: 19px;
  }
  .industries-showcase-grid {
    grid-template-columns: 1fr;
  }
  .industry-showcase-item {
    min-height: 105px;
  }
  .industry-showcase-item > span,
  .industry-showcase-item img {
    width: 68px;
    height: 68px;
  }
  .industry-showcase-item h3 {
    font-size: 17px;
  }
}

/* Standalone Industries page */
.industries-page-area {
  position: relative;
  overflow: hidden;
  min-height: 0;
  padding: 0 0 70px;
  background: #ffffff;
}
.industries-page-area::before { display: none; }
.industries-page-area .container { position: relative; z-index: 1; }
.industries-page-hero {
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
  width: 100vw;
  min-height: 370px;
  margin-left: calc(50% - 50vw);
  margin-bottom: 58px;
  padding: 48px clamp(30px, 6vw, 110px);
  color: #0b2558;
  background:
    linear-gradient(90deg, #fff 0%, #fff 43%, rgba(255,255,255,.96) 50%, rgba(255,255,255,.18) 67%, rgba(255,255,255,0) 100%),
    url("../img/industries-banner.jpg") right center / 58% auto no-repeat,
    #fff;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.industries-page-hero::after {
  display: none;
}
.industries-page-title {
  position: relative;
  z-index: 2;
  max-width: 760px;
  margin: 0;
  padding: 0;
  color: #0b2558;
  text-align: left;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.industries-page-title::after {
  display: none;
}
.industries-page-title h1 {
  margin: 0;
  color: #0b2558;
  font-size: clamp(42px, 3.8vw, 60px);
  line-height: 1;
  font-weight: 800;
  letter-spacing: -.035em;
  text-transform: uppercase;
}
.industries-page-title h1 span {
  color: #367d28;
}
.industries-page-title h2 {
  margin: 16px 0 16px;
  color: #0b2558;
  font-size: clamp(21px, 1.8vw, 28px);
  line-height: 1.32;
  font-weight: 700;
}
.industries-page-title h2 span {
  color: #367d28;
}
.industries-page-title p {
  max-width: 620px;
  margin: 0;
  color: #18294e;
  font-size: 17px;
  line-height: 1.55;
  font-weight: 500;
}
.industries-page-hero-visual {
  display: none;
}
.industries-page-orbit {
  position: relative;
  display: grid;
  place-items: center;
  width: 290px;
  height: 290px;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 50%;
  box-shadow: inset 0 0 0 28px rgba(255,255,255,.035);
}
.industries-page-orbit::before,
.industries-page-orbit::after {
  content: "";
  position: absolute;
  border: 1px dashed rgba(185,239,139,.45);
  border-radius: 50%;
}
.industries-page-orbit::before { inset: 32px; }
.industries-page-orbit::after { inset: 68px; }
.industries-page-orbit > span {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 104px;
  height: 104px;
  color: #ffffff;
  font-size: 48px;
  background: linear-gradient(145deg, #65ba4c, #23763b);
  border: 8px solid rgba(255,255,255,.14);
  border-radius: 50%;
  box-shadow: 0 14px 32px rgba(0,0,0,.22);
}
.industries-page-orbit > i {
  position: absolute;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  color: #17416c;
  font-size: 21px;
  background: #ffffff;
  border: 5px solid rgba(123,204,94,.3);
  border-radius: 50%;
  box-shadow: 0 9px 20px rgba(0,0,0,.16);
}
.industries-page-orbit > i:nth-of-type(1) { top: -8px; left: 50%; transform: translateX(-50%); }
.industries-page-orbit > i:nth-of-type(2) { top: 50%; right: -8px; transform: translateY(-50%); }
.industries-page-orbit > i:nth-of-type(3) { bottom: -8px; left: 50%; transform: translateX(-50%); }
.industries-page-orbit > i:nth-of-type(4) { top: 50%; left: -8px; transform: translateY(-50%); }
.industries-page-hero-visual > strong {
  position: absolute;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  flex-direction: column;
  padding: 13px 18px;
  color: #102f68;
  font-size: 28px;
  line-height: 1;
  background: #ffffff;
  border-radius: 15px;
  box-shadow: 0 12px 28px rgba(0,0,0,.18);
}
.industries-page-hero-visual > strong small { margin-top: 5px; color: #317b35; font-size: 10px; text-transform: uppercase; }
.industries-page-label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-bottom: 18px;
  color: #10265a;
  font-family: var(--tg-ff-heading);
  font-size: clamp(17px, 1.45vw, 22px);
  font-weight: 800;
  text-align: center;
  text-transform: uppercase;
}
.industries-page-label::before,
.industries-page-label::after {
  content: "";
  flex: 0 1 76px;
  height: 1px;
  background: #9eb0c8;
}
.industries-page-label span { flex: 0 1 auto; }
.industries-page-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}
.industries-page-card {
  --industry-accent: #2d7e37;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  min-width: 0;
  min-height: 280px;
  padding: 18px 12px 0;
  overflow: hidden;
  text-align: center;
  background: #ffffff;
  border: 1px solid #d5dde4;
  border-radius: 14px;
  box-shadow: 0 5px 16px rgba(17, 49, 72, 0.045);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.industries-page-card:nth-child(5n+2) { --industry-accent: #3679b8; }
.industries-page-card:nth-child(5n+3) { --industry-accent: #6c59b5; }
.industries-page-card:nth-child(5n+4) { --industry-accent: #df8a25; }
.industries-page-card:nth-child(5n) { --industry-accent: #18867c; }
.industries-page-card:hover {
  transform: translateY(-7px);
  border-color: rgba(42, 126, 52, .35);
  box-shadow: 0 18px 38px rgba(17, 49, 72, 0.12);
}
.industries-page-card > span {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 70px;
  margin-bottom: 22px;
  color: var(--industry-accent);
  font-size: 50px;
  background: #ffffff;
  border: 0;
  border-radius: 50%;
  box-shadow: none;
}
.industries-page-card:nth-child(5n+1) > span {
  color: #ffffff;
  background: #2d7e37;
}
.industries-page-card img { width: 62px; height: 62px; object-fit: contain; }
.industries-page-card h3 {
  min-height: 24px;
  margin: 0 0 8px;
  color: #10265a;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 00;
  text-transform: uppercase;
}
.industries-page-card > p {
  margin: 0 0 14px;
  color: #263650;
  font-size: 14px;
  line-height: 1.45;
}
.industries-page-card > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: calc(100% + 24px);
  margin-top: auto;
  min-height: 68px;
  padding: 11px 5px 9px;
  border-top: 1px solid #dbe2e7;
  background: #ffffff;
}
.industries-page-card small {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-width: 0;
  padding: 0 3px;
  color: #245d2a;
  font-size: 10px;
  line-height: 1.15;
  font-weight: 700;
  border-right: 1px solid #dfe7de;
}
.industries-page-card small::before {
  content: "✓";
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  color: #2d7e37;
  font-size: 11px;
  line-height: 1;
  border: 1px solid #bdd8bd;
  border-radius: 50%;
  background: #f4faf2;
}
.industries-page-card small:last-child { border-right: 0; }
.industries-page-partner-grid {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 16px;
  margin-top: 48px;
}
.industries-page-info-panel {
  overflow: hidden;
  background: #ffffff;
  border: 1px solid #dbe2e7;
  border-radius: 16px;
  box-shadow: 0 12px 30px rgba(17, 49, 72, .07);
}
.industries-page-info-panel > h3 {
  margin: 0;
  padding: 13px 20px;
  color: #fff;
  font-size: 20px;
  text-align: center;
  text-transform: uppercase;
  background: #102f68;
}
.industries-page-partner-panel > div {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  padding: 26px 14px;
}
.industries-page-partner-panel span {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 10px;
  padding: 0 8px;
  color: #10265a;
  font-size: 11px;
  line-height: 1.3;
  font-weight: 700;
  text-align: center;
  border-right: 1px solid #dfe4e8;
}
.industries-page-partner-panel span:last-child { border: 0; }
.industries-page-partner-panel i { color: #174d95; font-size: 31px; }
.industries-page-swm-panel > h3 { background: #216a31; }
.industries-page-swm-content { display: grid; grid-template-columns: 120px 1fr; gap: 20px; align-items: center; padding: 20px 24px 10px; }
.industries-page-swm-content strong { color: #236f32; font-size: 27px; line-height: .9; text-align: center; }
.industries-page-swm-content p { margin: 0; color: #3b4841; font-size: 12px; line-height: 1.5; }
.industries-page-swm-panel ul { display: flex; justify-content: space-around; gap: 12px; margin: 0; padding: 10px 18px 18px; list-style: none; }
.industries-page-swm-panel li { color: #2c7636; font-size: 12px; font-weight: 700; }
.industries-page-swm-panel li::before { content: "\f058"; margin-right: 6px; font-family: "Font Awesome 6 Pro"; font-weight: 900; }
.industries-page-impact { margin-top: 18px; padding: 0 22px 20px; background: #fff; border: 1px solid #dbe2e7; border-radius: 16px; }
.industries-page-impact > h3 { width: fit-content; margin: -14px auto 20px; padding: 0 18px; color: #10265a; font-size: 22px; text-transform: uppercase; background: #f7f9f4; }
.industries-page-impact > div { display: grid; grid-template-columns: repeat(6, 1fr); }
.industries-page-impact span { display: grid; grid-template-columns: auto 1fr; gap: 0 11px; align-items: center; padding: 4px 15px; border-right: 1px solid #dce3e8; }
.industries-page-impact span:last-child { border: 0; }
.industries-page-impact i { grid-row: 1 / 3; color: #2f8336; font-size: 34px; }
.industries-page-impact strong { color: #174074; font-size: 22px; }
.industries-page-impact small { color: #4b5751; font-size: 10px; line-height: 1.25; }
.industries-page-cta {
  display: grid;
  grid-template-columns: 1fr 1.25fr auto;
  gap: 26px;
  align-items: center;
  margin-top: 18px;
  padding: 24px 28px;
  color: #fff;
  background: linear-gradient(100deg, #0e2f68 0%, #123d6b 58%, #216f32 100%);
  border-radius: 16px;
}
.industries-page-cta > div:first-child > span { font-size: 16px; text-transform: uppercase; }
.industries-page-cta h3 { margin: 2px 0 3px; color: #fff; font-size: 26px; text-transform: uppercase; }
.industries-page-cta p { margin: 0; color: rgba(255,255,255,.82); font-size: 12px; }
.industries-page-cta-values { display: grid; grid-template-columns: repeat(4, 1fr); }
.industries-page-cta-values span { display: flex; align-items: center; flex-direction: column; gap: 7px; font-size: 10px; font-weight: 700; text-align: center; text-transform: uppercase; border-right: 1px solid rgba(255,255,255,.3); }
.industries-page-cta-values i { color: #8bd05a; font-size: 26px; }
.industries-page-cta > a { display: inline-flex; align-items: center; gap: 9px; padding: 12px 18px; color: #174528; font-size: 12px; font-weight: 800; white-space: nowrap; background: #fff; border-radius: 999px; }
.industries-page-cta > a:hover { color: #fff; background: #2f8537; }
@media (max-width: 1199px) {
  .industries-page-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .industries-page-partner-grid { grid-template-columns: 1fr; }
  .industries-page-impact > div { grid-template-columns: repeat(3, 1fr); row-gap: 20px; }
  .industries-page-impact span:nth-child(3) { border-right: 0; }
  .industries-page-cta { grid-template-columns: 1fr auto; }
  .industries-page-cta-values { grid-column: 1 / -1; grid-row: 2; }
}
@media (max-width: 991px) {
  .industries-page-hero {
    align-items: flex-start;
    min-height: 650px;
    padding: 44px 40px 330px;
    background:
      linear-gradient(180deg, #fff 0%, #fff 49%, rgba(255,255,255,.96) 57%, rgba(255,255,255,.08) 78%, rgba(255,255,255,0) 100%),
      url("../img/industries-banner.jpg") center bottom / 100% auto no-repeat,
      #fff;
  }
  .industries-page-title { max-width: 650px; }
}
@media (max-width: 767px) {
  .industries-page-area { padding: 0 0 54px; }
  .industries-page-hero {
    min-height: 610px;
    padding: 34px 26px 285px;
    background:
      linear-gradient(180deg, #fff 0%, #fff 56%, rgba(255,255,255,.92) 64%, rgba(255,255,255,0) 82%),
      url("../img/industries-banner.jpg") center bottom / auto 275px no-repeat,
      #fff;
    border-radius: 0;
  }
  .industries-page-title { padding: 0; }
  .industries-page-title h1 { font-size: 36px; }
  .industries-page-label::before,
  .industries-page-label::after { display: none; }
  .industries-page-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .industries-page-partner-panel > div { grid-template-columns: repeat(3, 1fr); row-gap: 26px; }
  .industries-page-partner-panel span:nth-child(3) { border-right: 0; }
  .industries-page-impact > div { grid-template-columns: repeat(2, 1fr); }
  .industries-page-impact span:nth-child(3) { border-right: 1px solid #dce3e8; }
  .industries-page-impact span:nth-child(even) { border-right: 0; }
  .industries-page-cta { grid-template-columns: 1fr; text-align: center; }
  .industries-page-cta-values { grid-column: auto; grid-row: auto; }
  .industries-page-cta > a { justify-self: center; }
}
@media (max-width: 575px) {
  .industries-page-title h1 { font-size: 30px; }
  .industries-page-title h2 { font-size: 19px; }
  .industries-page-title p { font-size: 15px; line-height: 1.5; }
  .industries-page-hero {
    min-height: 570px;
    padding: 30px 22px 250px;
    background:
      linear-gradient(180deg, #fff 0%, #fff 61%, rgba(255,255,255,.88) 69%, rgba(255,255,255,0) 84%),
      url("../img/industries-banner.jpg") center bottom / auto 240px no-repeat,
      #fff;
  }
  .industries-page-grid { grid-template-columns: 1fr; }
  .industries-page-card { min-height: 0; }
  .industries-page-card > div { margin-top: 20px; }
  .industries-page-partner-panel > div { grid-template-columns: repeat(2, 1fr); }
  .industries-page-partner-panel span:nth-child(3) { border-right: 1px solid #dfe4e8; }
  .industries-page-partner-panel span:nth-child(even) { border-right: 0; }
  .industries-page-swm-content { grid-template-columns: 1fr; }
  .industries-page-swm-panel ul { flex-direction: column; align-items: center; }
  .industries-page-impact { padding-inline: 12px; }
  .industries-page-impact > h3 { font-size: 17px; text-align: center; }
  .industries-page-impact span { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .industries-page-impact i { grid-row: auto; }
  .industries-page-cta-values { grid-template-columns: repeat(2, 1fr); row-gap: 22px; }
}

/*=============================
    Product solutions grid
===============================*/
.product-solutions-row {
  --bs-gutter-x: 34px;
  --bs-gutter-y: 42px;
}
.product-solution-card {
  overflow: hidden;
  background: #f7f8f5;
  border-radius: 16px;
}
.product-solution-media {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1292 / 1375;
  overflow: hidden;
  background: transparent;
}
.product-solution-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.55s ease;
}
.product-solution-media svg {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 0.55s ease;
}
.product-solution-media-svg svg {
  object-fit: contain;
  background: #f3f8ed;
}
.product-solution-media-svg {
  aspect-ratio: 6 / 5;
}
.product-solution-card:hover .product-solution-media img,
.product-solution-card:hover .product-solution-media svg {
  transform: scale(1.035);
}
.product-solution-card h3 {
  min-height: 104px;
  margin: 0;
  padding: 25px 28px;
  color: var(--tg-common-black);
  font-size: 25px;
  line-height: 1.28;
  font-weight: 600;
}
.product-solution-card h3 a:hover {
  color: var(--tg-theme-primary);
}
.product-rvm-swiper,
.product-rvm-swiper .swiper-slide,
.product-bc-swiper,
.product-bc-swiper .swiper-slide {
  height: 100%;
}
.product-rvm-swiper .swiper-slide,
.product-bc-swiper .swiper-slide {
  display: flex;
  flex-direction: column;
  background: #f7f8f5;
}
.product-rvm-swiper .product-solution-media,
.product-bc-swiper .product-solution-media {
  flex: 1 0 auto;
}
.product-rvm-prev,
.product-rvm-next,
.product-bc-prev,
.product-bc-next,
.product-waste-prev,
.product-waste-next {
  position: absolute;
  top: 42%;
  z-index: 5;
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  color: #ffffff;
  background: rgba(8, 56, 33, 0.82);
  border: 0;
  border-radius: 50%;
  transform: translateY(-50%);
  transition: background 0.25s ease;
}
.product-rvm-prev { left: 18px; }
.product-rvm-next { right: 18px; }
.product-bc-prev { left: 18px; }
.product-bc-next { right: 18px; }
.product-waste-prev { left: 18px; }
.product-waste-next { right: 18px; }
.product-rvm-prev:hover,
.product-rvm-next:hover,
.product-bc-prev:hover,
.product-bc-next:hover,
.product-waste-prev:hover,
.product-waste-next:hover { background: #0d7046; }
.product-rvm-pagination,
.product-bc-pagination {
  position: absolute;
  z-index: 5;
  bottom: 112px !important;
  text-align: center;
}
.product-rvm-pagination .swiper-pagination-bullet,
.product-bc-pagination .swiper-pagination-bullet,
.product-waste-pagination .swiper-pagination-bullet {
  width: 9px;
  height: 9px;
  background: #ffffff;
  border: 1px solid #0d7046;
  opacity: 1;
}
.product-rvm-pagination .swiper-pagination-bullet-active,
.product-bc-pagination .swiper-pagination-bullet-active,
.product-waste-pagination .swiper-pagination-bullet-active { background: #0d7046; }
.product-waste-swiper { width: 100%; }
.product-waste-prev,
.product-waste-next { top: 50%; }
.product-waste-pagination {
  position: absolute;
  z-index: 5;
  bottom: 14px !important;
  text-align: center;
}
@media (max-width: 767px) {
  .product-solutions-row {
    --bs-gutter-y: 26px;
  }
  .product-solution-card h3 {
    min-height: auto;
    padding: 21px 22px;
    font-size: 21px;
  }
  .product-rvm-prev,
  .product-rvm-next,
  .product-bc-prev,
  .product-bc-next,
  .product-waste-prev,
  .product-waste-next {
    width: 38px;
    height: 38px;
  }
  .product-rvm-pagination,
  .product-bc-pagination { bottom: 82px !important; }
}

/*=============================
    Comprehensive solutions
===============================*/
.comprehensive-solutions-area {
  padding: 72px 0 82px;
  background: radial-gradient(circle at 50% 45%, #ffffff 0%, #f4f8ee 62%, #eef4e8 100%);
}
.comprehensive-solutions-heading {
  max-width: 1170px;
  margin: 0 auto 64px;
  padding: 20px 28px;
  text-align: center;
  background: #176b31;
  border-radius: 18px;
  box-shadow: 0 14px 35px rgba(23, 107, 49, 0.2);
}
.comprehensive-solutions-heading h2 {
  color: #f2f8ec;
  font-size: 43px;
  line-height: 1.15;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.01em;
  margin: 0;
}
.comprehensive-solutions-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}
.comprehensive-solution-card {
  overflow: hidden;
  background: #ffffff;
  border: 1px solid rgba(13, 112, 70, 0.12);
  border-radius: 18px;
  transition: transform 0.35s ease;
}
.comprehensive-solution-card svg,
.comprehensive-solution-card > img {
  display: block;
  width: 100%;
  height: auto;
}
.comprehensive-solution-card:hover {
  transform: translateY(-9px);
}
.sustainable-future-panel {
  max-width: 1080px;
  margin: 66px auto 0;
  padding: 42px 44px 36px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(13, 112, 70, 0.12);
  border-radius: 28px;
  box-shadow: 0 22px 50px rgba(27, 53, 38, 0.16);
}
.sustainable-future-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  margin-bottom: 42px;
}
.sustainable-future-title-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 112px;
  height: 112px;
  color: #176b31;
  font-size: 58px;
  border: 3px solid #176b31;
  border-radius: 50%;
}
.sustainable-future-title h3 {
  color: #101010;
  font-size: 48px;
  line-height: 1.03;
  font-weight: 800;
  text-transform: uppercase;
  margin: 0;
}
.sustainable-benefits-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.sustainable-benefit {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
  padding: 0 12px;
  color: #171717;
  text-align: center;
  border-right: 1px solid #d7ddd5;
}
.sustainable-benefit:last-child {
  border-right: 0;
}
.sustainable-benefit i {
  color: #176b31;
  font-size: 38px;
  margin-bottom: 14px;
}
.sustainable-benefit span {
  font-size: 13px;
  line-height: 1.25;
  font-weight: 600;
}

/*=============================
    UN sustainable development goals
===============================*/
.sdg-solutions-panel {
  position: relative;
  overflow: hidden;
  margin-top: 64px;
  padding: 42px 38px 34px;
  font-family: var(--tg-ff-body);
  background: transparent;
  border-top: 0;
  border-bottom: 0;
}
.sdg-solutions-heading {
  position: relative;
  z-index: 1;
  text-align: center;
}
.sdg-heading-mark {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-bottom: 10px;
  color: #438d31;
  font-size: 21px;
}
.sdg-heading-mark::before,
.sdg-heading-mark::after {
  content: "";
  width: 80px;
  height: 1px;
  background: #a5bf9a;
}
.sdg-solutions-heading h3 {
  margin: 0;
  color: #112b58;
  font-family: var(--tg-ff-heading);
  font-size: clamp(29px, 3vw, 48px);
  line-height: 1.08;
  font-weight: 800;
  text-transform: uppercase;
}
.sdg-solutions-heading h3 strong {
  color: #17883e;
  font-weight: inherit;
}
.sdg-solutions-heading p {
  margin: 20px 0 30px;
  color: #303635;
  font-family: var(--tg-ff-p);
  font-size: 17px;
}
.sdg-goals-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  border-top: 1px solid #e1e7df;
  border-bottom: 1px solid #e1e7df;
}
.sdg-goal {
  --sdg-color: #167145;
  display: grid;
  grid-template-rows: 27px 68px 58px 1fr;
  justify-items: center;
  row-gap: 10px;
  min-width: 0;
  padding: 22px 13px 20px;
  text-align: center;
  border-right: 1px solid #e1e7df;
}
.sdg-goal:last-child { border-right: 0; }
.sdg-goal-number {
  display: block;
  color: var(--sdg-color);
  font-family: var(--tg-ff-heading);
  font-size: 27px;
  line-height: 1;
  font-weight: 800;
}
.sdg-goal h4 {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  min-height: 0;
  margin: 0;
  color: var(--sdg-color);
  font-family: var(--tg-ff-heading);
  font-size: 11px;
  line-height: 1.22;
  font-weight: 800;
  text-transform: uppercase;
}
.sdg-goal-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  margin: 0;
  color: #ffffff;
  font-size: 27px;
  background: var(--sdg-color);
}
.sdg-goal p {
  margin: 0;
  color: #303634;
  font-family: var(--tg-ff-p);
  font-size: 11px;
  line-height: 1.45;
}
.sdg-goal-3 { --sdg-color: #4c9f38; }
.sdg-goal-5 { --sdg-color: #ff3a21; }
.sdg-goal-6 { --sdg-color: #26bde2; }
.sdg-goal-9 { --sdg-color: #fd6925; }
.sdg-goal-11 { --sdg-color: #fd9d24; }
.sdg-goal-12 { --sdg-color: #bf8b2e; }
.sdg-goal-13 { --sdg-color: #3f7e44; }
.sdg-goal-17 { --sdg-color: #19486a; }
.sdg-solutions-message {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  max-width: 710px;
  margin: 28px auto 0;
  padding: 12px 24px;
  color: #1c5331;
  text-align: center;
  border: 0;
  border-radius: 0;
}
.sdg-solutions-message > i { display: none; }
.sdg-solutions-message p {
  margin: 0;
  padding: 0;
  color: #27312c;
  font-family: var(--tg-ff-p);
  font-size: 16px;
  line-height: 1.45;
  border: 0;
}
.sdg-solutions-message strong { color: #16743c; }
.sdg-leaf {
  display: none;
  position: absolute;
  color: #6da64f;
  opacity: 0.22;
  font-size: 100px;
  transform: rotate(-28deg);
}
.sdg-leaf-left { left: -10px; bottom: -14px; }
.sdg-leaf-right { right: 8px; top: 24px; transform: rotate(24deg); }
@media (max-width: 1199px) {
  .sdg-goals-grid { grid-template-columns: repeat(4, 1fr); }
  .sdg-goal:nth-child(4) { border-right: 0; }
  .sdg-goal:nth-child(-n+4) { border-bottom: 1px solid #e1e7df; }
  .sdg-goal h4 { min-height: 34px; }
}
@media (max-width: 767px) {
  .sdg-solutions-panel { margin-top: 40px; padding: 32px 18px 26px; }
  .sdg-goals-grid { grid-template-columns: repeat(2, 1fr); }
  .sdg-goal:nth-child(even) { border-right: 0; }
  .sdg-goal:nth-child(-n+6) { border-bottom: 1px solid #e1e7df; }
  .sdg-solutions-message { gap: 12px; padding: 14px; }
  .sdg-solutions-message > i { display: none; }
  .sdg-solutions-message p { padding: 0; border: 0; font-size: 14px; }
}
@media (max-width: 420px) {
  .sdg-solutions-panel { padding-inline: 12px; }
  .sdg-solutions-heading p { font-size: 14px; line-height: 1.5; }
  .sdg-goal { padding-inline: 8px; }
}
@media (max-width: 1199px) {
  .comprehensive-solutions-heading h2 {
    font-size: 36px;
  }
  .comprehensive-solutions-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }
  .sustainable-future-title h3 {
    font-size: 40px;
  }
  .sustainable-benefits-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px 0;
  }
  .sustainable-benefit:nth-child(3) {
    border-right: 0;
  }
}
@media (max-width: 767px) {
  .comprehensive-solutions-area {
    padding: 52px 0 60px;
  }
  .comprehensive-solutions-heading {
    margin-bottom: 40px;
    padding: 16px 18px;
    border-radius: 14px;
  }
  .comprehensive-solutions-heading h2 {
    font-size: 28px;
  }
  .sustainable-future-panel {
    margin-top: 44px;
    padding: 34px 22px 30px;
    border-radius: 20px;
  }
  .sustainable-future-title {
    flex-direction: column;
    gap: 20px;
    text-align: center;
  }
  .sustainable-future-title-icon {
    width: 88px;
    height: 88px;
    font-size: 44px;
  }
  .sustainable-future-title h3 {
    font-size: 31px;
  }
  .sustainable-benefits-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sustainable-benefit:nth-child(3) {
    border-right: 1px solid #d7ddd5;
  }
  .sustainable-benefit:nth-child(even) {
    border-right: 0;
  }
}
@media (max-width: 575px) {
  .comprehensive-solutions-grid {
    grid-template-columns: 1fr;
    max-width: 390px;
    margin: 0 auto;
  }
  .comprehensive-solutions-heading h2 {
    font-size: 23px;
  }
  .sustainable-future-title h3 {
    font-size: 27px;
  }
  .sustainable-benefit {
    padding: 0 8px;
  }
  .sustainable-benefit i {
    font-size: 32px;
  }
  .sustainable-benefit span {
    font-size: 12px;
  }
}

/*=============================
    Final CTA and footer
===============================*/
.final-cta-area {
  padding: 72px 0 54px;
  background: #f8fbed;
}
.final-cta-area .row {
  align-items: center;
}
.final-cta-area .tg-cta-6-title-wrap,
.final-cta-area .tg-blog-6-btn {
  margin-bottom: 0 !important;
}
.final-cta-area .tg-cta-6-title {
  margin: 0;
  font-size: 72px;
  line-height: 0.98;
  font-weight: 500;
  letter-spacing: -0.025em;
}
.final-cta-area .tg-cta-6-border {
  display: none;
}
.footer-main-area {
  position: relative;
  padding: 56px 0 18px;
  background: linear-gradient(rgba(3, 69, 27, 0.8), rgba(3, 69, 27, 0.86)), url("../img/bga.png") center / cover no-repeat;
}
.footer-main-area .footer-inquiry-form h4 {
  color: #ffffff;
  font-size: 38px;
  line-height: 1.15;
  font-weight: 600;
  margin-bottom: 28px;
}
.footer-main-area .footer-inquiry-form form {
  display: grid;
  gap: 14px;
}
.footer-main-area .footer-inquiry-fields {
  display: grid;
  gap: 14px;
  padding: 34px;
  background: #f8faef;
  border-radius: 10px;
}
.footer-main-area .footer-inquiry-grid {
  grid-template-columns: 1fr;
  gap: 14px;
}
.footer-main-area .footer-inquiry-form input,
.footer-main-area .footer-inquiry-form textarea {
  min-height: 56px;
  padding: 14px 17px;
  color: #173b21;
  font-size: 16px;
  background: transparent;
  border: 1px solid rgba(45, 85, 50, 0.2);
  border-radius: 4px;
}
.footer-main-area .footer-inquiry-form textarea {
  min-height: 72px;
}
.footer-main-area .footer-inquiry-form button {
  justify-self: start;
  min-width: 170px;
  margin-top: 8px;
  color: #0d4c26;
  background: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.75);
  box-shadow: 0 8px 24px rgba(0, 35, 12, 0.18);
}
.footer-main-area .footer-inquiry-form button:hover {
  color: #ffffff;
  background: #0b3118;
}
.footer-main-area .tg-footer-location h4 {
  margin-bottom: 12px;
  padding-bottom: 8px;
  color: #ffffff;
  font-size: 30px;
  line-height: 1.25;
  border-bottom: 1px solid rgba(255, 255, 255, 0.55);
}
.footer-main-area .tg-footer-location a {
  display: block;
  color: rgba(255, 255, 255, 0.9);
  font-size: 17px;
  line-height: 1.5;
}
.footer-main-area .tg-footer-social a {
  width: 34px;
  height: 34px;
  color: #0d5a2c;
  line-height: 32px;
  background: #ffffff;
  border-color: rgba(255, 255, 255, 0.8);
  border-radius: 3px;
}
.footer-main-area .tg-footer-social a:hover {
  color: #ffffff;
  background: #092d17;
}
.footer-main-area .tg-footer-bottom {
  margin-top: 40px !important;
  border-top-color: rgba(255, 255, 255, 0.28);
}
.footer-main-area .tg-footer-copyright p,
.footer-main-area .tg-footer-copyright p a {
  color: rgba(255, 255, 255, 0.88);
}
@media (max-width: 991px) {
  .final-cta-area .tg-cta-6-title {
    font-size: 56px;
  }
  .final-cta-area .tg-blog-6-btn {
    margin-top: 28px;
    text-align: left !important;
  }
  .footer-main-area .footer-inquiry-form {
    margin-bottom: 42px;
  }
}
@media (max-width: 575px) {
  .final-cta-area {
    padding: 42px 0;
  }
  .final-cta-area .tg-cta-6-title {
    max-width: 340px;
    font-size: 34px;
    line-height: 1.05;
    letter-spacing: -0.02em;
  }
  .final-cta-area .tg-cta-6-title br {
    display: none;
  }
  .final-cta-area .tg-blog-6-btn {
    margin-top: 22px;
  }
  .final-cta-area .tg-btn-rounded {
    width: 118px;
    height: 118px;
    font-size: 14px;
  }
  .final-cta-area .tg-btn-rounded span {
    padding-top: 29px;
  }
  .final-cta-area .tg-btn-rounded span svg {
    margin-top: 5px;
  }
  .footer-main-area {
    padding-top: 44px;
  }
  .footer-main-area .footer-inquiry-form h4 {
    font-size: 30px;
  }
  .footer-main-area .footer-inquiry-fields {
    padding: 20px;
  }
  .footer-main-area .tg-footer-location h4 {
    font-size: 25px;
  }
  .footer-main-area .tg-footer-social {
    margin-bottom: 0;
  }
  .footer-main-area .tg-footer-bottom {
    margin-top: 24px !important;
  }
}

/*=============================
    Real projects and clients
===============================*/
.real-projects-area {
  padding: 86px 0 74px;
  background: #f8fbed;
}
.real-projects-heading,
.client-logo-heading {
  margin-bottom: 42px;
}
.real-projects-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 24px;
  min-width: 0;
}
.real-projects-slider {
  width: 100%;
  min-width: 0;
  aspect-ratio: 1.8 / 1;
  background: #eef4e4;
  border-radius: 14px;
}
.real-projects-slider .swiper-slide,
.real-projects-thumbs .swiper-slide {
  overflow: hidden;
  border-radius: 10px;
}
.real-projects-slider img,
.real-projects-thumbs img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.real-projects-thumbs {
  width: 100%;
  min-width: 0;
  height: 100%;
  max-height: 500px;
}
.real-projects-thumbs .swiper-slide {
  height: auto;
  cursor: pointer;
  opacity: 0.58;
  border: 2px solid transparent;
  transition: opacity 0.3s ease, border-color 0.3s ease;
}
.real-projects-thumbs .swiper-slide-thumb-active {
  opacity: 1;
  border-color: #176b31;
}
.real-projects-prev,
.real-projects-next {
  position: absolute;
  right: 18px;
  bottom: 18px;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  color: #ffffff;
  background: #176b31;
  border: 0;
  border-radius: 50%;
}
.real-projects-prev {
  right: 70px;
}
.client-logo-area {
  padding: 68px 0 82px;
  background: #dcebc8 url("../img/client/icone background.png") center / cover no-repeat;
}
.client-logo-slider {
  width: 100%;
  padding: 8px 2px 16px;
}
.client-logo-slider .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 150px;
}
.client-logo-slider img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media (max-width: 991px) {
  .real-projects-layout {
    grid-template-columns: 1fr;
  }
  .real-projects-thumbs {
    height: 130px;
    max-height: none;
  }
}
@media (max-width: 575px) {
  .real-projects-area {
    padding: 58px 0 52px;
  }
  .real-projects-heading,
  .client-logo-heading {
    margin-bottom: 30px;
  }
  .real-projects-slider {
    aspect-ratio: 1.45 / 1;
  }
  .real-projects-thumbs {
    height: 95px;
  }
  .real-projects-prev,
  .real-projects-next {
    width: 38px;
    height: 38px;
    right: 12px;
    bottom: 12px;
  }
  .real-projects-prev {
    right: 58px;
  }
  .client-logo-area {
    padding: 52px 0 62px;
  }
  .client-logo-slider .swiper-slide {
    height: 116px;
  }
}

/*=============================
    Sustainable plastic CTA
===============================*/
.sustainable-plastic-cta {
  display: flex;
  align-items: center;
  min-height: 330px;
  padding: 62px 0;
  background-image: linear-gradient(rgba(2, 38, 12, 0.18), rgba(2, 38, 12, 0.18)), url("../img/G.png") !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
}
.sustainable-plastic-cta .tg-cta-title {
  max-width: 920px;
  margin: 0 auto;
  color: #ffffff;
  font-size: 44px;
  line-height: 1.16;
  font-weight: 600;
  letter-spacing: 0;
  text-shadow: 0 2px 5px rgba(0, 0, 0, 0.55);
}
@media (max-width: 991px) {
  .sustainable-plastic-cta {
    min-height: 300px;
    padding: 54px 0;
  }
  .sustainable-plastic-cta .tg-cta-title {
    font-size: 36px;
  }
}
@media (max-width: 575px) {
  .sustainable-plastic-cta {
    min-height: 270px;
    padding: 44px 0;
  }
  .sustainable-plastic-cta .tg-cta-title {
    font-size: 27px;
    line-height: 1.22;
  }
}

/*=============================
    Circular journey showcase
===============================*/
.circular-journey-section {
  position: relative;
  overflow: hidden;
  padding: 90px 0 76px;
  background: linear-gradient(135deg, #f7faef 0%, #eef6e7 100%);
}
.circular-journey-section .container {
  position: relative;
  max-width: 1370px;
}
.circular-journey-heading {
  max-width: 900px;
  margin: 0 auto 58px;
  padding: 0 20px;
  text-align: center;
  background: transparent;
}
.circular-journey-heading span {
  display: inline-block;
  margin-bottom: 12px;
  color: #176b31;
  font-size: 17px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.circular-journey-heading h2 {
  margin: 0;
  color: #09271a;
  font-size: 50px;
  line-height: 1.12;
  font-weight: 700;
  letter-spacing: 0;
}
.circular-journey-heading p {
  max-width: 700px;
  margin: 18px auto 0;
  color: #526158;
  font-size: 18px;
  line-height: 1.6;
}
.circular-journey-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.39fr) minmax(0, 1fr);
  align-items: stretch;
  gap: 32px;
}
.circular-journey-panel {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 0;
  min-height: 680px;
  margin: 0;
  padding: 24px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(23, 107, 49, 0.14);
  border-radius: 26px;
  box-shadow: 0 18px 45px rgba(21, 68, 38, 0.09);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.circular-journey-panel:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 55px rgba(21, 68, 38, 0.14);
}
.circular-journey-panel svg {
  display: block;
  width: 100%;
  height: auto;
  background: transparent;
  box-shadow: none;
  mix-blend-mode: multiply;
}
.circular-journey-panel img {
  display: block;
  width: 100%;
  height: 620px;
  object-fit: contain;
  object-position: center;
}
.circular-journey-action {
  display: flex;
  justify-content: center;
  margin-top: 38px;
}
.circular-journey-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 13px;
  width: auto;
  height: auto;
  min-width: 152px;
  padding: 15px 24px;
  color: #ffffff;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 600;
  text-align: center;
  text-transform: uppercase;
  border: 1px solid #176b31;
  border-radius: 999px;
  background: #176b31;
  box-shadow: 0 10px 24px rgba(23, 107, 49, 0.2);
  transition: transform 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;
}
.circular-journey-btn span br {
  display: none;
}
.circular-journey-btn:hover {
  color: #ffffff;
  border-color: #0b4721;
  background: #0b4721;
  box-shadow: 0 14px 30px rgba(23, 107, 49, 0.28);
  transform: translateY(-2px);
}
@media (max-width: 1199px) {
  .circular-journey-heading {
    margin-bottom: 46px;
  }
  .circular-journey-heading h2 {
    font-size: 44px;
  }
  .circular-journey-panel {
    min-height: 570px;
  }
  .circular-journey-panel img {
    height: 520px;
  }
}
@media (max-width: 991px) {
  .circular-journey-section {
    padding: 68px 0 62px;
  }
  .circular-journey-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .circular-journey-panel {
    min-height: 0;
  }
  .circular-journey-panel img {
    height: auto;
  }
  .circular-journey-cycle,
  .circular-brand-panel {
    width: min(720px, 100%);
    margin: 0 auto;
  }
  .circular-brand-panel {
    width: min(720px, 100%);
  }
  .circular-journey-action {
    justify-content: center;
    margin-top: 34px;
  }
}
@media (max-width: 575px) {
  .circular-journey-section {
    padding: 50px 0;
  }
  .circular-journey-heading {
    margin-bottom: 38px;
    padding: 0 10px;
  }
  .circular-journey-heading h2 {
    font-size: 32px;
  }
  .circular-journey-heading p {
    margin-top: 14px;
    font-size: 16px;
  }
  .circular-journey-grid {
    gap: 22px;
  }
  .circular-journey-panel {
    padding: 12px;
    border-radius: 18px;
  }
  .circular-journey-btn {
    min-width: 142px;
    padding: 13px 20px;
    font-size: 12px;
  }
}

/*# sourceMappingURL=main.css.map */

/*=============================
    Solutions page
===============================*/
.solution-hero,
.solution-hero-slider {
  position: relative;
  width: 100%;
}
.solution-hero-slider {
  overflow: hidden;
  background: #f2f8eb;
}
.solution-hero-slider .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
}
.solution-hero-slider .swiper-slide img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1920 / 824;
  object-fit: cover;
  object-position: center;
}
.solution-hero-prev,
.solution-hero-next {
  position: absolute;
  top: 50%;
  z-index: 5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  color: #ffffff;
  background: rgba(13, 112, 70, 0.9);
  border: 0;
  border-radius: 50%;
  transform: translateY(-50%);
}
.solution-hero-prev { left: 26px; }
.solution-hero-next { right: 26px; }
.solution-hero-prev:hover,
.solution-hero-next:hover { background: #072f1d; }
.solution-hero-pagination {
  position: absolute;
  bottom: 24px !important;
  left: 50% !important;
  z-index: 5;
  display: flex;
  justify-content: center;
  gap: 8px;
  width: auto !important;
  transform: translateX(-50%);
}
.solution-hero-pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  margin: 0 !important;
  background: #0d7046;
  opacity: 0.45;
}
.solution-hero-pagination .swiper-pagination-bullet-active {
  width: 28px;
  border-radius: 999px;
  opacity: 1;
}
.solution-page-intro {
  padding: 90px 0;
  background: #fafdf3;
}
.solution-page-intro h1 {
  margin: 13px 0 18px;
  color: #10271b;
  font-family: var(--tg-ff-heading);
  font-size: clamp(35px, 4vw, 58px);
  font-weight: 700;
}
.solution-page-intro p {
  max-width: 820px;
  margin: 0 auto;
  color: #3d4a43;
  font-family: var(--tg-ff-p);
  font-size: 18px;
  line-height: 1.65;
}

/* Plastic and dry waste solution */
.plastic-dry-solution {
  position: relative;
  overflow: hidden;
  padding: 70px 0 78px;
  background: #f1f2f9 url("../img/solution/plastic &dry/background.png") center/cover no-repeat;
}
.plastic-dry-heading {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 4px;
  margin-bottom: 38px;
  min-height: 92px;
  padding: 18px 28px;
  background: #202f68;
}
.plastic-dry-heading h2,
.solution-stream-heading h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px 24px;
  margin: 0;
  color: #ffffff;
  font-family: var(--tg-ff-heading);
  font-size: clamp(20px, 1.75vw, 30px);
  line-height: 1.25;
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
}
.solution-heading-tagline {
  position: relative;
  padding-left: 25px;
}
.solution-heading-tagline::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 2px;
  height: 28px;
  background: rgba(255, 255, 255, 0.55);
  transform: translateY(-50%);
}
.plastic-dry-heading img {
  display: block;
  width: 100%;
  min-height: 92px;
  object-fit: cover;
}
.plastic-dry-layout {
  display: grid;
  grid-template-columns: minmax(260px, 0.82fr) minmax(0, 2fr);
  align-items: center;
  gap: 38px;
}
.plastic-dry-product {
  min-width: 0;
}
.plastic-dry-product img,
.plastic-dry-slider .swiper-slide img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 22px;
}
.plastic-dry-carousel-wrap {
  position: relative;
  min-width: 0;
  padding: 0 52px 38px;
}
.plastic-dry-slider {
  overflow: hidden;
}
.plastic-dry-slider .swiper-slide {
  height: auto;
  display: flex;
  align-items: center;
}
.plastic-dry-slider .swiper-slide img {
  aspect-ratio: 1 / 1;
  object-fit: contain;
}
.plastic-dry-prev,
.plastic-dry-next {
  position: absolute;
  top: calc(50% - 19px);
  z-index: 3;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 50%;
  color: #fff;
  background: #183363;
  transition: .25s ease;
}
.plastic-dry-prev { left: 0; }
.plastic-dry-next { right: 0; }
.plastic-dry-prev:hover,
.plastic-dry-next:hover { background: #08743f; }
.plastic-dry-pagination {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  display: flex;
  justify-content: center;
  gap: 5px;
}
.plastic-dry-pagination .swiper-pagination-bullet {
  width: 9px;
  height: 9px;
  margin: 0 !important;
  opacity: .35;
  background: #183363;
}
.plastic-dry-pagination .swiper-pagination-bullet-active {
  width: 25px;
  border-radius: 10px;
  opacity: 1;
  background: #08743f;
}

@media (max-width: 991px) {
  .plastic-dry-solution { padding: 55px 0 62px; }
  .plastic-dry-layout {
    grid-template-columns: minmax(220px, .75fr) minmax(0, 1.4fr);
    gap: 24px;
  }
  .plastic-dry-carousel-wrap { padding-inline: 44px; }
}
@media (max-width: 767px) {
  .plastic-dry-heading { margin-bottom: 26px; }
  .plastic-dry-heading img { min-height: 74px; }
  .plastic-dry-layout {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  .plastic-dry-product {
    width: min(100%, 420px);
    margin-inline: auto;
  }
  .plastic-dry-carousel-wrap {
    width: 100%;
    padding-inline: 46px;
  }
}
@media (max-width: 420px) {
  .plastic-dry-solution { padding: 42px 0 50px; }
  .plastic-dry-carousel-wrap { padding-inline: 36px; }
  .plastic-dry-prev,
  .plastic-dry-next { width: 34px; height: 34px; }
}

/* Organic, sanitary and drinking-water solution streams */
.solution-stream {
  --stream-accent: #18562d;
  position: relative;
  overflow: hidden;
  padding: 70px 0 78px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.solution-stream--organic {
  --stream-accent: #18562d;
  background-color: #f6faf2;
  background-image: url("../img/solution/organic/background.png");
}
.solution-stream--sanitary {
  --stream-accent: #df3467;
  background-color: #fff4f7;
  background-image: url("../img/solution/sanitary/background.png");
}
.solution-stream--drinking {
  --stream-accent: #2385b5;
  background-color: #f0f8fc;
  background-image: url("../img/solution/drinking/background.png");
}
.solution-stream-heading {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin-bottom: 38px;
  min-height: 92px;
  padding: 18px 28px;
  background: var(--stream-accent);
  border-radius: 4px;
}
.solution-stream-heading img {
  display: block;
  width: 100%;
  min-height: 92px;
  object-fit: cover;
}
.solution-stream-layout {
  display: grid;
  grid-template-columns: minmax(260px, .82fr) minmax(0, 2fr);
  align-items: center;
  gap: 38px;
}
.solution-stream-product,
.solution-stream-carousel {
  min-width: 0;
}
.solution-stream-product img,
.solution-stream-slider .swiper-slide img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 22px;
}
.solution-stream-carousel {
  position: relative;
  padding: 0 52px 38px;
}
.solution-stream-slider { overflow: hidden; }
.solution-stream-slider .swiper-slide {
  display: flex;
  align-items: center;
  height: auto;
}
.solution-stream-slider .swiper-slide img {
  aspect-ratio: 1 / 1;
  object-fit: contain;
}
.solution-stream-prev,
.solution-stream-next {
  position: absolute;
  top: calc(50% - 19px);
  z-index: 3;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 50%;
  color: #fff;
  background: var(--stream-accent);
  transition: transform .25s ease, filter .25s ease;
}
.solution-stream-prev { left: 0; }
.solution-stream-next { right: 0; }
.solution-stream-prev:hover,
.solution-stream-next:hover {
  filter: brightness(.85);
  transform: scale(1.05);
}
.solution-stream-pagination {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: flex;
  justify-content: center;
  gap: 5px;
}
.solution-stream-pagination .swiper-pagination-bullet {
  width: 9px;
  height: 9px;
  margin: 0 !important;
  opacity: .35;
  background: var(--stream-accent);
}
.solution-stream-pagination .swiper-pagination-bullet-active {
  width: 25px;
  border-radius: 10px;
  opacity: 1;
}
@media (max-width: 991px) {
  .solution-stream { padding: 55px 0 62px; }
  .solution-stream-layout {
    grid-template-columns: minmax(220px, .75fr) minmax(0, 1.4fr);
    gap: 24px;
  }
  .solution-stream-carousel { padding-inline: 44px; }
}
@media (max-width: 767px) {
  .solution-stream-heading { margin-bottom: 26px; }
  .solution-stream-heading img { min-height: 74px; }
  .solution-stream-layout {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  .solution-stream-product {
    width: min(100%, 420px);
    margin-inline: auto;
  }
  .solution-stream-carousel {
    width: 100%;
    padding-inline: 46px;
  }
}
@media (max-width: 767px) {
  .plastic-dry-heading,
  .solution-stream-heading {
    min-height: 0;
    padding: 18px 16px;
  }
  .plastic-dry-heading h2,
  .solution-stream-heading h2 {
    flex-direction: column;
    gap: 10px;
    font-size: clamp(18px, 5vw, 24px);
  }
  .solution-heading-tagline {
    width: 100%;
    padding: 10px 0 0;
    font-size: 0.78em;
  }
  .solution-heading-tagline::before {
    top: 0;
    left: 50%;
    width: 56px;
    height: 1px;
    transform: translateX(-50%);
  }
}
@media (max-width: 420px) {
  .solution-stream { padding: 42px 0 50px; }
  .solution-stream-carousel { padding-inline: 36px; }
  .solution-stream-prev,
  .solution-stream-next { width: 34px; height: 34px; }
}
.solutions-page main > .breadcrumb-area,
.solutions-page main > .service-environmental-intro,
.solutions-page main > .service-ecosystem-area,
.solutions-page main > .waste-services-showcase {
  display: none;
}
.footer-quick-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  margin: -4px 0 24px;
}
.footer-main-area .footer-quick-links a {
  color: #ffffff;
  font-family: var(--tg-ff-heading);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}
.footer-main-area .footer-quick-links a:hover { color: #b9e78e; }
.footer-menu-panel {
  display: grid;
  grid-template-columns: 0.7fr 2fr;
  gap: 28px;
  height: 100%;
  padding: 30px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 18px;
  background: rgba(5, 43, 22, 0.48);
}
.footer-menu-column h4 {
  margin-bottom: 16px;
  color: #ffffff;
  font-size: 20px;
  font-weight: 600;
}
.footer-menu-column ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.footer-menu-column li + li { margin-top: 8px; }
.footer-menu-column a {
  color: rgba(255, 255, 255, 0.84);
  font-size: 15px;
  line-height: 1.45;
}
.footer-menu-column a:hover { color: #b9e78e; }
.footer-products-column ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 24px;
}
.footer-products-column li + li { margin-top: 0; }
@media (max-width: 991px) {
  .footer-menu-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575px) {
  .footer-menu-panel {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 28px 22px;
  }
  .footer-menu-column:first-child ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 20px;
  }
  .footer-menu-column:first-child li + li {
    margin-top: 0;
  }
  .footer-products-column ul { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .solution-hero-slider .swiper-slide img { min-height: 310px; }
  .solution-hero-prev,
  .solution-hero-next { width: 40px; height: 40px; }
  .solution-hero-prev { left: 12px; }
  .solution-hero-next { right: 12px; }
  .solution-page-intro { padding: 65px 0; }
}

/*=============================
    Service environmental intro
===============================*/
.service-environmental-intro {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 95px 0;
  background-image: url("../img/G.png");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.service-environmental-intro::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: rgba(2, 40, 20, 0.2);
}
.service-environmental-content {
  max-width: 1180px;
  margin: 0 auto;
  color: #ffffff;
  text-align: center;
}
.service-environmental-content h1 {
  margin: 0 0 30px;
  color: #ffffff;
  font-family: var(--tg-ff-heading);
  font-size: clamp(28px, 3vw, 46px);
  line-height: 1.25;
  font-weight: 700;
}
.service-environmental-content p {
  max-width: 1100px;
  margin: 0 auto;
  color: #ffffff;
  font-family: var(--tg-ff-p);
  font-size: clamp(17px, 1.55vw, 23px);
  line-height: 1.55;
  font-weight: 600;
}

/*=============================
    Service ecosystem carousel
===============================*/
.service-ecosystem-area {
  position: relative;
  overflow: hidden;
  padding: 58px 0 0;
  background: linear-gradient(105deg, #bfdcaa 0%, #a6ca98 48%, #4e7e58 100%);
}
.service-ecosystem-heading {
  margin-bottom: 55px;
  text-align: center;
}
.service-ecosystem-heading h2 {
  display: block;
  width: min(1240px, calc(100% - 40px));
  margin: 0 auto 26px;
  padding: 24px 36px 27px;
  color: #124c29;
  font-family: var(--tg-ff-heading);
  font-size: clamp(38px, 4.6vw, 70px);
  line-height: 1.08;
  font-weight: 700;
  text-transform: uppercase;
  background: #f8fbf1;
  border: 2px solid rgba(18, 76, 41, 0.1);
  border-radius: 999px;
}
.service-ecosystem-heading p {
  margin: 0;
  color: #173d27;
  font-family: var(--tg-ff-heading);
  font-size: clamp(17px, 1.7vw, 27px);
  line-height: 1.5;
  font-weight: 700;
}
.service-ecosystem-slider-wrap {
  position: relative;
  padding: 0 58px;
}
.service-ecosystem-slider {
  overflow: hidden;
}
.service-ecosystem-slider .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  height: auto;
  padding: 10px 4px 22px;
}
.service-ecosystem-card {
  position: relative;
  width: 100%;
  max-width: 270px;
  min-height: 410px;
  padding: 28px 23px 32px;
  color: #343a36;
  background: #ffffff;
  border: 1px solid rgba(35, 47, 40, 0.12);
  border-radius: 34px;
}
.service-ecosystem-card::before {
  content: "";
  position: absolute;
  top: 18px;
  right: -16px;
  bottom: -18px;
  left: 18px;
  z-index: -1;
  background: #124c29;
  border: 2px solid #ffffff;
  border-radius: 34px;
}
.service-ecosystem-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 94px;
  height: 94px;
  margin: 0 auto 24px;
  color: #ffffff;
  font-size: 38px;
  background: #124c29;
  border-radius: 18px;
}
.service-ecosystem-card h3 {
  min-height: 56px;
  margin: 0 auto 20px;
  padding-bottom: 12px;
  color: #343a36;
  font-family: var(--tg-ff-heading);
  font-size: 16px;
  line-height: 1.25;
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
  border-bottom: 1px solid #aeb5b0;
}
.service-ecosystem-card ul {
  margin: 0;
  padding-left: 18px;
  color: #4d544f;
  font-family: var(--tg-ff-p);
  font-size: 14px;
  line-height: 1.75;
}
.service-ecosystem-card li::marker {
  color: #1e2923;
}
.service-ecosystem-prev,
.service-ecosystem-next {
  position: absolute;
  top: 50%;
  z-index: 5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  color: #ffffff;
  background: #14552f;
  border: 0;
  border-radius: 50%;
  transform: translateY(-50%);
}
.service-ecosystem-prev { left: 0; }
.service-ecosystem-next { right: 0; }
.service-ecosystem-prev:hover,
.service-ecosystem-next:hover { background: #082f1b; }
.service-ecosystem-pagination {
  display: flex;
  justify-content: center;
  gap: 7px;
  margin-top: 34px;
}
.service-ecosystem-pagination .swiper-pagination-bullet {
  width: 9px;
  height: 9px;
  margin: 0 !important;
  background: rgba(13, 112, 70, 0.4);
  opacity: 1;
}
.service-ecosystem-pagination .swiper-pagination-bullet-active {
  width: 28px;
  background: #0d7046;
  border-radius: 999px;
}
.service-ecosystem-values {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 42px 0;
  padding: 25px 0;
  background: rgba(250, 253, 244, 0.92);
  border-radius: 12px ;
}
.service-ecosystem-values > div {
  display: flex;
  align-items: center;
  gap: 15px;
  min-width: 0;
  padding: 0 24px;
  border-right: 1px solid rgba(35, 47, 40, 0.28);
}
.service-ecosystem-values > div:last-child { border-right: 0; }
.service-ecosystem-values i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  color: #ffffff;
  font-size: 24px;
  background: #124c29;
  border-radius: 11px;
}
.service-ecosystem-values p { margin: 0; font-family: var(--tg-ff-p); }
.service-ecosystem-values strong,
.service-ecosystem-values span { display: block; }
.service-ecosystem-values strong { color: #202a24; font-size: 14px; line-height: 1.3; }
.service-ecosystem-values span { margin-top: 3px; color: #465048; font-size: 12px; line-height: 1.4; }
@media (max-width: 1199px) {
  .service-ecosystem-values { grid-template-columns: repeat(2, 1fr); row-gap: 24px; }
  .service-ecosystem-values > div:nth-child(2) { border-right: 0; }
}
@media (max-width: 767px) {
  .service-ecosystem-area { padding-top: 44px; }
  .service-ecosystem-slider-wrap { padding: 0 46px; }
  .service-ecosystem-heading { margin-bottom: 38px; }
  .service-ecosystem-heading h2 { margin-top: 0; padding: 16px 18px; }
  .service-ecosystem-values { grid-template-columns: 1fr; }
  .service-ecosystem-values > div { border-right: 0; }
}
@media (max-width: 575px) {
  .service-ecosystem-slider-wrap { padding: 0 38px; }
  .service-ecosystem-prev,
  .service-ecosystem-next { width: 36px; height: 36px; }
}

/*=============================
    Waste service showcase
===============================*/
.waste-services-showcase {
  padding: 90px 0;
  background: #fafdf3;
}
.waste-services-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(24px, 4vw, 52px);
  align-items: stretch;
}
.waste-service-visual {
  overflow: hidden;
  min-width: 0;
  margin: 0;
  background: #1d6b31;
  border-radius: 4px;
}
.waste-service-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 767px) {
  .waste-services-showcase { padding: 65px 0; }
  .waste-services-grid { grid-template-columns: 1fr; }
  .waste-service-visual img { height: auto; }
}
@media (max-width: 767px) {
  .service-environmental-intro { padding: 70px 0; }
  .service-environmental-content h1 { margin-bottom: 22px; }
}
@media (max-width: 575px) {
  .service-environmental-intro { padding: 55px 0; }
  .service-environmental-content p { font-size: 16px; }
}

/*=============================
    About page hero and introduction
===============================*/
.about-page-hero {
  position: relative;
  padding: 0;
}
.about-page-hero-slider {
  width: 100%;
  height: clamp(430px, 52vw, 760px);
}
.about-page-hero-slider .swiper-slide {
  position: relative;
  overflow: hidden;
  background: #e8eee5;
}
.about-page-hero-slider .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.about-page-hero-slider .swiper-slide:not(:first-child) img {
  object-position: center;
}
.about-hero-prev,
.about-hero-next {
  position: absolute;
  top: 50%;
  z-index: 5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  color: #ffffff;
  background: rgba(13, 112, 70, 0.88);
  border: 0;
  border-radius: 50%;
  transform: translateY(-50%);
  transition: background-color 0.3s ease, transform 0.3s ease;
}
.about-hero-prev { left: 28px; }
.about-hero-next { right: 28px; }
.about-hero-prev:hover,
.about-hero-next:hover {
  background: #072f1d;
  transform: translateY(-50%) scale(1.06);
}
.about-hero-pagination {
  position: absolute;
  left: 50% !important;
  bottom: 24px !important;
  z-index: 5;
  display: flex;
  justify-content: center;
  gap: 7px;
  width: auto !important;
  transform: translateX(-50%);
}
.about-hero-pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  margin: 0 !important;
  background: #ffffff;
  opacity: 0.65;
}
.about-hero-pagination .swiper-pagination-bullet-active {
  width: 28px;
  border-radius: 999px;
  opacity: 1;
}
.about-company-intro {
  padding: 82px 0 112px;
}
.about-company-intro .container {
  max-width: 1200px;
}
.about-company-kicker {
  display: block;
  margin-bottom: 25px;
  color: #111111;
  font-family: var(--tg-ff-heading);
  font-size: 20px;
  line-height: 1.3;
  font-weight: 700;
  text-transform: uppercase;
}
.about-company-tagline {
  display: flex;
  align-items: baseline;
  gap: 20px;
  margin-bottom: 32px;
}
.about-company-tagline > span {
  flex: 0 0 auto;
  color: #111111;
  font-family: var(--tg-ff-body);
  font-size: 21px;
  font-weight: 800;
  text-transform: uppercase;
}
.about-company-tagline h1 {
  margin: 0;
  color: #101010;
  font-family: var(--tg-ff-heading);
  font-size: clamp(28px, 3vw, 44px);
  line-height: 1.25;
  font-weight: 500;
}
.about-company-copy {
  max-width: 1080px;
}
.about-company-copy h2 {
  margin: 0 0 8px;
  color: #121212;
  font-family: var(--tg-ff-heading);
  font-size: 22px;
  line-height: 1.4;
  font-weight: 600;
}
.about-company-copy p {
  margin: 0 0 22px;
  color: #171717;
  font-family: var(--tg-ff-p);
  font-size: 19px;
  line-height: 1.55;
}
.about-company-copy strong {
  color: #111111;
  font-weight: 750;
}
.about-company-copy .about-company-signoff {
  margin-bottom: 0;
  font-family: var(--tg-ff-heading);
  font-style: italic;
}
.about-who-we-are .tg-about-3-content .tg-section-title {
  font-size: clamp(28px, 3vw, 44px);
  line-height: 1.25;
}
.about-who-we-are .tg-about-3-content .tg-section-title span {
  display: inline-block;
  margin-right: 10px;
  font-family: var(--tg-ff-body);
  font-size: 0.55em;
  font-weight: 800;
  text-transform: uppercase;
  vertical-align: middle;
}
.about-who-we-are .tg-about-3-content h3 {
  margin: 24px 0 8px;
  color: #111111;
  font-family: var(--tg-ff-heading);
  font-size: 22px;
  font-weight: 600;
}
.about-who-we-are .tg-about-3-content p,
.about-who-we-are-copy p {
  color: #171717;
  font-family: var(--tg-ff-p);
  font-size: 17px;
  line-height: 1.58;
}
.about-who-we-are strong {
  color: #111111;
  font-weight: 750;
}
.about-who-we-are-signoff {
  margin-bottom: 0;
  font-family: var(--tg-ff-heading) !important;
  font-style: italic;
}

/*=============================
    About journey
===============================*/
.about-journey-area {
  overflow: hidden;
  padding: 110px 0;
  background: #f1f7e9;
}
.about-journey-heading,
.about-principles-heading {
  max-width: 760px;
  margin: 0 auto 64px;
  text-align: center;
}
.about-journey-heading h2,
.about-principles-heading h2 {
  margin: 12px 0 14px;
  color: #10271b;
  font-family: var(--tg-ff-heading);
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.15;
  font-weight: 700;
}
.about-journey-heading p {
  margin: 0;
  color: #4d5b53;
  font-family: var(--tg-ff-p);
  font-size: 18px;
}
.about-journey-track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
}
.about-journey-track::before {
  content: "";
  position: absolute;
  top: 54px;
  right: 16.5%;
  left: 16.5%;
  height: 2px;
  background: linear-gradient(90deg, #75b848, #0d7046, #75b848);
}
.about-journey-step {
  position: relative;
  z-index: 1;
  padding: 0 28px 34px;
  text-align: center;
  background: rgba(255, 255, 255, 0.68);
  border: 1px solid rgba(13, 112, 70, 0.14);
  border-radius: 24px;
}
.about-journey-number {
  position: absolute;
  top: 22px;
  right: 24px;
  color: rgba(13, 112, 70, 0.14);
  font-family: var(--tg-ff-heading);
  font-size: 48px;
  line-height: 1;
  font-weight: 700;
}
.about-journey-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 86px;
  height: 86px;
  margin-top: -1px;
  color: #ffffff;
  font-size: 32px;
  background: #0d7046;
  border: 8px solid #f1f7e9;
  border-radius: 50%;
}
.about-journey-step h3 {
  margin: 24px 0 14px;
  color: #10271b;
  font-family: var(--tg-ff-heading);
  font-size: 22px;
  line-height: 1.3;
  font-weight: 700;
}
.about-journey-step p {
  margin: 0;
  color: #35433b;
  font-family: var(--tg-ff-p);
  font-size: 15px;
  line-height: 1.65;
}

/*=============================
    About vision, mission and strategy
===============================*/
.about-principles-area {
  padding: 110px 0 120px;
}
.about-principles-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.about-principle-card {
  position: relative;
  overflow: hidden;
  min-height: 290px;
  padding: 34px 30px 30px;
  background: #f3f9e9;
  border: 1px solid rgba(13, 112, 70, 0.18);
  border-radius: 10px;
}
.about-principle-card::after {
  content: "";
  position: absolute;
  top: -54px;
  right: -54px;
  width: 126px;
  height: 126px;
  background: rgba(13, 112, 70, 0.1);
  border-radius: 50%;
}
.about-principle-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  margin-bottom: 22px;
  color: #ffffff;
  font-size: 23px;
  background: #0d7046;
  border-radius: 50%;
}
.about-principle-card h3 {
  margin: 0 0 10px;
  color: #14231a;
  font-family: var(--tg-ff-heading);
  font-size: 22px;
  line-height: 1.3;
  font-weight: 700;
}
.about-principle-card h4 {
  margin: -4px 0 15px;
  color: #17833f;
  font-family: var(--tg-ff-heading);
  font-size: 14px;
  line-height: 1.4;
  font-weight: 600;
}
.about-principle-card p {
  margin: 0;
  color: #425047;
  font-family: var(--tg-ff-p);
  font-size: 15px;
  line-height: 1.65;
}
.about-principle-brand {
  background: linear-gradient(135deg, #f7fbef 0%, #eef7e7 100%);
}

/*=============================
    About circular economy philosophy
===============================*/
.about-circular-philosophy {
  overflow: hidden;
  background: radial-gradient(circle at 64% 36%, #f8fffb 0%, #edf8f1 45%, #e2f1ec 100%);
}
.about-circular-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(0, 0.94fr);
  align-items: center;
  min-height: 720px;
}
.about-circular-content {
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
  gap: clamp(26px, 2.2vw, 44px);
  align-items: center;
  min-width: 0;
  padding: 76px 32px 70px max(4.5vw, 48px);
}
.about-circular-heading,
.about-circular-principles {
  min-width: 0;
}
.about-circular-heading h2 {
  margin: 0;
  color: #075034;
  font-family: var(--tg-ff-heading);
  font-size: clamp(48px, 3.7vw, 70px);
  line-height: 1.02;
  font-weight: 700;
  text-transform: uppercase;
  overflow-wrap: normal;
}
.about-circular-heading > span {
  display: block;
  margin-top: 16px;
  color: #8aac72;
  font-family: var(--tg-ff-heading);
  font-size: clamp(22px, 1.7vw, 32px);
  line-height: 1;
  font-weight: 700;
  letter-spacing: clamp(4px, 0.38vw, 7px);
  text-transform: uppercase;
}
.about-circular-heading > i {
  display: block;
  width: 132px;
  height: 3px;
  margin: 27px 0 24px;
  background: #91bc82;
}
.about-circular-heading > p {
  max-width: 400px;
  margin: 0;
  color: #1f2b25;
  font-family: var(--tg-ff-p);
  font-size: 17px;
  line-height: 1.55;
}
.about-circular-principles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.about-circular-principle {
  position: relative;
  min-height: 138px;
  padding: 18px 18px 15px;
  background: rgba(255, 255, 255, 0.58);
  border: 1px solid rgba(13, 112, 70, 0.1);
  border-radius: 13px;
}
.about-circular-index {
  display: inline-block;
  padding-bottom: 5px;
  color: #1e2923;
  font-family: var(--tg-ff-heading);
  font-size: 28px;
  line-height: 1;
  font-weight: 600;
  border-bottom: 1px solid #789b87;
}
.about-circular-principle > i {
  position: absolute;
  top: 21px;
  right: 18px;
  color: #075d3e;
  font-size: 34px;
}
.about-circular-principle h3 {
  margin: 27px 0 2px;
  color: #111b15;
  font-family: var(--tg-ff-heading);
  font-size: clamp(14px, 0.95vw, 17px);
  line-height: 1.2;
  font-weight: 700;
}
.about-circular-principle p {
  margin: 0;
  color: #3e4a43;
  font-family: var(--tg-ff-p);
  font-size: 11px;
  line-height: 1.4;
}
.about-circular-pledge {
  display: flex;
  align-items: center;
  gap: 16px;
  grid-column: 1 / -1;
  margin-top: 6px;
  color: #075034;
}
.about-circular-pledge i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  font-size: 23px;
  border: 2px solid currentColor;
  border-radius: 50%;
}
.about-circular-pledge span {
  padding-left: 16px;
  font-family: var(--tg-ff-heading);
  font-size: 15px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  border-left: 1px solid #8ba89a;
}
.about-circular-visual {
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  margin: 0;
  padding: 28px 22px 28px 0;
}
.about-circular-visual img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 720px;
  object-fit: contain;
  object-position: center;
  mix-blend-mode: multiply;
}
@media (max-width: 1599px) {
  .about-circular-layout { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); }
  .about-circular-content { padding-left: 32px; padding-right: 24px; }
  .about-circular-principle { padding-inline: 14px; }
  .about-circular-principle > i { right: 14px; }
}
@media (max-width: 1399px) {
  .about-circular-layout { grid-template-columns: 1fr; }
  .about-circular-content {
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    padding: 80px max(4vw, 30px) 50px;
  }
  .about-circular-heading h2 {
    max-width: 100%;
    font-size: clamp(46px, 5vw, 68px);
  }
  .about-circular-visual { height: auto; padding: 0 30px 55px; }
  .about-circular-visual img { width: min(980px, 100%); max-height: none; }
}
@media (max-width: 991px) {
  .about-circular-content {
    grid-template-columns: 1fr;
    gap: 38px;
    padding: 65px max(4vw, 24px) 35px;
  }
  .about-circular-heading h2 {
    font-size: clamp(42px, 8vw, 62px);
  }
  .about-circular-heading > p { max-width: none; }
  .about-circular-pledge { grid-column: auto; }
  .about-circular-visual { height: auto; }
}
@media (max-width: 767px) {
  .about-circular-content { padding-inline: 20px; }
}
@media (max-width: 480px) {
  .about-circular-principles { grid-template-columns: 1fr; }
  .about-circular-principle { min-height: 126px; }
  .about-circular-pledge span { letter-spacing: 1.5px; }
}

/*=============================
    About impact
===============================*/
.about-impact-area {
  overflow: hidden;
  padding: 110px 0 115px;
  background: #fafdf3;
}
.about-impact-layout {
  display: grid;
  grid-template-columns: minmax(230px, 0.34fr) minmax(0, 1fr);
  gap: clamp(45px, 7vw, 110px);
  align-items: start;
}
.about-impact-heading {
  position: relative;
  padding-top: 6px;
}
.about-impact-number {
  display: block;
  margin-bottom: 18px;
  color: rgba(13, 112, 70, 0.42);
  font-family: var(--tg-ff-heading);
  font-size: clamp(64px, 7vw, 108px);
  line-height: 0.8;
  font-weight: 700;
}
.about-impact-heading h2 {
  margin: 0;
  color: #10271b;
  font-family: var(--tg-ff-heading);
  font-size: clamp(36px, 4vw, 56px);
  line-height: 1.15;
  font-weight: 700;
}
.about-impact-line {
  display: block;
  width: 92px;
  height: 3px;
  margin-top: 24px;
  background: #0d7046;
}
.about-impact-copy {
  padding-left: clamp(26px, 4vw, 60px);
  border-left: 1px solid rgba(13, 112, 70, 0.24);
}
.about-impact-copy > p {
  max-width: 980px;
  margin: 0;
  color: #1b241f;
  font-family: var(--tg-ff-p);
  font-size: clamp(17px, 1.25vw, 20px);
  line-height: 1.62;
}
.about-impact-copy > p + p {
  margin-top: 16px;
}
.about-impact-copy strong {
  color: #0a3926;
  font-weight: 800;
}
.about-impact-highlights {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 34px;
}
.about-impact-highlights span {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-height: 88px;
  padding: 12px 14px;
  color: #075034;
  font-family: var(--tg-ff-heading);
  font-size: 13px;
  line-height: 1.18;
  font-weight: 700;
  background: rgba(249, 252, 246, 0.92);
  border: 1px solid rgba(13, 112, 70, 0.22);
  border-radius: 14px;
}
.about-impact-highlights i {
  display: inline-grid;
  place-items: center;
  width: 48px;
  height: 48px;
  color: #075034;
  font-size: 22px;
  border: 1px solid rgba(13, 112, 70, 0.45);
  border-radius: 50%;
  background: #f8fcf5;
}
.about-impact-highlights .about-impact-bottle-icon svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.about-impact-highlights strong {
  color: #164b36;
  font-weight: 700;
}
@media (max-width: 991px) {
  .about-impact-area { padding: 85px 0 90px; }
  .about-impact-layout { grid-template-columns: 1fr; gap: 40px; }
  .about-impact-number { font-size: 72px; }
  .about-impact-copy {
    padding: 28px 0 0;
    border-top: 1px solid rgba(13, 112, 70, 0.24);
    border-left: 0;
  }
  .about-impact-highlights { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
  .about-impact-area { padding: 65px 0 70px; }
  .about-impact-layout { gap: 30px; }
  .about-impact-number { font-size: 58px; }
  .about-impact-highlights { grid-template-columns: 1fr; }
}

/*=============================
    About delivery process
===============================*/
.about-delivery-process {
  overflow: hidden;
  padding: 0;
  background: #eef6f3;
}
.about-delivery-image {
  width: 100%;
  margin: 0;
}
.about-delivery-image img {
  display: block;
  width: 100%;
  height: auto;
}
.about-delivery-heading {
  margin-bottom: 62px;
  text-align: center;
}
.about-delivery-heading h2 {
  margin: 13px 0 0;
  color: #19231e;
  font-family: var(--tg-ff-heading);
  font-size: clamp(27px, 3vw, 42px);
  line-height: 1.3;
  font-weight: 700;
}
.about-delivery-heading h2 i {
  margin: 0 8px;
  color: #627068;
  font-size: 0.72em;
}
.about-delivery-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 42px;
}
.about-delivery-step {
  --process-color: #527fbd;
  position: relative;
  min-width: 0;
  text-align: center;
}
.about-delivery-step:not(:last-child)::after {
  content: "\f061";
  position: absolute;
  top: 96px;
  right: -31px;
  color: #68736d;
  font-family: "Font Awesome 6 Pro";
  font-size: 28px;
  font-weight: 900;
}
.about-delivery-index {
  position: absolute;
  top: -10px;
  left: 50%;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  color: #ffffff;
  font-family: var(--tg-ff-heading);
  font-size: 19px;
  font-weight: 700;
  background: var(--process-color);
  border: 4px solid #eef6f3;
  border-radius: 50%;
  transform: translateX(-50%);
}
.about-delivery-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 168px;
  height: 168px;
  margin: 10px auto 24px;
  color: #18251e;
  font-size: 50px;
  background: #ffffff;
  border: 13px solid var(--process-color);
  border-radius: 50%;
}
.about-delivery-step h3 {
  margin: 0 0 10px;
  color: var(--process-color);
  font-family: var(--tg-ff-heading);
  font-size: 19px;
  line-height: 1.2;
  font-weight: 800;
  text-transform: uppercase;
}
.about-delivery-step p {
  margin: 0 auto;
  color: #35423b;
  font-family: var(--tg-ff-p);
  font-size: 13px;
  line-height: 1.55;
}
.about-delivery-design { --process-color: #43ad5a; }
.about-delivery-implement { --process-color: #ed8a20; }
.about-delivery-support { --process-color: #7359b5; }
@media (max-width: 1199px) {
  .about-delivery-grid { grid-template-columns: repeat(2, 1fr); row-gap: 62px; }
  .about-delivery-step::after { display: none; }
  .about-delivery-step p { max-width: 330px; }
}
@media (max-width: 767px) {
  .about-delivery-process { padding: 0; }
  .about-delivery-heading h2 i { display: none; }
  .about-delivery-heading h2 { display: grid; gap: 4px; }
  .about-delivery-grid { grid-template-columns: 1fr; }
}
@media (max-width: 575px) {
  .about-delivery-process { padding: 0; }
  .about-delivery-icon { width: 148px; height: 148px; font-size: 43px; }
}
@media (max-width: 991px) {
  .about-journey-area,
  .about-principles-area { padding: 85px 0; }
  .about-journey-track,
  .about-principles-grid { grid-template-columns: 1fr; }
  .about-journey-track { gap: 28px; }
  .about-journey-track::before {
    top: 45px;
    bottom: 45px;
    left: 43px;
    width: 2px;
    height: auto;
  }
  .about-journey-step {
    min-height: 190px;
    padding: 30px 30px 30px 116px;
    text-align: left;
  }
  .about-journey-icon {
    position: absolute;
    top: 25px;
    left: 0;
    margin: 0;
  }
  .about-journey-step h3 { margin-top: 0; }
  .about-principle-card { min-height: auto; }
}
@media (max-width: 575px) {
  .about-journey-area,
  .about-principles-area { padding: 65px 0; }
  .about-journey-heading,
  .about-principles-heading { margin-bottom: 44px; }
  .about-journey-track::before { display: none; }
  .about-journey-step { padding: 28px 22px; text-align: center; }
  .about-journey-icon { position: relative; top: auto; left: auto; }
  .about-journey-step h3 { margin-top: 20px; }
  .about-principle-card { padding: 28px 22px; }
}
@media (max-width: 1199px) {
  .about-page-hero-slider { height: 560px; }
}
@media (max-width: 991px) {
  .about-page-hero-slider { height: 480px; }
  .about-company-intro { padding: 65px 0 90px; }
}
@media (max-width: 767px) {
  .about-who-we-are {
    padding-top: 52px !important;
    padding-bottom: 64px !important;
  }
  .about-page-hero-slider {
    height: auto;
    aspect-ratio: 1923 / 1040;
  }
  .about-page-hero-slider .swiper-slide img {
    object-fit: contain;
    object-position: center;
  }
  .about-hero-prev,
  .about-hero-next { width: 42px; height: 42px; }
  .about-hero-prev { left: 14px; }
  .about-hero-next { right: 14px; }
  .about-company-tagline {
    display: block;
    margin-bottom: 28px;
  }
  .about-company-tagline > span {
    display: block;
    margin-bottom: 10px;
    font-size: 17px;
  }
  .about-company-copy p { font-size: 17px; line-height: 1.6; }
}
@media (max-width: 575px) {
  .about-page-hero-slider { height: auto; }
  .about-company-intro { padding: 50px 0 70px; }
  .about-company-kicker { font-size: 17px; }
  .about-company-tagline h1 { font-size: 27px; }
}

/*=============================
    Site-wide mobile safeguards
===============================*/
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

img,
svg,
video,
canvas,
iframe {
  max-width: 100%;
}

img,
video,
canvas {
  height: auto;
}

input,
select,
textarea,
button {
  max-width: 100%;
}

.row > * {
  min-width: 0;
}

table {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.mobile-nav-toggler {
  display: none;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  flex: 0 0 46px;
  gap: 5px;
  width: 46px;
  height: 46px;
  margin: 0;
  padding: 0;
  color: var(--tg-common-black);
  background: transparent;
  border: 1px solid currentColor;
  border-radius: 50%;
  cursor: pointer;
}

.mobile-nav-toggler span {
  display: block;
  width: 19px;
  height: 2px;
  background: currentColor;
  transition: transform 0.2s ease;
}

.mobile-nav-toggler:hover,
.mobile-nav-toggler:focus-visible {
  color: var(--tg-theme-primary);
}

@media (max-width: 1199px) {
  .mobile-nav-toggler {
    display: inline-flex;
  }

  .tg-header-right {
    gap: 14px;
  }

  .tg-header-logo img {
    width: min(150px, 100%);
    height: auto;
  }
}

@media (max-width: 767px) {
  .tg-header__area .container-fluid {
    padding-right: 18px;
    padding-left: 18px;
  }

  .tg-header-btn {
    display: none !important;
  }

  .tgmobile__menu {
    width: min(350px, 100%);
    padding-right: 0;
  }

  .tgmobile__menu .nav-logo {
    padding: 22px 20px;
  }

  .tgmobile__search {
    margin: 0 20px 20px;
  }

  .tgmobile__menu .navigation li > a {
    padding: 14px 56px 14px 20px;
    line-height: 1.3;
  }

  .tgmobile__menu .navigation li ul li > a {
    margin-left: 10px;
  }

  .tgmobile__menu .tg-btn {
    white-space: normal;
  }
}

@media (max-width: 575px) {
  .tg-header-logo img {
    width: min(125px, 100%);
  }

  .mobile-nav-toggler {
    flex-basis: 42px;
    width: 42px;
    height: 42px;
  }

  .container,
  .container-fluid {
    padding-right: 15px;
    padding-left: 15px;
  }
}
