:root {
--thm-gray: #726f84;
--thm-gray-rgb: 114, 111, 132;
--thm-primary: #3c72fc;
--thm-primary-rgb: 60, 114, 252;
--thm-black: #0f0d1d;
--thm-black-rgb: 15, 13, 29;
--thm-base: #ffffff;
--thm-base-rgb: 255, 255, 255;
--thm-light: #f2f4f8;
--thm-light-rgb: 242, 244, 248;
--thm-letter-space-big: 0.1em;
--thm-letter-space-small: -0.02em;
}

.row {
--bs-gutter-x: 30px;
}

.gutter-y-30 {
--bs-gutter-y: 30px;
}

body {
font-family: "Montserrat", sans-serif;
}

body.locked {
overflow: hidden;
}

a {
color: var(--thm-gray);
}

a,
a:hover,
a:focus,
a:visited {
text-decoration: none;
}

::-webkit-input-placeholder {
color: inherit;
opacity: 1;
}

::-moz-placeholder {
color: inherit;
opacity: 1;
}

:-ms-input-placeholder {
color: inherit;
opacity: 1;
}

::-ms-input-placeholder {
color: inherit;
opacity: 1;
}

::placeholder {
color: inherit;
opacity: 1;
}

h1,
h2,
h3,
h4,
h5,
h6 {
color: var(--thm-black);
margin: 0;
}

dl,
ol,
ul {
margin-top: 0;
margin-bottom: 0;
}

::-webkit-input-placeholder {
color: inherit;
opacity: 1;
}

::-moz-placeholder {
color: inherit;
opacity: 1;
}

:-ms-input-placeholder {
color: inherit;
opacity: 1;
}

::-ms-input-placeholder {
color: inherit;
opacity: 1;
}

::placeholder {
color: inherit;
opacity: 1;
}


.page-wrapper {
position: relative;
margin: 0 auto;
width: 100%;
min-width: 300px;
}

.container {
padding-left: 15px;
padding-right: 15px;
}

@media (min-width: 1200px) {
.container {
max-width: 1200px;
}
}

.preloader {
position: fixed;
background-color: var(--thm-black);
background-position: center center;
background-repeat: no-repeat;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 9991;
display: flex;
justify-content: center;
align-items: center;
text-align: center;
}

.preloader__image {
background-image: url(../images/loader.png);
-webkit-animation-fill-mode: both;
animation-fill-mode: both;
-webkit-animation-name: flipInY;
animation-name: flipInY;
-webkit-animation-duration: 2s;
animation-duration: 2s;
-webkit-animation-iteration-count: infinite;
animation-iteration-count: infinite;
background-repeat: no-repeat;
background-position: center center;
background-size: 60px auto;
width: 100%;
height: 100%;
}

/* scroll to top */
.scroll-to-top {
display: inline-block;
width: 45px;
height: 45px;
background: var(--thm-primary);
position: fixed;
bottom: 40px;
right: 40px;
z-index: 99;
text-align: center;
transition: all 0.4s ease;
display: none;
border-radius: 50%;
transition: all 0.4s ease;
}

.scroll-to-top i {
color: var(--thm-base);
font-size: 18px;
line-height: 45px;
}

.scroll-to-top:hover {
background-color: var(--thm-black);
}

.scroll-to-top:hover i {
color: var(--thm-base);
}

/*--------------------------------------------------------------
# Navigations One
--------------------------------------------------------------*/
.main-header {
padding: 0 60px;
background: #fff;
width: 100%;
z-index: 91;
transition: all 500ms ease;
}

.boxed-wrapper .main-header {
padding-right: 0;
}

.main-header:before {
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 1px;
content: "";
background-color: rgba(var(--thm-base-rgb), .15);
}


.stricky-header {
padding: 0 60px;
background-color: var(--thm-black);
}


.stricky-header .main-menu-wrapper-three {
max-width: 1170px;
margin: 0 auto;
width: 100%;
}

