:root { 
  --custom-font-white: #ffffff;
  --custom-font-black: #000000;
  --custom--color-gard-purple: #664E9E;
  --custom--color-gard-yellow: #F58C1E;
  --custom--color-gard-purple-tra: #F0EEF6;
  --custom--color-gard-purple-line: #b8a6dd;
  --custom--color-gard-purple-sub: #A98DDA;
  --default-color: #444444;
}

:root {
  --default-font: "Roboto", 'Noto Sans KR', system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --heading-font: "Montserrat", 'Noto Sans KR', sans-serif;
  --nav-font: "Open Sans", 'Noto Sans KR', sans-serif;
  --noto-font: 'Noto Sans KR', sans-serif;
}
.mobile-br-576, .mobile-br-480{
	display: none;
}

/* Header============================================================================================= */
.header .branding {
	transition: background-color .3s ease;
	padding: 0;
}
.header, .header .logo img, .header .navmenu a, .header .header-util a, .header .mobile-nav-toggle {
	transition: color .25s ease, opacity .25s ease;
}
#header{
	position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 1000 !important;
    background: transparent !important;
}
.header, .header .branding {
	min-height: 78.5px;
}
.header .branding {
	background-color: transparent;
}
.header:hover .branding {
	background-color: #fff;
}
.header .logo{
	flex: 0 0 300px;
	position: relative;
}
.header .logo img {
	display: block;
	max-height: 45px;
	width: auto;
}
.header .header-white {
	opacity: 1;
}
.header .header-purple {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	opacity: 0;
}
.header:hover .header-white {
	opacity: 0;
}
.header:hover .header-purple {
	opacity: 1;
}
.header .navmenu{
	flex: 1;
}
.header .navmenu ul{
	justify-content: center; 
	gap:0px;
}
.header .navmenu a{
	height: 78.5px;
	min-width: 150px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	padding: 0 12px;
	font-family: var(--noto-font);
}
.header .navmenu > ul > li > a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
	background: var(--custom--color-gard-purple);
	opacity: 0;
	transition: opacity .25s ease;
}
.header:hover .navmenu a{
	color: var(--custom-font-black) !important;
}
.header .navmenu > ul > li:hover > a::after, .header .navmenu > ul > li.active > a::after {
	opacity: 1;
}
.header .header-util{
	flex: 0 0 300px;
    justify-content: flex-end;
    gap: 30px;
}
.header .header-util-lan{
    gap: 12px;
}
.header .header-util a{
	color: var(--custom-font-white);
	display: flex;
  	align-items: center;
  	line-height: 1;
  	font-family: var(--noto-font);
}
.header .header-util-lan a{
  	position: relative;
  	z-index:1;
}
.header .header-util-lan a.active-lang::before{
  	content:"";
	position:absolute;
	left:-1px;
	right:-3px;
	top:105%;
	height:7px;
	background:rgba(242,140,32,.75);
	transform:translateY(-50%) rotate(-7deg);
	z-index:-1;
	border-radius:1px;
}
.header:hover .header-util-lan a.active-lang::before{
  	background:rgba(102,78,158,.25);
}

.header:hover .header-util a{
	color: var(--custom-font-black) !important;
}
.header .mobile-menu-btn {
  	flex-direction:column;
	justify-content:center;
	gap:5px;
	width:28px;
	height:28px;
	cursor:pointer;
	display: none!important;
}
.header .mobile-menu-btn span{
  	display:block;
	width:100%;
	height:3px;
	border-radius:50px;
	background:#fff;
	transition:background-color .25s ease;
}
.header:hover .mobile-menu-btn span{
	background: var(--custom--color-gard-purple);
}
/* DB 안 될 시 특정 메뉴 회색 처리 */
.menu-disabled, .sub-header .sub-menu.menu-disabled, .mobile-menu .mobile-menu-list .menu-disabled, a.menu-disabled{
    opacity: 0.5!important;
    cursor: not-allowed!important;
    color: #bbb!important;
}
.menu-disabled > a, .sub-header .sub-menu.menu-disabled > a, .mobile-menu .mobile-menu-list .menu-disabled > a{
    opacity: 0.5;
    pointer-events: none;
}
/* 서브메뉴 */
.header .sub-header {
	height: 50px;
	background: #fff;
	border-top: 1px solid #eee;
	border-bottom: 1px solid #d8d0ec;
	display: flex;
	justify-content: center;
	align-items: center;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(-6px);
	transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
}
.header.sub-open .sub-header {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}
.header .sub-menu {
	display: none;
	gap:0;
}
.header .sub-menu.active {
	display: flex;
}
.header .sub-menu a {
	color: var(--custom-font-black);
	font-size: 15px;
	font-weight: 500;
	opacity:0.65;
	line-height: 1;
	min-width:120px;
	height:50px;
	display:flex;
	align-items:center;
	justify-content:center;
	position:relative;
	padding:0 10px;
	font-family: var(--noto-font);
}
.header .sub-menu a.sub-long {
	min-width: 145px;
}
.header .sub-menu a::after{
	content:"";
	position:absolute;
	left:12px;
	right:12px;
	bottom:0;
	height:3px;
	background:var(--custom--color-gard-purple);
	opacity:0;
	transition:.25s;
}
.header .sub-menu a:hover::after, .header .sub-menu a.active::after{
	opacity:1;
}
.sub-about {
	transform: translateX(30px);
}
.sub-data {
	transform: translateX(55px);
}
.sub-research {
	transform: translateX(135px);
}
.sub-promotion {
	transform: translateX(285px);
}

/* 서브페이지용 헤더 */
.subpage-header .header-white {
	opacity: 0;
}
.subpage-header .header-purple {
	opacity: 1;
}
.subpage-header .navmenu a{
	color: var(--custom-font-black) !important;
}
.subpage-header .navmenu > ul > li.sub-active > a::after {
	background: var(--custom--color-gard-yellow)!important;
	opacity: 1;
}
.subpage-header .header-util-lan a.active-lang::before{
  	background:rgba(102,78,158,.25);
}
.subpage-header .header-util a{
	color: var(--custom-font-black) !important;
}
.subpage-header .mobile-menu-btn span{
	background: var(--custom--color-gard-purple);
}
.header.subpage-header.sub-open .sub-header {
	opacity: 1;
}