/*--------------------------------------------------------------
# Animations
--------------------------------------------------------------*/
@-webkit-keyframes bubbleMover {
0% {
transform: translateY(0px) translateX(0) rotate(0);
}

30% {
transform: translateY(30px) translateX(50px) rotate(15deg);
transform-origin: center center;
}

50% {
transform: translateY(50px) translateX(100px) rotate(45deg);
transform-origin: right bottom;
}

80% {
transform: translateY(30px) translateX(50px) rotate(15deg);
transform-origin: left top;
}

100% {
transform: translateY(0px) translateX(0) rotate(0);
transform-origin: center center;
}
}

@keyframes bubbleMover {
0% {
transform: translateY(0px) translateX(0) rotate(0);
}

30% {
transform: translateY(30px) translateX(50px) rotate(15deg);
transform-origin: center center;
}

50% {
transform: translateY(50px) translateX(100px) rotate(45deg);
transform-origin: right bottom;
}

80% {
transform: translateY(30px) translateX(50px) rotate(15deg);
transform-origin: left top;
}

100% {
transform: translateY(0px) translateX(0) rotate(0);
transform-origin: center center;
}
}

@-webkit-keyframes shapeMover {

0%,
100% {
transform: perspective(400px) translateY(0) rotate(0deg) translateZ(0px) translateX(0);
}

50% {
transform: perspective(400px) rotate(0deg) translateZ(20px) translateY(20px) translateX(20px);
}
}

@keyframes shapeMover {

0%,
100% {
transform: perspective(400px) translateY(0) rotate(0deg) translateZ(0px) translateX(0);
}

50% {
transform: perspective(400px) rotate(0deg) translateZ(20px) translateY(20px) translateX(20px);
}
}

@-webkit-keyframes banner3Shake {
0% {
transform: rotate3d(0, 1, 0, 0deg);
}

30% {
transform: rotate3d(0, 0, 1, 5deg);
}

60% {
transform: rotate3d(1, 0, 0, 0deg);
}

80% {
transform: rotate3d(0, 0, 1, 5deg);
}

100% {
transform: rotate3d(0, 1, 0, 0deg);
}
}

@keyframes banner3Shake {
0% {
transform: rotate3d(0, 1, 0, 0deg);
}

30% {
transform: rotate3d(0, 0, 1, 5deg);
}

60% {
transform: rotate3d(1, 0, 0, 0deg);
}

80% {
transform: rotate3d(0, 0, 1, 5deg);
}

100% {
transform: rotate3d(0, 1, 0, 0deg);
}
}

@-webkit-keyframes squareMover {

0%,
100% {
transform: translate(0, 0) rotate(0);
}

20%,
60% {
transform: translate(20px, 40px) rotate(180deg);
}

30%,
80% {
transform: translate(40px, 60px) rotate(0deg);
}
}

@keyframes squareMover {

0%,
100% {
transform: translate(0, 0) rotate(0);
}

20%,
60% {
transform: translate(20px, 40px) rotate(180deg);
}

30%,
80% {
transform: translate(40px, 60px) rotate(0deg);
}
}

@-webkit-keyframes treeMove {

0%,
100% {
transform: rotate(0deg) translateX(0);
}

25%,
75% {
transform: rotate(5deg) translateX(15px);
}

50% {
transform: rotate(10deg) translateX(30px);
}
}

@keyframes treeMove {

0%,
100% {
transform: rotate(0deg) translateX(0);
}

25%,
75% {
transform: rotate(5deg) translateX(15px);
}

50% {
transform: rotate(10deg) translateX(30px);
}
}


/*--------------------------------------------------------------
#     Zoom Fade Css
--------------------------------------------------------------*/
.zoom-fade {
animation-name: zoom-fade;
animation-duration: 5s;
animation-iteration-count: infinite;
animation-timing-function: linear;

-webkit-animation-name: zoom-fade;
-webkit-animation-duration: 5s;
-webkit-animation-iteration-count: infinite;
-webkit-animation-timing-function: linear;

-moz-animation-name: zoom-fade;
-moz-animation-duration: 5s;
-moz-animation-iteration-count: infinite;
-moz-animation-timing-function: linear;

-ms-animation-name: zoom-fade;
-ms-animation-duration: 5s;
-ms-animation-iteration-count: infinite;
-ms-animation-timing-function: linear;

-o-animation-name: zoom-fade;
-o-animation-duration: 5s;
-o-animation-iteration-count: infinite;
-o-animation-timing-function: linear;
}