/* Hero ============================================================================================= */
#hero h1 {
	color: var(--custom-font-white) !important;
	font-family: "Roboto", sans-serif;
    font-weight: 700;
    letter-spacing: 0.3px;
}
#hero .container-fluid.px-0{
	margin:0 30px;
}
#hero .hero-inner {
	max-width: 1320px;
	width: 100%;
	margin: 0 auto;
}
#hero .hero-inner .row {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}
#hero .hero-inner .col-lg-6 {
  min-width: 0;
}
#hero .hero-title .title-line {
  display: inline;
}
.hero:after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--hero-next-bg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  opacity: 0;
  transition: opacity .8s ease;
  z-index: 0;
}
.hero.hero-fade:after {
  opacity: 1;
}
/* hero 내부 콘텐츠가 오버레이 위로 오게 */
.hero .container-fluid {
  position: relative;
  z-index: 2;
}

/* Counting ============================================================================================= */
.gard-counts{
	padding:60px 0!important;
}
.gard-counts .gard-count-row {
  --bs-gutter-y: 0;
}
.gard-counts .gard-count-row .count-num{
	letter-spacing: -0.02em;
    font-size: 55px;
    font-weight: 700;
}
.gard-counts .gard-count-row .count-label{
	letter-spacing: 0.03em;
    font-size: 30px;
    font-weight: 500;
    margin-top: 8px;
}

/* 공통 ============================================================================================= */ 
.custom-section-hr-w{
	height: 3px;
	background: var(--custom-font-white);
	border: 0;
    opacity: 1;
}
.custom-section-hr-p{
	height: 3px;
	background: var(--custom--color-gard-purple);
	border: 0;
    opacity: 1;
}
.section .container .img-fluid{
	width:100%;
  	height:350px;
  	object-fit:cover;
  	display:block;
}
.custom-btn-more{
	display: inline-block;
    color: var(--custom-font-white);
    background: var(--custom--color-gard-purple);
    align-items: center;
    margin-top: 10px;
    padding: 5px 22px;
    border-radius: 6px;
    font-size: 18px;
    font-weight: 500;
    transition: .3s;
    width: 100px;
    text-align: center;
    height: 37px;
}
.custom-btn-more:hover{
	color: var(--custom-font-white);
	transition: all .3s ease;
	transform: scale(1.05);
}
/* 여기는 소개 섹션 공통 사용 */
.about .section-title{
	padding: 0 0 30px 0;
    text-align: left;
}
.about .container > div{
	gap: 60px;
	display: flex;
}
.container .description-title {
  color: var(--custom--color-gard-purple);
  font-size: 45px;
}
.about .about-content h3{
	margin-bottom: 20px;
	font-family: var(--nav-font);
}
.about .about-content h1{
	font-size: 45px;
    font-weight: 600;
    font-family: var(--nav-font);
}
.about .about-content p{
	font-size: 20px;
	font-weight: 500;
	font-family: var(--nav-font);
}

/* 여기는 로고 배너 공통 */ 
#slider1, #slider2{
	padding:60px 0!important;
}
.partner-slider .swiper-wrapper{
    align-items:center;
    transition-timing-function: linear!important;
}
.partner-slider .swiper-slide{
    display:flex;
    align-items:center;
    justify-content:center;
    width:160px!important;; 
}
.partner-slider .swiper-slide.logo-wide{
	width:200px!important;; 
}
.partner-slider .swiper-slide img{
    display:block;
    max-width:100%;
    max-height:42px;
    object-fit:contain;
}


/* About GARD ============================================================================================= */ 
#about .row > div:nth-child(1){
	flex: 4;
    padding: 0;
    margin: 0;
}
#about .row > div:nth-last-child(1){
	flex: 6;
    padding: 0;
    margin: 0;
}
#about .custom-btn-more{
    margin-top: 20px;
}

/* Community-Based ============================================================================================= */ 
#community .row > div:nth-child(1){
	flex: 5.5;
    padding: 0;
    margin: 0;
}
#community .row > div:nth-last-child(1){
	flex: 4.5;
    padding: 0;
    margin: 0;
}
#community .container .img-fluid{
	height:320px;
}
#community .custom-btn-more{
	float: left;
    margin-top: 20px;
}
#community .btn-more-mobile{
	display: none;
}

/* Global Cooperative ============================================================================================= */ 
#global .row > div:nth-child(1){
	flex: 4.5;
    padding: 0;
    margin: 0;
}
#global .row > div:nth-last-child(1){
	flex: 5.5;
    padding: 0;
    margin: 0;
}
#global .global-card-grid{
  	display:grid;
  	grid-template-columns:repeat(2, 250px);
  	gap:28px 40px;
  	position:relative;
}
#global .global-card-grid::before{
    content:'';
    position:absolute;
    width:275px;
    height:260px;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Ccircle cx='130' cy='130' r='120' fill='none' stroke='%23c8c8c8' stroke-width='2' stroke-dasharray='6 6'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    z-index:0;
}
#global .global-card{
	width:250px;
  	height:180px;
  	background:#fff;
  	border:1px solid #eee;
  	box-shadow:0 4px 12px rgba(0,0,0,.12);
  	align-items:center;
  	text-align:center;
  	display:flex;
  	flex-direction:column;
  	justify-content:center;
  	align-items:center;
  	position:relative;
  	z-index:2;
}
#global .global-card:nth-child(2){
  	transform:translateY(-25px);
}
#global .global-card:nth-child(3){
   	transform:translateY(12px);
}
#global .global-card:nth-child(4){
   	transform:translateY(-12px);
}
#global .global-card img{
   	max-width:90px;
    max-height:60px;
    object-fit:contain;
    margin-bottom:10px;
}
#global .global-card-text{
	font-family:'Open Sans', 'Noto Sans KR', sans-serif;
	margin:0;
  	font-size:16px;
  	line-height:1.45;
  	font-weight:500;
  	color:#333;
  	letter-spacing:-0.02em;
}
#global .tablet-br{
	display: none;
}

/* Cohort Growth ============================================================================================= */ 
#growth .container .row .about-content{
	display: flex;
	justify-content: space-between;
}
#growth .custom-btn-more{
	align-self: flex-end;
}
#growth .chart-area{
  	display:flex;
  	align-items:flex-end;
  	gap:40px;
  	margin-top: 20px;
}
#growth .chart-wrap{
    width:78%;
  	height:480px;
}
#growth .chart-labels{
  	min-width:180px;
  	padding-bottom:35px;
  	font-size:14px;
}
#growth .chart-labels p{
	display:grid;
    grid-template-columns: 16px 1fr auto;
    align-items:center;
    column-gap:10px;
    margin:12px 0;
	font-size: 18px;
}
#growth .chart-labels .c{
  	width:10px;
    height:10px;
    border-radius:50%;
}
#growth .chart-labels b{
    text-align:right;
}
#growth .chart-labels .first{ background:#F36E43; }
#growth .chart-labels .second{ background:#FFDB6A; }
#growth .chart-labels .third{ background:#2660A8; }

/* Key Modalities ============================================================================================= */ 
#modality{
	padding: 45px 0!important;
}
#modality .container > div:nth-child(2) {
	gap:0px;
	margin-top: 10px;
}
#modality .container > div:nth-last-child(1) {
	margin-top: 20px;
}
#modality .service-item {
	padding: 50px 20px;
	overflow: hidden;
	isolation: isolate;
	transition: transform .35s ease;
  	will-change: transform;
  	cursor: default;
}
#modality .service-item .stretched-link{
	pointer-events: none;
}
#modality .service-item a{
	font-family:'Open Sans', 'Noto Sans KR', sans-serif;
	color: var(--custom-font-black);
	font-size: 30px;
	font-weight: 600;
}
#modality .service-item p{
	font-family:'Open Sans', 'Noto Sans KR', sans-serif;
	color: var(--custom-font-black);
	font-size: 20px;
	margin-top: 20px;
}
#modality .service-item .icon img{
	max-width:65%;
    max-height:65%;
    width:auto;
    height:auto;
    object-fit:contain;
}
#modality .service-item .custom-modal-hover-bg{
	position: absolute;
	inset: 0;
  	opacity: 0;
  	transform: scale(1.05);
  	transition: opacity .35s ease, transform .7s ease;
  	will-change: opacity;
  	z-index: -1;
  	background: linear-gradient(rgba(0,0,0,.65), rgba(0,0,0,.65)),url("../img/main/imaging.jpg") center / cover no-repeat;
}
#modality .service-item #custom-modal-snsb{
	background: linear-gradient(rgba(0,0,0,.65), rgba(0,0,0,.65)),url("../img/main/snsb.jpg") center / cover no-repeat;
}
#modality .service-item #custom-modal-genome{
	background: linear-gradient(rgba(0,0,0,.65), rgba(0,0,0,.65)),url("../img/main/genome.jpg") center / cover no-repeat;
}
#modality .service-item #custom-modal-blood{
	background: linear-gradient(rgba(0,0,0,.65), rgba(0,0,0,.65)),url("../img/main/blood.jpg") center / cover no-repeat;
}
#modality .service-item #custom-modal-eeg{
	background: linear-gradient(rgba(0,0,0,.65), rgba(0,0,0,.65)),url("../img/main/brainwave.jpg") center / cover no-repeat;
}
#modality .service-item #custom-modal-mb{
	background: linear-gradient(rgba(0,0,0,.65), rgba(0,0,0,.65)),url("../img/main/microbiome.jpg") center / cover no-repeat;
}
#modality .service-item:hover .custom-modal-hover-bg {
	opacity: 1;
	transform:scale(1);
}
#modality .service-item .stretched-link {
  	position: static;
}
#modality .service-item .stretched-link::after {
  	position: absolute;
  	inset: 0;
  	z-index: 1;
  	content: "";
}
#modality .service-item .icon{
	position: relative;
  	z-index: 0;
  	transition: transform .35s ease;
  	will-change: transform;
}
#modality .service-item a, #modality .service-item p{
	position: relative;
	z-index: 0;
	transition: color .4s ease;
}
#modality .service-item:hover a, #modality .service-item:hover p{
	color: var(--custom-font-white);
}
#modality .service-item:hover .icon{
	transform: scale(1.05);
}