@-webkit-keyframes zoom-fade {
0% {
transform: scale(0.9);
}

50% {
transform: scale(1);
}

100% {
transform: scale(0.9);
}
}

@keyframes zoom-fade {
0% {
transform: scale(0.9);
}

50% {
transform: scale(1);
}

100% {
transform: scale(0.9);
}
}


@-webkit-keyframes service_hexagon_2 {
0% {
transform: rotateY(0deg)
}

100% {
transform: rotateY(360deg)
}
}


@keyframes service_hexagon_2 {
0% {
transform: rotateY(0deg)
}

100% {
transform: rotateY(360deg)
}
}

@keyframes service_hexagon_2 {
0% {
transform: rotateY(0deg)
}

100% {
transform: rotateY(360deg)
}
}

.banner {
background: url(../images/banner-bg.jpg) center top no-repeat #f2edda;
padding: 20px 0 20px;
}

.banner_content{ padding:0 40px; padding-right:0;}
.banner h1 {
font-size:50px;
line-height:60px;
color:#062c4d;
font-weight:700;
margin-bottom:15px;
}
.banner h2 {
font-size:24px;
line-height:32px;
color:#000;
font-weight:500;
margin-right:10px;
border-top:dashed 1px #8e8e8e;
border-bottom:dashed 1px #8e8e8e;
padding:5px 0;
margin-bottom:15px;
}
.banner p {
font-size:16px;
line-height:22px;
color:#000;
font-weight:300;
}

.banner_pic{ position:relative; z-index:9; text-align:center;}
.banner_pic_shadow{ position:absolute; bottom:-85px; right:50px; z-index:-1;}
.banner_pic_mt{ margin-top:0%;}

ul.list_icon {
width: 100%;
padding: 0;
margin-bottom:10px;
list-style-type: none;
}
ul.list_icon li {
width: 100%;
clear: both;
display: block;
background: url(../images/round-icon.webp) 0 9px no-repeat;
padding-left: 20px;
font-size: 16px;
line-height: 24px;
color: #000;
text-align: left;
padding-bottom: 0;
font-weight: 300;
}
ul.list_icon li strong{
font-weight: 600;
}

.commonwide{
position: relative;
display: block;
padding: 60px 0px;
}

.awards_inside{
background-color: var(--thm-base);
box-shadow: 0px 10px 60px 0px rgb(0, 0, 0, 0.10);
padding: 50px 50px 42px;
}


.research_publication {
font-size: 13px;
margin: 0;
line-height: 18px;
color: #000;
font-weight: 400;
}

.research_publication h1 {
font-size: 20px;
font-weight: 500;
line-height: 30px;
margin-bottom: 15px;
letter-spacing:0.2px;
color:#032D4F;
}

.research_publication p {
font-size: 16px;
font-weight: 300;
line-height: 24px;
margin-bottom: 15px;
color:#000;
}
.research_publication p strong{
font-weight: 600;
}

.container-fluid{ width:94%; margin:auto; padding-left: 15px; padding-right: 15px;}
.padding {
padding: 30px 0;
}