/* Intergrated Data Ecosystem ============================================================================================= */ 
#ecosystem  .container > div{
	gap:0!important;
}
#ecosystem .container .about-content p{
	margin:30px 0 60px 0;
}
#ecosystem .ecosystem-wrap{
  	display:flex;
    align-items:center;
    justify-content:space-between;
}
/* 양쪽 */
#ecosystem .container .ecosystem-left, #ecosystem .container .ecosystem-right {
	width: 380px;
  	display: flex;
  	flex-direction: column;
  	gap: 24px;
}
#ecosystem .container .eco-card {
  	display: flex;
  	align-items: center;
  	gap: 18px;
  	width: 380px;
  	min-height: 135px;
  	padding: 22px 28px;
  	background: var(--custom-font-white);
  	border: 1px solid color-mix(in srgb, var(--default-color), transparent 85%);
  	border-radius: 8px;
  	box-shadow: 3px 4px 8px rgba(0, 0, 0, 0.18);
}
#ecosystem .container .eco-icon-wrap {
  	flex: 0 0 72px;
  	width: 72px;
  	height: 72px;
  	border-radius: 50%;
  	background: var(--custom--color-gard-purple-tra);
  	display: flex;
  	align-items: center;
  	justify-content: center;
}
#ecosystem .container .eco-icon-wrap img {
  	width: 38px;
  	height: 38px;
  	object-fit: contain;
}
#ecosystem .container .eco-card-text h4 {
  	margin: 0 0 8px;
  	font-size: 18px;
  	font-weight: 700;
  	color: var(--custom-font-black);
}
#ecosystem .container .eco-list{
    margin:0;
    padding:0;
    list-style:none;
}
#ecosystem .container .eco-list li{
    position:relative;
    padding-left:12px;
    font-size:15px;
    line-height:1.5;
    color:var(--default-color);
}
#ecosystem .container .eco-list li::before{
    content:"";
    position:absolute;
    left:0;
    top:8px;
    width:4px;
    height:4px;
    border-radius:50%;
    background:#666;
}
/* 가운데 로고 */
#ecosystem .ecosystem-center {
  	width: 320px;
  	display: flex;
  	justify-content: center;
  	flex:1;
}
#ecosystem .container .ecosystem-center {
  	width: 320px;
  	display: flex;
  	justify-content: center;
  	align-items: center;
}
#ecosystem .container .eco-center-circle {
  	width: 280px;
  	height: 280px;
  	border-radius: 50%;
  	border: 4px solid var(--custom--color-gard-purple);
  	background: var(--custom-font-white);
  	display: flex;
  	align-items: center;
  	justify-content: center;
  	position: relative;
  	box-shadow:0 0 0 8px rgba(102,78,158,.06);
}
#ecosystem .container .eco-center-circle::before {
  	content: "";
  	position: absolute;
  	inset: 12px;
  	border-radius: 50%;
  	border: 2px solid rgba(102, 78, 158, 0.12);
}
#ecosystem .container .eco-center-inner {
  	position: relative;
  	z-index: 2;
  	text-align: center;
}
#ecosystem .eco-center-inner{
  	width: 100%;
  	display:flex;
    justify-content:center;
}
#ecosystem .container .eco-center-inner img {
  	width: 70%;
  	width:70%;
    min-width:150px;
    max-width:200px;
    height:auto;
}
/* 하단 */
#ecosystem .ecosystem-bottom{
    display:flex;
    justify-content:center;
}
#ecosystem .eco-bottom-card{
    display:flex;
    align-items:center;
    gap:18px;
    width:440px;
    min-height:120px;
    padding:22px 30px;
    background: var(--custom-font-white);
    border:1.5px solid rgba(102,78,158,.45);
    border-radius:10px;
    box-shadow:0 4px 12px rgba(0,0,0,.08);
}
#ecosystem .eco-bottom-card h4{
    margin-bottom:5px;
}
#ecosystem .eco-bottom-card p{
    margin:0;
    font-size:14px;
    line-height:1.5;
    color: var(--custom-font-black);
}
/* 선 */
#ecosystem .ecosystem-wrap{
  	position:relative;
}
#ecosystem .ecosystem-lines{
  	position:absolute;
  	inset:0;
  	width:100%;
  	height:107%;
  	z-index:0;
  	pointer-events:none;
}
#ecosystem .ecosystem-lines path{
  	fill:none;
  	stroke:var(--custom--color-gard-purple-line);
  	stroke-width:1.5;
  	stroke-dasharray:5 5;
  	opacity:.85;
}
.ecosystem-left, .ecosystem-center, .ecosystem-right{
  	position:relative;
  	z-index:2;
}
#ecosystem .ecosystem-tablet{
	display: none!important;
}
#ecosystem .bottom-line-md {
    display: none;
}
/* Featured Publications ============================================================================================= */
#publication .container .section-title{
	display:flex;
    align-items:center;
    padding-bottom:0;
    margin-bottom:0;
} 
#publication .container .section-title p{
	margin-bottom:0;
} 
#publication .container .custom-btn-more{
	margin-top: 0;
} 
#publication .container .publication-card-wrap{
    gap:0;
    row-gap:30px;
    display:flex;
    flex-wrap:wrap;
    margin-left:-15px;
    margin-right:-15px;
    margin-top: 35px;
}
#publication .container .publication-card-wrap > .col-lg-4{
    padding-left:15px;
    padding-right:15px;
    box-sizing:border-box;
}
#publication .container .publication-card{
	width:100%;
    height:100%;
    box-sizing:border-box;
    min-height:540px;
    border:1px solid #ddd;
    border-radius:8px;
    overflow:hidden;
    background:#fff;
    transition:all .3s ease;
}
#publication .container .publication-card:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 10px rgba(0,0,0,.08);
}
#publication .container .publication-img{
    width:100%;
    height:320px;
    overflow:hidden;
    border-bottom:1px solid #eee;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
}
#publication .container .publication-img img{
    width:90%;
    height:90%;
    object-fit:contain; /* 그래프 잘림 방지 */
    padding:10px;
}
#publication .container .publication-img.logo-img{
    background:#fafafa;
}
#publication .container .publication-img.logo-img img{
    max-width:52%;
    max-height:22%;
    width:auto;
    height:auto;
    padding:0;
}
#publication .container .publication-body{
    padding:18px;
}
#publication .container .publication-date{
    margin-bottom:8px;
    font-size:14px;
    color:#777;
    height: 20px;
    margin-bottom:8px;
}
#publication .container .publication-title{
    font-size:18px;
    font-weight:700;
    line-height:1.4;
    margin-bottom:10px;
    display:-webkit-box;
    -webkit-line-clamp:4;
    -webkit-box-orient:vertical;
    overflow:hidden;
    min-height: 100px;
    margin-bottom: 8px;
}
#publication .container .publication-authors{
	min-height:40px;
    margin-bottom:2px;
    font-size:14px;
    line-height:1.4;
    color:#555;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
#publication .container .publication-journal{
	height:22px;
    margin:0;
    font-size:14px;
    font-weight:600;
    color:#664E9E;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
#publication .container .publication-featured-mobile {
    display: none;
}
/* footer  ============================================================================================= */
#footer .container > div{
	justify-content: space-between;
}
#footer .container a img{
	max-width: 190px;
	height: auto;
}
#footer .container .footer-contact .footer-item {
	gap: 10px;
	margin-bottom: 3px;
}
#footer .container .footer-contact i{
	font-size: 18px;
	flex-shrink:0;
	margin-top: 3px;
}
#footer .container .footer-contact i{
	margin-top: 2px;
}
#footer .container .footer-contact p{
	font-size: 18px;
    font-family: var(--nav-font);
    margin: 0;
}
#footer .container .footer-map-box{
	width: 550px;
	height:250px;
	background: #fff;
	border-radius: 20px;
	margin-right: 15px;
	overflow:hidden;
	box-shadow:0 5px 20px rgba(0,0,0,.08);
	padding: 0;
}
#footer .container .footer-map{
    width:550px;
    height:250px;
    background:#fff;
    border-radius:20px;
    margin-right:15px;
    overflow:hidden;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
}
#footer .container .footer-mobile-logo{
	display: none;
}


/* 미디어 쿼리  ============================================================================================= */
/* 2026.06.01 기준 기준점 
	1450 - 미세 보정
	1399 - 미세 보정
	1199 - 레이아웃
	1100 - 미세 보정(그래프)
	992  - 레이아웃 / 태블릿 기준점
	768  - 레이아웃
	640  - 미세 보정(그래프)
	576  - 레이아웃 / 모바일 기준점
	520  - 미세 보정
	480  - 레이아웃
	440  - 미세 보정 
	390  - 레이아웃
	375 => 문제 없음
	320  - 레이아웃
 */
/* 1199px 아래에서 쓸 햄버거 메뉴 */
.mobile-menu-overlay {
  	position: fixed;
  	inset: 0;
  	background: rgba(0, 0, 0, 0.28);
  	opacity: 0;
  	visibility: hidden;
  	transition: 0.3s ease;
  	z-index: 100000;
}
.mobile-menu-overlay.active {
  	opacity: 1;
  	visibility: visible;
}
.mobile-menu {
  	position: fixed;
  	top: 0;
  	right: -340px;
  	width: 340px;
  	max-width: 85%;
  	height: 100vh;
  	background: var(--custom-font-white);
  	padding: 80px 40px 40px;
  	transition: 0.35s ease;
  	z-index: 100001;
  	overflow-y: auto;
  	color: var(--custom-font-black);
  	box-shadow: -8px 0 30px rgba(0, 0, 0, 0.12);
}
.mobile-menu.active {
  	right: 0;
}
.mobile-menu-close {
  	position: absolute;
  	top: 28px;
  	right: 32px;
  	border: 0;
  	background: transparent;
  	color: var(--custom-font-black);
  	font-size: 32px;
  	line-height: 1;
  	cursor: pointer;
  	transition:.25s ease;
}
.mobile-menu-close:hover {
  	color: var(--custom--color-gard-purple-sub);
  	transform:scale(1.1);
}
.mobile-menu-list {
  	list-style: none;
  	margin: 0;
  	padding: 0;
}
.mobile-menu-list > li {
  	margin-bottom: 34px;
}
.mobile-menu-list > li > a::before {
  	content: "";
  	display: inline-block;
  	width: 4px;
  	height: 18px;
  	background: var(--custom--color-gard-purple-sub);
  	border-radius: 10px;
  	margin-right: 10px;
  	vertical-align: -3px;
}
.mobile-menu-list > li > a {
  	display: block;
  	color: var(--custom-font-black);
  	font-size: 22px;
  	font-weight: 700;
  	text-decoration: none;
  	margin-bottom: 14px;
  	transition:.25s;
  	pointer-events:none;
    cursor:default;
}
.mobile-menu-list > li > ul {
  	list-style: none;
  	margin: 0;
  	padding: 0;
}
.mobile-menu-list > li > ul > li {
  	margin-bottom: 10px;
}
.mobile-menu-list > li > ul > li > a {
  	color: var(--custom-font-black);
  	font-size: 15px;
  	font-weight: 400;
  	text-decoration: none;
  	transition:.25s;
}
.mobile-menu-list > li > ul > li > a:hover {
  	color:var(--custom--color-gard-purple-sub);
    padding-left:6px;
}
body.mobile-menu-open #scroll-top, body.mobile-menu-open .scroll-top {
  	display: none !important;
}

/* ----------------------------------------1450px */
@media (max-width: 1450px) {
    .header .logo, .header .header-util {
    	flex: 0 0 230px;
    }
}

/* ----------------------------------------1399px */
:root {
  	--pc-1399-max-width-sm: 1140px; 
}
@media (max-width: 1399px) {
    #hero .container-fluid.px-0 {
    	max-width: var(--pc-1399-max-width-sm);
    	margin: 0 auto;
    }
    /* -------------------- */
    .about .about-content h1{
    	font-size: 43px;
    }
    /* -------------------- */
    #growth .chart-labels p{
    	white-space: nowrap;
    }
    /* -------------------- */
    #ecosystem .ecosystem-bottom{
    	margin-top: 30px;
    }
    #ecosystem .bottom-line-lg {
    	display: block;
	}
	#ecosystem .bottom-line-md {
    	display: block;
	}
}

/* ----------------------------------------1199px */
:root {
  	--pc-1199-max-width-sm: 936px; 
  	--pc-1199-max-width-md: 960px; 
}

@media (max-width: 1199px) {
	.header .mobile-menu-btn {
        display: flex !important;
    }
    .header .logo, .header .header-util {
    	flex: 0 0 180px;
    }
    .hero .hero-title span.title-initial{
    	font-size: 70px;
    }
    /* -------------------- */
    #hero .container-fluid.px-0 {
    	max-width: var(--pc-1199-max-width-md);
    }
    /* -------------------- */
    #gard-counts .container .row{
    	row-gap: 15px;
    }
    /* -------------------- */
    .about .about-content h1{
    	font-size: 43px;
    }
    /* -------------------- */
    #global .global-card-grid {
        grid-template-columns: repeat(2, 230px);
        gap: 24px 28px;
    }
    #global .global-card {
        width: 230px;
    }
    #global .tablet-br{
		display: block;
	}
	/* -------------------- */
    #growth .chart-labels p{
    	white-space: nowrap;
    }
	/* -------------------- */
	#ecosystem .container .ecosystem-left, #ecosystem .container .ecosystem-right{
		width: 320px;
	}
	#ecosystem .container .eco-card{
		width: 320px;
		padding: 22px 15px;
	}
	#ecosystem .container .eco-center-circle{
		width: 240px;
		height: 240px;
	}
    #ecosystem .ecosystem-bottom{
    	margin-top: 30px;
    }
	#ecosystem .eco-bottom-card{
		width: 415px;
		padding: 22px 20px;
	}
	/* -------------------- */
	#publication .container .publication-card-wrap > div:nth-last-child(1) {
		margin-left: auto;
        margin-right: auto;
	}
	/* -------------------- */
	#footer .container {
  		max-width: var(--pc-1199-max-width-sm);
    }
    #footer .container .row > div{
    	padding: 0;
    }
    #footer .container .row .footer-about{
    	margin-top: 15px;
    }
    #footer .container .row .footer-map-box{
    	margin-right: 0;
    	width: 100%;
    	height: 200px;
    }
    #footer .container .row .footer-map{
    	width: 100%;
    	height: 200px;
    }
    #footer .container .footer-pc-logo{
		display: none!important;
	}
    #footer .container .footer-mobile-logo{
		display: block;
		max-width: 45%;
	}
}

@media (max-width: 1100px){
	#growth .chart-area {
	    flex-direction: column;
	    align-items: center;
	    gap: 0px;
	}
  	#growth .chart-wrap {
	    width: 100%;
	    height: 460px;
	}
	#growth .chart-labels {
	    width: 100%;
	    min-width: 0;
	    padding-bottom: 0;
	    display: flex;
	    justify-content: center;
	    gap: 28px;
	    flex-wrap: wrap;
  	}
  	#growth .chart-labels p {
	    margin: 0;
	    font-size: 16px;
  	} 	
}

/* ----------------------------------------992px: 태블릿 경계선 */
:root {
  	--tablet-992-max-width-sm: 700px; 
  	--tablet-992-max-width-md: 780px; 
  	--tablet-992-max-width-lg: 800px;
}