.page-header{ position:relative;}
.page-header__bg {
background-image: url(../images/inside-header-bg.jpg);
background-size: cover;
background-color: var(--thm-black);
opacity: 0.5;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
.page-header__inner {
position: relative;
display: block;
text-align: left;
z-index: 3;
padding:20px 0;

}

.thm-breadcrumb {
    padding-top: 3px;
}

.thm-breadcrumb li {
    position: relative;
    display: inline-block;
    color: #032D4F;
    font-size: 36px;
	line-height:46px;
    font-weight: 600;
    transition: all 500ms ease;
	margin-left:-70px;
}

.thm-breadcrumb li+li {
    margin-left: 50px;
}

.thm-breadcrumb li a {
    transition: all 500ms ease;
}

.thm-breadcrumb li:hover a {
    color: var(--thm-primary);
}




.project-img-text {
	width: 100%;
	margin: 5px;
	text-align: left
}

.project-img-text .project-case-img {
	overflow: hidden;
	position: relative;
	box-shadow: rgba(149, 157, 165, 0.6) 0px 8px 24px;
	border-radius:10px;
}

.project-img-text .project-case-img:after {
	top: 0;
	left: 0;
	opacity: 0;
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	transform: scale(.5);
	border-radius: 0px;
	transition: .5s ease-in-out;
}

.project-img-text .project-case-img img {
	transition: .5s ease-in-out;
}

.project-img-text .project-case-text {
	padding: 5px 5px;
	width: 100%;
	border-radius: 0px 0 20px 20px;
	position: relative;
	transition: .3s ease-in-out;
	box-shadow: 0 0 35px 0 rgba(164, 177, 235, .13);
	text-align:center;
}

.project-img-text .project-case-text h3 {
	padding-top: 10px;
	font-size: 14px;
	line-height: 20px;
	font-weight: 500;
	transition: .3s ease-in-out
}
.project-img-text .project-case-text h3 a{
	color: #062c4d;
}

.project-img-text:hover .project-case-img img {
	transform: scale(1.2)
}

.project-img-text:hover .project-case-img:after {
	opacity: .8;
	transform: scale(1)
}

.research {
    position: relative;
    display: block;
    padding: 0 0 104px;
}

.research__box {
    position: relative;
    display: block;
}

.research__box .tab-btns {
    position: relative;
    display: block;
    z-index: 1;
    margin: 0;
}

.research__box .tab-btns .tab-btn {
    position: relative;
    float: left;
    max-width: 390px;
    width: 100%;
    text-align: center;
}

.research__box .tab-btns .tab-btn span {
    position: relative;
    display: block;
    background-color: #f1eddb;
    box-shadow: 0px 10px 30px 0px rgb(0 0 0 / 5%);
    margin: 0;
    padding: 40.5px 0px;
    color: var(--thm-black);
    font-size: 20px;
    font-weight: 600;
    transition: all 500ms ease;
    cursor: pointer;
	text-align:left;
	padding:20px 20px;
    letter-spacing: var(--thm-letter-space-small);
	height:150px;
}

.tab_span2 {
    font-size: 16px;
	line-height:22px;
    font-weight: 400;
	letter-spacing:0.1px;
}

.research__box .tab-btns .tab-btn.active-btn span, .research__box .tab-btns .tab-btn:hover span {
    background-color: #eae1c4;
    box-shadow: 0px 10px 30px 0px rgb(0, 0, 0, .05);
}

.research__box .tabs-content {
    position: relative;
    display: block;
    padding: 0;
}

.research__box .tabs-content .tab {
    position: relative;
    padding: 0px;
    display: none;
}

.research__box .tabs-content .tab.active-tab {
    display: block;
}

.research__content {
    position: relative;
    display: block;
	padding:0 20px;
    padding-top: 40px;
}

.research__single-1 {
    position: relative;
    display: block;
}

.research__list-box {
    position: relative;
    display: block;
    margin-top: -5px;
}

.research__list-box li {
    position: relative;
    display: block;
    padding-left: 90px;
}

.research__list-box li+li {
    margin-top: 43px;
}

.research__list-box-title {
    font-size: 20px;
    font-weight: 700;
    line-height: 30px;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.research__list-box-text {
    font-size: 16px;
    margin: 0;
}

.research__single-2 {
    position: relative;
    display: block;
    padding-left: 90px;
    margin-right: -8px;
    margin-top: -9px;
}

.research__single-2:before {
    position: absolute;
    top: 11px;
    bottom: 4px;
    left: 30px;
    content: "";
    background-color: #e6e9ef;
    width: 1px;
}

.research_-desc {
    font-size: 16px;
    margin: 0;
}

.research__list-box-2 {
    padding-top: 35px;
}

.research__list-box-2 li {
    position: relative;
    font-size: 16px;
    padding-left: 25px;
}

.research__list-box-2 li:before {
    position: absolute;
    top: 50%;
    left: 0;
    height: 1px;
    width: 10px;
    content: "";
    background-color: var(--thm-primary);
    transform: translateY(-50%);
    transition: all 500ms ease;
}

.research__list-box-2 li:hover:before {
    left: 7px;
    width: 13px;
}

.research__single-3 {
    position: relative;
    display: block;
    margin-left: 30px;
}

.research__img {
    background-color: var(--thm-black);
}

.research__img>img {
    width: 100%;
    mix-blend-mode: luminosity;
}



.timeline {
  padding-left: 0;
  list-style: none;
  position: relative;
}

.timeline:before {
  background-color: #e9dcbd;
  content: "";
  margin-left: -1px;
  position: absolute;
  top: 0;
  left: 2em;
  width: 2px;
  height: 100%;
}

.timeline-event {
  position: relative;
}

.timeline-event-copy {
  background: #F8F6F1;
  background: linear-gradient(180deg,rgba(248, 246, 241, 1) 0%, rgba(248, 246, 241, 1) 48%, rgba(255, 255, 255, 1) 100%);
  padding: 30px;
  position: relative;
  top: 0em;
  left: 5em;
  width: 90%;
  border-radius:20px;
}

.timeline-event-copy h1 {
    font-size: 22px;
	color:#062c4d;
    font-weight: 600;
    line-height: 28px;
	margin-bottom:15px;
}

.timeline-event-icon {
  background-color: #e9dcbd;
  display: block;
  margin: 0.5em 0.5em 0.5em -0.5em;
  position: absolute;
  top: -0.5em;
  left: 1.5em;
  width: 2em;
  height: 2em;
  border-radius:20px;
}

.timeline-event-thumbnail {
  -moz-transition: box-shadow 0.5s ease-in 0.1s;
  -o-transition: box-shadow 0.5s ease-in 0.1s;
  -webkit-transition: box-shadow 0.5s ease-in;
  -webkit-transition-delay: 0.1s;
  -webkit-transition: box-shadow 0.5s ease-in 0.1s;
  transition: box-shadow 0.5s ease-in 0.1s;
  color: white;
  font-size: 16px;
  font-weight: bold;
  background-color: #004bad;
  box-shadow: inset 0 0 0 0em #004bad;
  display: inline-block;
  margin-bottom: 1.2em;
  padding: 0.25em 1em 0.2em 1em;
}

.quick-enquiry-right {padding: 15px; padding-bottom: 15px; background:#FFF;	text-align:center; border-radius: 20px;}
.registration_form {position: fixed; top: 220px; right: -2px; z-index: 9; background: #000;}

/*MOdal Popup*/
.modal{ right:-17px; margin-top:20px;}
.modal-open{ padding-right:0 !important; overflow:auto;}
.modal.in{ padding-right:0 !important;}
.modal-content{width:100%; margin-bottom:40px; border-radius:0; box-shadow:0 0 0 10px rgba(255, 255, 255, 0.2); border: none; overflow: hidden;}
.modal-content .close{ background-color:transparent; opacity:1; padding:0; line-height:normal; margin-top:0; position: absolute; right:15px; z-index:99; top:10px; border:none;}
.modal-content .close:hover, .modal-content .close:focus{ color:#fff; opacity:1;}
.modal-dialog{ max-width:600px; width:90%; margin:10px auto 0;}
.modal-dialog2{ max-width:1000px; width:90%; margin:10px auto 0;}
.modal-body{ float:left; width:100%; padding:30px; text-align:center;}
.modal-backdrop.in{ opacity:.70;}

.enroll_modal .modal-body{ padding-top:50px; background:#FFF;}
.enroll_modal .modal-dialog{ max-width:auto;}


.social-floating{position:fixed; right:10px; bottom:230px; z-index:1000; display:flex; flex-direction:column; gap:12px}
.social-btn{width:44px; height:44px; border-radius:50%; background:#032D4F; display:flex; align-items:center; justify-content:center; color:#fff; text-decoration:none}

.button-visit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 18px;
  font-size: 16px;
  line-height:24px;
  color: #002244;
  border: 1.5px solid #002244;
  background-color: transparent;
  text-decoration: none;
  border-radius: 4px;
  transition: all 0.3s ease;
  margin-top:10px;
}

.button-visit:hover {
  background-color: #002244;
  color: #ffffff;
  transform: translateY(-2px);
}

.button-visit svg {
  width: 14px;
  height: 14px;
  transition: transform 0.3s ease;
}
.button-visit:hover svg {
  transform: translate(2px, -2px);
}


.tabbing_left_content{ text-align:left;}
.tabbing_left_content p{
font-size: 18px;
line-height: 26px;
color: #000;
font-weight: 300;
}

.tabbing_impact{ background:#F1ECD9;
font-size: 22px;
color: #062c4d;
font-weight: 600;
line-height: 28px;
margin-top:15%;
padding:5px 20px;
margin-bottom: 15px;
}

ul.impact_list {
width: 100%;
padding: 0;
margin-bottom:10px;
list-style-type: none;
}
ul.impact_list li {
width: 100%;
clear: both;
display: block;
padding-left: 20px;
font-size: 18px;
line-height: 26px;
color: #032D4F;
text-align: left;
margin-bottom:10px;
padding-bottom:10px;
font-weight: 500;
border-bottom:dashed 1px #CCCCCC;
}

/* container */
.stats-grid {
list-style: none;
padding: 0;
margin: 0 auto;
max-width:900px;
display: grid;
grid-template-columns: 1fr 1fr; /* two columns */
align-items: stretch;
border: 0;
margin-bottom:20px;
}

/* each cell */
.stats-grid li{
padding: 15px 15px;
box-sizing: border-box;
/* keep height consistent if you want equal heights */
min-height: 90px;
display: flex;
align-items: center;
font-weight:500;
font-size:18px;
line-height:26px;
color:#032D4F;
background: white;
}

/* vertical divider between left & right column */
.stats-grid li:nth-child(odd) {
border-right: 2px dotted #c4c4c4;
}

/* horizontal divider between top and bottom rows */
.stats-grid li:nth-child(-n+2) {
border-bottom: 2px dotted #c4c4c4;
}

/* small muted label style (if you want a label above text) */
.stats-grid .meta {
display:block;
font-size: 12px;
color: var(--muted);
margin-bottom:6px;
}

/* responsive: stack on narrow screens and remove dividers */
@media (max-width:640px){
.stats-grid {
grid-template-columns: 1fr;
max-width:480px;
}
.stats-grid li:nth-child(odd){
border-right: none;
}
.stats-grid li:nth-child(-n+2){
border-bottom: 1px dotted var(--divider); /* keep separators between items vertically */
}
.stats-grid li{
padding:18px;
}
}

.tabbing_right_pic{}
.tabbing_right_pic img{ border-radius:20px;}
.tabbing_right_pic video{ width:100%; border-radius:20px;}

.media_coverage_popup_content{box-shadow: 0px 10px 60px 0px rgb(0, 0, 0, 0.10); padding:20px; height:100%;} 
.media_coverage_popup_content p{
font-size: 16px;
line-height: 24px;
color: #000;
font-weight:300;
text-align:left;
}

.advocacy_art{box-shadow: 0px 10px 60px 0px rgb(0, 0, 0, 0.10);height:100%; text-align:center;}
.advocacy_art h1{font-size: 17px; color: #062c4d; font-weight: 600; line-height: 24px; margin-bottom: 5px; padding:0 20px; padding-top:15px; height:60px; text-align:left;} 
.advocacy_art p{font-size: 16px; line-height: 24px; color: #000; font-weight:300; text-align:left; padding:20px; padding-top:10px; margin-bottom:0; min-height:200px;}
.advocacy_art img{ border-radius:10px;}

.advocacy_art_media_coverage{ text-align:center;} 
.advocacy_art_media_coverage_popup_logo{box-shadow: 0px 10px 60px 0px rgb(0, 0, 0, 0.10); padding:50px 20px; margin:40px 0px; height:100%;} 
.advocacy_art_media_coverage p{
font-size: 16px;
line-height: 24px;
color: #000;
font-weight:300;
}

.block {
margin: 0 0 20px 0;
}
.block h2 {
color: #EF4034;
border-bottom: 2px solid #ddd;
font-size: 20px;
font-weight: bold;
padding: 0 0 8px 0;
margin: 0 0 20px 0;
}
.block p {
margin: 0 0 20px 0;
}
/* Shore more styles */
.showmore_content {
position: relative;
overflow: hidden;
}
.showmore_trigger {
cursor: pointer;
border:solid 1px #002244;
padding:10px 20px;
border-radius:10px;
display:inline-block;
margin-top:1%;
}
.showmore_trigger span {
display: block;
}