@media (max-width: 992px) {
	.header .container{
		max-width: var(--tablet-992-max-width-sm);
	}
	.header .navmenu{
		display: none!important;
	}
	.header .mobile-menu-btn{
    	display: flex!important;
    }
    .header .logo, .header .header-util {
    	flex: 0 0 auto;
    }
    /* -------------------- */
    #hero, .hero:after {
    	min-height: 80vh;
  	}
	#hero, .hero:after {
    	background-position: 72% center;
    	background-size: cover;
  	}
  	#hero:before {
    	background: rgba(0, 0, 0, 0.55);
  	}
  	#hero .container-fluid.px-0{
  		max-width: var(--tablet-992-max-width-sm);
    	margin: 0 auto!important;
  	}
  	#hero .hero-title .title-line {
    	display: block;
  	}
  	#hero .hero-title span.title-initial{
        font-size: 52px;
    }
	#hero .hero-title{
        font-size: 30px;
        line-height: 1.15;
    }
    #hero p{
    	font-size: 22px;
    }
    /* -------------------- */
    .gard-counts div.container{
    	max-width: var(--tablet-992-max-width-md);
    }
    .gard-counts .gard-count-row{
    	row-gap: 40px;
    }
    /* 여기는 공통 -------------------- */
    #about .container > div, #community .container > div, #global .container > div{
    	flex-direction: column!important;
    	gap: 30px;
    }
    .about .row > div{
    	max-width: var(--tablet-992-max-width-sm);
    	margin: 0 auto;
    }
    .about .section-title{
    	padding: 0 0 12px 0;
    }
    .section .container .img-fluid {
    	max-width: var(--tablet-992-max-width-sm);
    	margin: 0 auto;
    	height: auto!important;
    	aspect-ratio: 16 / 9;
    }
    /* -------------------- */
    #community .btn-more-pc{
		display: none;
	}
    #community .btn-more-mobile{
		display: inline-block;
	}	    
    /* -------------------- */
    #global .global-card-grid{
    	justify-content: center;
    }
    #global  .container > div{
    	gap: 40px;
    }
    #global .global-card-grid::before {
    	left: 51%;
    }
    #global .custom-btn-more{
    	margin-top: 20px;
    }
    #global .row > div:nth-last-child(1){
    	width: 100%;
    }
    #global .tablet-br {
        display: none;
    }
    /* -------------------- */
    #growth .chart-area {
	    max-width: var(--tablet-992-max-width-lg);
	}
  	/* -------------------- */
  	#modality .container .row > [class*="col-lg-4"] {
    	flex: 0 0 50%;
    	max-width: 50%;
  	}
  	#modality .container .row.gy-3 {
  		max-width: var(--tablet-992-max-width-sm);
    	margin: 0 auto;
    	row-gap: 20px;
    	margin-top: 20px;
  	}
  	#modality .container .more-wrap{
    	max-width: var(--tablet-992-max-width-sm);
    	margin: 0 auto;
    	margin-top: 15px;
    }
    /* -------------------- */
    #ecosystem .ecosystem-pc {
    	display: none!important;
  	}
  	#ecosystem .ecosystem-tablet {
    	display: block!important;
    	max-width: var(--tablet-992-max-width-lg);
    	position: relative;
  	}
  	#ecosystem .ecosystem-tablet-lines {
  		position: absolute;
  		top: 114px;
  		left: 0;
		width: 100%;
		height: 160px;
		pointer-events: none;
	}
	#ecosystem .ecosystem-tablet-lines path {
  		fill: none;
  		stroke: var(--custom--color-gard-purple-line);
  		stroke-width: 1.5;
  		stroke-dasharray: 5 5;
  		opacity: .7;
	}
  	#ecosystem .container .ecosystem-center{
  		margin: 0 auto;
  		margin-bottom: 35px;
  	}
  	#ecosystem .ecosystem-cards {
    	display: grid;
    	grid-template-columns: repeat(2, 1fr);
    	gap: 22px;
    	column-gap: 35px;
  	}
  	#ecosystem .ecosystem-cards .eco-card {
   		width: 100%;
   		min-height: 105px;
    	padding: 19px 22px;
  	}
  	#ecosystem .container .eco-card-text h4{
  		font-size: 17px;
  	}
  	#ecosystem .container .eco-list li {
  		font-size: 14px;
  	}  	
  	#ecosystem .ecosystem-bottom {
    	display: none;
  	}
  	/* -------------------- */
  	#publication .container .publication-card-wrap{
  		max-width: var(--tablet-992-max-width-sm);
    	margin: 0 auto;
    	margin-top: 35px;
  	}
  	#publication .container .publication-card-wrap .publication-pc-first-box {
        display: none!important;
    }
    #publication .publication-featured-mobile {
        display: block!important;
    }
    #publication .publication-featured-card {
        display: flex;
        align-items: stretch;
        box-sizing: border-box;
	    border: 1px solid #ddd;
	    border-radius: 8px;
	    overflow: hidden;
	    background: #fff;
	    transition: all .3s ease;
	    min-height: 250px;
    }
    #publication .publication-featured-img {
        flex: 0 0 38%;
        padding: 20px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    #publication .publication-featured-img img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
    #publication .container .publication-featured-card .publication-body{
    	padding: 20px;
    }
    #publication .container .publication-featured-card .publication-title{
    	font-size: 21px;
        margin: 15px 0;
    }
    #publication .container .publication-featured-card .publication-authors{
    	font-size: 16px;
    }
    #publication .container .publication-featured-card .publication-journal{
    	font-size: 16px;
    }
    /* -------------------- */
    #footer .container {
  		max-width: var(--tablet-992-max-width-sm);
    }
    #footer .container .footer-mobile-logo{
		display: block;
		max-width: 55%;
	}
}

/* ----------------------------------------768px */
:root {
  	--tablet-768-max-width-sm: 660px; 
  	--tablet-768-max-width-md: 710px; 
  	--tablet-768-max-width-lg: 750px;
}

@media (max-width: 768px) {
	.header .container {
        max-width: var(--tablet-768-max-width-sm);
    }
    /* -------------------- */
    #hero .container-fluid.px-0{
  		max-width: var(--tablet-768-max-width-sm);
  	}
  	/* -------------------- */
  	.container, .container-sm {
    	max-width: var(--tablet-768-max-width-sm);
    }
    .about .row > div{
    	max-width: var(--tablet-768-max-width-sm);
    }
    .section .container .img-fluid {
    	max-width: var(--tablet-768-max-width-sm);
    }
    section, .section {
        padding: 95px 0;
    }
    /* -------------------- */
  	.gard-counts div.container{
    	max-width: var(--tablet-768-max-width-md);
    }
    #global .tablet-br {
        display: none;
    }
    /* -------------------- */
    #modality .mobile-br-576{ /* 576으로 만든 거긴 한데, 여기부터 깨져서 넣음 */
    	display: block;
    }
    /* -------------------- */
	#publication .container .publication-card-wrap{
		row-gap: 20px;
	}
	#publication .publication-card-wrap .publication-mobile-set .publication-card{
		min-height: 0 !important;
        height: 100% !important;
        display: flex;
        flex-direction: row;
        align-items: stretch;
        overflow: hidden;
	}
	#publication .publication-card-wrap .publication-mobile-set .publication-img {
		flex: 0 0 38%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
	}
	#publication .publication-card-wrap .publication-mobile-set .publication-img img {
		width: 100%;
        height: 100%;
        object-fit: contain;
	}
	#publication .publication-card-wrap .publication-mobile-set .publication-body {
		padding: 20px;
		flex: 1;
        height: 100%;
        overflow: hidden;
	}
	#publication .publication-card-wrap .publication-featured-mobile .publication-title, #publication .publication-card-wrap .publication-mobile-set .publication-title {
		font-size: 20px;
        margin: 15px 0;
	}
	#publication .publication-card-wrap .publication-mobile-set .publication-authors {
		font-size: 16px;
	}
	#publication .publication-card-wrap .publication-mobile-set .publication-journal {
		font-size: 16px;
	}
	/* -------------------- */
    #footer .container {
  		max-width: var(--tablet-768-max-width-sm);
    }
    #footer .container .row > div:nth-child(1) {
    	padding: 0 12px;
    }
    #footer .container .row .footer-map-box {
    	width: 97%;  
    	margin: 0 auto;
    	margin-top: 24px;
    }
}	

@media (max-width: 640px){
	#growth .chart-wrap {
	    height: 400px;
	}
    #growth .chart-labels {
        width: 95%;
        display: flex;
        flex-direction: column;
        align-items: start;
        gap: 12px;
    } 
    #growth .container .row .about-content {
	    flex-direction: column;
	    align-items: flex-start;
	}
	#growth .custom-btn-more {
		margin-top: 0px;
	}
    /* -------------------- */
    .mobile-br-480, .tablet-br{
		display: block!important;
	}
}
/* ----------------------------------------576px: 모바일 경계선 */
:root {
  	--mobile-576-max-width-sm: 500px; 
  	--mobile-576-max-width-md: 550px; 
}
	
@media (max-width: 576px) {
	.header .container {
        max-width: var(--mobile-576-max-width-sm);
    }
    #hero .container-fluid.px-0{
  		max-width: var(--mobile-576-max-width-sm);
  	}
  	#hero .hero-title span.title-initial{
        font-size: 42px;
    }
	#hero .hero-title{
        font-size: 25px;
        line-height: 1.1;
    }
    #hero p{
    	font-size: 20px;
    	line-height: 28px;
    }
    /* -------------------- */
    .gard-counts div.container{
    	max-width: var(--mobile-576-max-width-md);
    }
    .gard-counts .count-box .count-num{
    	font-size: 45px;
    }
    .gard-counts .count-box .count-label{
    	font-size: 22px;
    	margin-top: 2px;
    }
    /* 여기는 공통 -------------------- */
    .about .row > div{
    	max-width: var(--mobile-576-max-width-sm);
    }
    .section .container .img-fluid {
    	max-width: var(--mobile-576-max-width-sm);
    }
    /* -------------------- */
    #global .global-card-grid {
        grid-template-columns: repeat(2, 200px);
        gap: 20px 24px;
    }
    #global .global-card {
        width: 200px;
        height: 160px;
    }
    #global .global-card img.global-logo-wide{
    	max-width: 70px;
    }
    #global .global-card img.global-logo-mid{
    	max-width: 85px;
    }
    /* -------------------- */
	#modality .service-item {
    	padding: 30px 12px;
	}
	#modality .service-item .icon{
		width: 90px;
		height: 90px;
		margin-bottom: 10px;
	}
	#modality .service-item a{
		font-size: 25px;
	}
	#modality .service-item p {
		font-size: 18px;
		margin-top: 8px;
	}
	#modality .container > div:nth-last-child(1) {
		max-width: var(--mobile-576-max-width-sm);
	}
	/* -------------------- */
	#ecosystem .container .about-content p{
		margin: 30px 0 45px 0;
	}
    #ecosystem .ecosystem-tablet-lines {
    	display: none;
    }
	#ecosystem .ecosystem-cards { 
		grid-template-columns: 1fr;
		gap: 16px;
	}
	#ecosystem .ecosystem-cards .eco-card {
        width: 65%;
        margin: 0 auto;
	}
	/* -------------------- */
	#footer .container {
        max-width: var(--mobile-576-max-width-sm);
    }
    #footer .container .row > div:nth-child(1) {
    	padding: 0px;
    }
    #footer .container .row .footer-map-box {
    	width: 100%;  
    }
}

/* ----------------------------------------520px */
@media (max-width: 520px) {
	#footer .container .row > div:nth-child(1) {
    	padding: 0 12px;
    }
    #footer .container .row .footer-map-box {
    	width: 97%;  
    	margin: 0 auto;
    	margin-top: 24px;
    }
}

/* ----------------------------------------480px */
:root {
  	--mobile-480-max-width-sm: 420px; 
  	--mobile-480-max-width-md: 450px; 
}
	
@media (max-width: 480px) {
	.header .container {
        max-width: var(--mobile-480-max-width-sm);
    }
    .mobile-menu{
    	padding: 80px 30px 30px;
    	width: 250px;
    }
    #hero .container-fluid.px-0{
  		max-width: var(--mobile-480-max-width-sm);
  	}
  	#hero .mobile-br-576{
  		display: block!important;
  	}
    /* -------------------- */
    .gard-counts div.container{
    	max-width: var(--mobile-480-max-width-md);
    }
    .gard-counts .count-box .count-num{
    	font-size: 40px;
    }
    .gard-counts .count-box .count-label{
    	font-size: 20px;
    	margin-top: 0px;
    }
    /* 여기는 공통 -------------------- */
    .about .row > div{
    	max-width: var(--mobile-480-max-width-sm);
    }
    .section .container .img-fluid {
    	max-width: var(--mobile-480-max-width-sm);
    }
    .section-title p {
    	font-size: 22px;
    }
    .about .about-content h3 {
    	font-size: 26px;
    }
    .about .about-content h1, .container .description-title {
        font-size: 38px;
    }
    .about .about-content p {
    	font-size: 18px;
    }
    /* -------------------- */
    #global .global-card-grid {
        grid-template-columns: repeat(2, 180px);
        gap: 20px 24px;
    }
    #global .global-card {
        width: 180px;
        height: 160px;
    }
    #global .global-card img {
    	max-width: 80px;
    	max-height: 53px;
    }
    #global .global-card img.global-logo-wide {
        max-width: 60px;
    }
    #global .global-card img.global-logo-mid {
        max-width: 75px;
    }    
    /* -------------------- */
    #growth .chart-wrap {
    	width: 95%;
        height: 380px;
    }
    #growth .chart-labels {
        width: 90%;
        gap: 8px;
    }
    /* -------------------- */
    #modality .service-item {
        padding: 25px 10px;
    }
    #modality .service-item .icon {
        width: 75px;
        height: 75px;
    }
    #modality .service-item a {
        font-size: 22px;
    }
    #modality .service-item p {
        font-size: 16px;
        margin-top: 6px;
    }
    #modality .container > div:nth-last-child(1) {
        max-width: var(--mobile-480-max-width-sm);
    }
    /* -------------------- */
    #ecosystem .container .about-content p {
        margin: 30px 0;
    }
    #ecosystem .container .ecosystem-center {
        margin-bottom: 28px;
    }
    #ecosystem .ecosystem-cards .eco-card {
        width: 70%;
        padding: 17px;
    }
    /* -------------------- */
    #publication .container .publication-card-wrap {
        row-gap: 15px;
    }
    #publication .publication-card-wrap .publication-featured-mobile, #publication .publication-card-wrap .publication-mobile-set {
        height: auto;
    }
    #publication .publication-featured-img, #publication .container .publication-featured-card .publication-body {
        padding: 15px;
    }
    #publication .publication-card-wrap .publication-featured-mobile .publication-title, #publication .publication-card-wrap .publication-mobile-set .publication-title {
        font-size: 18px;
    }
    #publication .container .publication-featured-card .publication-body{
    	min-width: 0;
    }
    #publication .container .publication-featured-card .publication-authors, #publication .container .publication-featured-card .publication-journal{
    	display: block;
	    max-width: 100%;
	    white-space: nowrap;
	    overflow: hidden;
	    text-overflow: ellipsis;
    }
    
    /* -------------------- */
    #footer .container {
        max-width: var(--mobile-480-max-width-sm);
    }
    #footer .container .footer-mobile-logo {
        max-width: 70%;
    }
    #footer .container .footer-contact .footer-item:nth-child(1){
    	margin-top: 8px !important;
    }
    .footer .copyright {
    	padding-top: 15px;
    }
}
/* ----------------------------------------440px */
@media (max-width: 440px) {
	.about .about-content h1, .container .description-title {
        font-size: 33px;
    }
}

/* ----------------------------------------390px */
:root {
  	--mobile-390-max-width-sm: 340px; 
  	--mobile-390-max-width-md: 370px; 
}
	
@media (max-width: 390px) {
	.header .container {
        max-width: var(--mobile-390-max-width-sm);
    }
    .header .header-util {
    	gap: 20px;
    }
    
    /* -------------------- */
    #hero .container-fluid.px-0{
  		max-width: var(--mobile-390-max-width-sm);
  	}
    /* -------------------- */
    .gard-counts div.container{
    	max-width: var(--mobile-390-max-width-md);
    }
    .gard-counts .count-box .count-num{
    	font-size: 35px;
    }
    /* 여기는 공통 -------------------- */
    section, .section {
        padding: 90px 0;
    }
    .about .row > div{
    	max-width: var(--mobile-390-max-width-sm);
    }
    .section .container .img-fluid {
    	max-width: var(--mobile-390-max-width-sm);
    }
    .section-title p {
    	font-size: 18px;
    }
    .about .about-content h3 {
    	font-size: 20px;
    }
    .about .about-content h1, .container .description-title {
        font-size: 30px;
    }
    .about .about-content p {
    	font-size: 16px;
    }
    .custom-btn-more {
    	width: 85px;
        font-size: 16px;
        padding: 5px 18px;
    }
    /* -------------------- */
    #global .global-card-grid {
        grid-template-columns: repeat(2, 160px);
        gap: 16px 20px;
    }
    #global .global-card {
        width: 160px;
        height: 140px;
    }
    #global .global-card img {
    	max-width: 70px;
    	max-height: 48px;
    }
    #global .global-card img.global-logo-wide {
        max-width: 50px;
    }
    #global .global-card img.global-logo-mid {
        max-width: 55px;
    }    
    /* -------------------- */
    #modality .container .row.gy-3 {
      	row-gap: 15px;
    }
    #modality .container .row > [class*="col-lg-4"] {
        padding: 0 8px;
    }
    #modality .service-item {
        padding: 23px 8px;
    }
    #modality .service-item .icon {
        width: 65px;
        height: 65px;
    }
    #modality .service-item a {
        font-size: 20px;
    }
    #modality .service-item p {
        font-size: 14px;
    }
    #modality .container > div:nth-last-child(1) {
        max-width: var(--mobile-390-max-width-sm);
    }
    /* -------------------- */
    #ecosystem .container .about-content p {
        margin: 30px 0 20px 0;
    }
    #ecosystem .ecosystem-cards .eco-card {
        width: 80%;
        padding: 15px 10px;
    }
    #ecosystem .container .eco-card-text h4 {
        font-size: 15px;
    }
    /* -------------------- */
    #publication .publication-featured-img, #publication .container .publication-img{
        display: none!important;
    }
    #publication .container .publication-body, #publication .publication-card-wrap .publication-mobile-set .publication-body {
        padding: 12px;
        min-height: 200px;
    }
    #publication .publication-card-wrap .publication-featured-mobile .publication-title, #publication .publication-card-wrap .publication-mobile-set .publication-title {
        margin: 10px 0;
    }
    #publication .container .publication-featured-card .publication-journal, #publication .publication-card-wrap .publication-mobile-set .publication-journal {
        font-size: 14px;
    }
    #publication .container .publication-img.logo-img img {
    	max-width: 85%;
    	max-height: 30%;
    }
    /* -------------------- */
    #footer .container {
        max-width: var(--mobile-390-max-width-sm);
    }
    #footer .mobile-br-576{
        display: none;
    }
    #footer .container .footer-contact p, #footer .container .footer-contact i {
    	font-size: 15px;
    }
}
/* ----------------------------------------320px */
@media (max-width: 320px) {
	.header .logo img {
		max-height: 40px;
	}
	.header .header-util {
        gap: 13px;
    }
    .header .header-util a {
    	font-size: 14px;
    }
    .header .header-util a.mobile-menu-btn {
    	width: 24px;
    }
    /* -------------------- */
    .about .about-content h1, .container .description-title {
        font-size: 27px;
    }
    /* -------------------- */
    #global .global-card-grid {
        grid-template-columns: repeat(2, 142px);
        gap: 0px 13px;
    }
    #global .global-card {
        width: 142px;
        height: 140px;
    }
    #global .global-card-text {
    	font-size: 14px;
    }
    /* -------------------- */
    #modality .service-item a {
        font-size: 18px;
    }
    /* -------------------- */
    #ecosystem .container .ecosystem-center {
        max-width: 100%;
    }
    #ecosystem .container .eco-center-circle {
        width: 220px;
        height: 220px;
    }
    #ecosystem .ecosystem-cards .eco-card {
        width: 90%;
        padding: 15px 12px;
    }
}