/*
    Theme Name: Squadfree
    Theme URL: https://bootstrapmade.com/squadfree-free-bootstrap-template-creative/
    Author: BootstrapMade
    Author URL: https://bootstrapmade.com
*/

/* ==== Google font ==== */
@import url('https://fonts.googleapis.com/css?family=Lato:100,300,400,700,900,100italic,300italic,400italic,700italic,900italic|Montserrat:700|Merriweather:400italic');


body {
    width: 100%;
    height: 100%;
    font-family: 'Lato',sans-serif;
	font-weight: 300;
    color: #666;
    background-color: #fff;
    margin: 0;
    padding: 0;
}

html {
    width: 100%;
    height: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin-top: 0;
	margin-right: 0;
	margin-bottom: 30px;
	font-family: "맑은 고딕";
	font-weight: 700;
	letter-spacing: 1px;
	margin-left: 0px;
}

p.lead {
	font-weight: 600;
}

a {
    color: #fff;
    -webkit-transition: all .2s ease-in-out;
    -moz-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
}

a:hover,
a:focus {
    text-decoration: none;
    color: #176e61;
}

.light {
    font-weight: 400;
}

.navbar {a
    margin-bottom: 0;
    border-bottom: 1px solid rgba(255,255,255,.3);

}

.navbar-brand {
    font-weight: 700;
}
.navbar-brand {
  height: 40px;
  padding: 5px 15px;
  font-size: 18px;
  line-height: 1em;
  margin-top: 10px;
}

.navbar-brand h1{
	color: #fff;
  font-size: 32px;
  line-height: 40px;
}

.navbar-brand:focus {
    outline: 0;
}

@media (max-width: 850px) {
  .navbar-brand {
    /* flow엔 영향을 주지 않는 relative positioning 사용 */
    position: relative;
    top: 4px;         /* 로고만 아래로 4px 이동 */
    
    /* 기존 margin-top, padding 오류 제거 */
    margin-top: 0 !important;
    padding-top: 0;
    padding-bottom: 0; 
  }

  /* img 크기도 커스텀 중이라면, 여기를 유지하세요 */
  .navbar-brand img {
    width: 160px;
    height: auto;
  }
}

/* ── 모바일에서도 동일하게 ── */
@media (max-width: 850px) {
  .navbar,
  .navbar-custom {
    min-height: 30px;
  }
  .navbar-brand img {
    height: 23px;
  }
  .navbar-nav > li > a {
    padding-top: 0rem;
    padding-bottom: 0rem;
  }
}

.nav.navbar-nav {
    background-color: rgba(255,255,255,.6);
}

.navbar-custom.top-nav-collapse .nav.navbar-nav {
    background-color: rgba(0,0,0,0);
}

.navbar-custom ul.nav li a {
	font-size: 13px;
	letter-spacing: 1px;
    color: #444;
	text-transform: uppercase;
	font-weight: 750;
}

@media (max-width: 850px) {
.navbar-custom ul.nav li a {
	font-size: 11px;
	letter-spacing: -1px;
    color: #444;
	text-transform: uppercase;
	font-weight: 750;
}
}

.navbar-custom.top-nav-collapse ul.nav li a {
	    -webkit-transition: all .2s ease-in-out;
    -moz-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
	color: #444;
}

.navbar-custom ul.nav ul.dropdown-menu {
	  border-radius: 0;
}

.navbar-custom ul.nav ul.dropdown-menu li {
	border-bottom: 1px solid #fff;

}

.navbar-custom ul.nav ul.dropdown-menu li:last-child{
	border-bottom: none;
}

.navbar-custom ul.nav ul.dropdown-menu li a {
	padding: 10px 20px;
}

.navbar-custom ul.nav ul.dropdown-menu li a:hover {
	background: #fefefe;
}

.navbar-custom.top-nav-collapse ul.nav ul.dropdown-menu li a {
	color: #666;
}

/* dropdown 메뉴에 마우스 올리면 .open 클래스를 흉내 내서 바로 보이게 */
.navbar-custom .nav li.dropdown:hover > .dropdown-menu {
    display: block;
    opacity: 1;
    visibility: visible;
  }

  .navbar-custom .nav li.dropdown .dropdown-menu {
    display: block !important;           /* Bootstrap 의 display:none override */
    opacity: 0;                           /* 완전 투명 */
    visibility: hidden;                  /* 보이지 않음(클릭 포인터도 먹지 않음) */
    transform: translateY(10px);         /* 살짝 아래로 깔고 시작 */
  
    /* 나타날 때 지연+이동+투명도 전환 설정 */
    transition:
      opacity 0.2s ease-in-out 0.1s,     /* 0.2초 뒤에 0.3초 동안 opacity 0→1 */
      transform 0.2s ease-in-out 0.1s,   /* 0.2초 뒤에 0.3초 동안 Y축 위치 변경 */
      visibility 0s linear 0.3s;         /* visibility 는 opacity 완료 뒤에 활성화 */
  }
  

.navbar-custom .nav li a {
    -webkit-transition: background .3s ease-in-out;
    -moz-transition: background .3s ease-in-out;
    transition: background .3s ease-in-out;
}

.navbar-custom .nav li a:hover,
.navbar-custom .nav li a:focus,
.navbar-custom .nav li.active {
    outline: 0;
    background-color: rgba(255,255,255,.2);
}
.navbar-custom .nav li a:hover,
.navbar-custom .nav li a:focus,
.navbar-custom .nav li.active {
    outline: 0;
    background-color: rgba(200,200,200,.2);
}

.navbar-toggle {
    padding: 4px 6px;
    font-size: 30px;
    color: rgb(41, 37, 37);
}

.navbar-toggle:focus,
.navbar-toggle:active {
    outline: 3;
}


/* loader */
#preloader {
    background: #ffffff;
    bottom: 0;
    height: 100%;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 999;
}


#loaderInner {
    background:#ffffff url(../img/spinner.gif) center center no-repeat;
    height: 60px;
    left: 50%;
    margin: -50px 0 0 -50px;
    position: absolute;
    top: 50%;
    width: 60px;
}

@keyframes boxSpin{
  0%{
    transform: translate(-10px, 0px);
  }
  25%{
    transform: translate(10px, 10px);
  }
  50%{
    transform: translate(10px, -10px);
  }
  75%{
    transform: translate(-10px, -10px);
  }
  100%{
    transform: translate(-10px, 10px);
  }
}


@keyframes shadowSpin{
  0%{
    box-shadow: 10px -10px #39CCCC, -10px 10px #FFDC00;
  }
  25%{
    box-shadow: 10px 10px #39CCCC, -10px -10px #FFDC00;
  }
  50%{
    box-shadow: -10px 10px #39CCCC, 10px -10px #FFDC00;
  }
  75%{
    box-shadow: -10px -10px #39CCCC, 10px 10px #FFDC00;
  }
  100%{
    box-shadow: 10px -10px #39CCCC, -10px 10px #FFDC00;
  }
}

#load {
	z-index: 9999;
  background-color: #FF4136;
  opacity: 0.75;
  width: 10px;
  height: 10px;
  position: absolute;
  top: 50%;
  margin: -5px auto 0 auto;
  left: 0;
  right: 0;
  border-radius: 0px;
  border: 5px solid #FF4136;
  box-shadow: 10px 0px #fff, 10px 0px #01FF70;
  animation: shadowSpin 1s ease-in-out infinite;
}

/* misc */
hr {
  margin-top: 10px;
}

/* margins */
.marginbot-0{margin-bottom:0 !important;}
.marginbot-10{margin-bottom:10px !important;}
.marginbot-20{margin-bottom:20px !important;}
.marginbot-30{margin-bottom:30px !important;}
.marginbot-40{margin-bottom:40px !important;}
.marginbot-50{margin-bottom:50px !important;}

/* ===========================
--- General sections
============================ */

.home-section {
    padding-top: 110px;
    padding-bottom: 110px;
	display:block;
    position:relative;
    z-index:120;
}


.section-heading h2 {
	font-size: 70px;
}
.section-heading i {
	margin-bottom: 20px;
}


/* --- section bg var --- */

.bg-white {
	background: #fff;
}

.bg-gray {
	background: #f8f8f8;
}


.bg-dark {
	background: #575757;
}

/* --- section color var --- */

.text-light {
	color: #fff;
}

/*
Pga banner add 2021.01.31 cslee
*/
#page-banner {
	background-repeat: no-repeat;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	background-position: center;
	/*padding: 80px 0;*/
	height: 60vh;
	position: relative;
	text-align: center;
}
#page-banner:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background: #444;
	opacity: 0.5;
}
#page-banner .content {
	/*margin-top: 8em;*/
	position: relative;
}
#page-banner h1 {
	color: #fff;
	font-size: 6vh;
	max-width: 700px;
	margin: 0 auto;
	line-height: 1.2;
	font-weight: 600;
}
#page-banner span {
	font-size: 14px;
	color: #fff;
	font-style: italic;
}
#page-banner h5 {
	color: #fff;
	font-weight: 400;
	font-size: 12px;
	letter-spacing: 0.8px;
}
#page-banner .breadcrumb, #single-banner .breadcrumb {
	background: none;
	color: #ccc;
	font-size: 14px;
	padding-left: 0;
	margin-bottom: 0;
}
#page-banner .breadcrumb > li > a, #single-banner .breadcrumb > li > a {
	color: #fff;
	font-size: 14px;
}
#page-banner .breadcrumb > .active, #single-banner .breadcrumb > .active {
	color: #fff;
}
#page-banner header {
	padding: 0;
}
#page-banner header .date-article {
	color: #fff;
	text-transform: uppercase;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.8px;
	font-family: 'Montserrat', sans-serif;
	font-style: normal;
}
#page-banner header .author.vcard a {
	text-transform: uppercase;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.8px;
	font-family: 'Montserrat', sans-serif;
	font-style: normal;
	color: #fff;
	font-weight: 600;
}
#page-banner header.entry-header {
	color: #fff;
	font-family: 'Droid Serif', serif;
	text-transform: none;
	font-weight: 400;
	margin-top: 15px;
	font-style: italic;
}
/* ===========================
--- Intro
============================ */

.intro {
	width:100%;
	position:relative;
    background-size: cover;
    height: auto;
}

#intro.intro {
	padding:0% 0 0 0;
}

.intro .slogan {
	text-align: center;
    padding-top: 20%;
}

.intro .page-scroll {
	text-align: center;
}

.brand-heading {
    font-size: 40px;
}

.intro-text {
    font-size: 18px;
}

.intro .slogan h2 {
	color: #F4F4F4;
	text-shadow: none;
	font-size: 60px;
	line-height: 60px;
	font-weight: 700;
	font-family: Montserrat, sans-serif;
	background-color: rgba(255,255,255,0.00);
	text-transform: uppercase;
	border: 0px none #000;
	text-shadow: 0px 0px 1px #000;
}

.intro .slogan h4 {
	color: #FBFBFB;
	text-shadow: -1px 1px 1px #000;
}

@media (max-width: 850px) {
    .intro {
        width:100%;
	    position:relative;
        background: url(../img/bg16.jpg) no-repeat bottom center;
        background-size: cover;
        height: 100%;
    }
  }

@media (max-width: 850px) {
  .intro .slogan h2 {
    text-align: center;
    font-size: 48px;
    padding:50% 0 0 0;
    font-family: Montserrat, sans-serif;
    text-transform: uppercase;
	border: 0px none #000;
	text-shadow: 0px 0px 1px #000;
  }
}

@media (max-width: 850px) {
  .intro .slogan h4 {
    font-size: 15px;
    text-align: center;
  }
}

/* ===========================
--- middle
============================ */

/* ── 기본 스타일 ── */
.middle {
  display: flex;                  /* Flex 컨테이너로 */
  align-items: center;            /* 수직 중앙 정렬 */
  justify-content: center;        /* 수평 중앙 정렬 */
  
  position: relative;
  width: 100%;
  min-height: 60vh;               /* 원하는 높이(예: 뷰포트 60%) */
  
  background: url(../img/cloud.jpg) no-repeat center center;
  background-size: cover;
  
  padding: 0 1rem;                /* 좌우 여백만 살짝 */
  color: #fff;
}
.middle .main {
  max-width: 800px;
  text-align: center;
}
/* 제목 */
.middle .main h2 {
  font-family: Montserrat, sans-serif;
  font-size: 2.3rem;
  font-weight: 700;
  text-transform: uppercase;
  text-shadow: 0 1px 4px rgba(0,0,0,0.7);
  margin-bottom: 0.75em;
  line-height: 1.1;
}
/* 부제목 */
.middle .main h4 {
  font-size: 1.0rem;
  font-weight: 300;
  line-height: 1.5;
  text-shadow: 0 1px 3px rgba(0,0,0,0.7);
  margin-bottom: 0;
}

/* ── 데스크탑→태블릿 (≤992px) ── */
@media (max-width: 992px) {
  .middle {
    padding: 18vh 0 8vh;
  }
  .middle .main h2 {
    font-size: 2.5rem;
    margin-bottom: 0.5em;
  }
  .middle .main h4 {
    font-size: 1.15rem;
  }
}

/* ── 태블릿→모바일 (≤768px) ── */
@media (max-width: 768px) {
  .middle {
    padding: 15vh 0 6vh;
  }
  .middle .main h2 {
    font-size: 2rem;
  }
  .middle .main h4 {
    font-size: 1rem;
  }
}

/* ── 작은 모바일 (≤576px) ── */
@media (max-width: 576px) {
  .middle {
    padding: 12vh 0 4vh;
  }
  .middle .main h2 {
    font-size: 1.5rem;
  }
  .middle .main h4 {
    font-size: 0.9rem;
    padding: 0 0.5rem;
  }
}

/* ===========================
--- About
============================ */

.boxed-grey {
	background: #f9f9f9;
	padding: 20px;
}

.team h5 {
	margin-bottom: 10px;
}

.team p.subtitle {
	margin-bottom: 10px;
}

.avatar {
	margin-bottom: 20px;
}

.team-social {
	margin-left: 0;
	padding-left: 0;

}

.team-social {
	text-align: center;
}

.team-social li{
    display: inline-block;
	margin:0 !important;
	padding:0;
}


.team-social a{
	margin:0;
	padding:0;
    display: block;
	width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    background: #fff;
	color: #fff;
    -webkit-transition: background .3s ease-in-out;
    transition: background .3s ease-in-out;
}
.team-social a i{
	text-align: center;
	margin:0;
	padding:0;
}
.team-social .social-facebook a{background: #3873ae;}
.team-social .social-twitter a{background: #62c6f8;}
.team-social .social-dribble a{background: #d74980;}
.team-social .social-deviantart a{background: #8da356;}
.team-social .social-google a{background: #000;}
.team-social .social-vimeo a{background: #51a6d3;}
.team-social .social-facebook a:hover{background: #4893ce;}
.team-social .social-twitter a:hover{background: #82e6ff;}
.team-social .social-dribble a:hover{background: #f769a0;}
.team-social .social-deviantart a:hover{background: #adc376;}
.team-social .social-google a:hover{background: #333;}
.team-social .social-vimeo a:hover{background: #71c6f3;}


/* ===========================
--- Services
============================ */

.service-icon {
	margin-bottom: 20px;
}



/* ===========================
--- Contact
============================ */

form#contact-form .form-group label {
	text-align: left !important;
	display: block;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 12px;
}
form#contact-form input,form#contact-form select,form#contact-form textarea {
	border-radius: 0;
	border: 1px solid #eee;
  -webkit-box-shadow: none;
          box-shadow:  none;
}

form#contact-form input:focus,form#contact-form select:focus,form#contact-form textarea:focus {
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
          box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
}
.input-group-addon {
  background-color: #fefefe;
  border: 1px solid #eee;
  border-radius: 0;
}

.widget-contact {
	text-align: left;
}

.validation {
    color: red;
    display:none;
    margin: 0 0 20px;
    font-weight:400;
    font-size:13px;
}

#sendmessage {
    color: green;
    border:1px solid green;
    display:none;
    text-align:center;
    padding:15px;
    font-weight:600;
    margin-bottom:15px;
}

#errormessage {
    color: red;
    display:none;
    border:1px solid red;
    text-align:center;
    padding:15px;
    font-weight:600;
    margin-bottom:15px;
}

#sendmessage.show, #errormessage.show, .show {
	display:block;
}

.company-social {
	margin-left: 0;
	padding-left: 0;
	margin-top: 10px;
}

.company-social {
	text-align: left;
}

.company-social li{
    display: inline-block;
	margin:0 !important;
	padding:0;
}


.company-social a{
	margin:0;
	padding:0;
    display: block;
	width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    background: #fff;
	color: #fff;
    -webkit-transition: background .3s ease-in-out;
    transition: background .3s ease-in-out;
}
.company-social a i{
	text-align: center;
	margin:0;
	padding:0;
}
.company-social .social-facebook a{background: #3873ae;}
.company-social .social-twitter a{background: #62c6f8;}
.company-social .social-dribble a{background: #d74980;}
.company-social .social-deviantart a{background: #8da356;}
.company-social .social-google a{background: #000;}
.company-social .social-vimeo a{background: #51a6d3;}
.company-social .social-instagram a{background: #DD2A7B;}
.company-social .social-youtube a{background: #FF0000;}
.company-social .social-blog a{background: #1EC800;}
.company-social .social-facebook a:hover{background: #4893ce;}
.company-social .social-twitter a:hover{background: #82e6ff;}
.company-social .social-dribble a:hover{background: #f769a0;}
.company-social .social-deviantart a:hover{background: #adc376;}
.company-social .social-google a:hover{background: #333;}
.company-social .social-vimeo a:hover{background: #71c6f3;}
.company-social .social-instagram a:hover{background: #1#E00E91;}





/* ==========================
Parallax
============================= */

#parallax1{
	background-image: url(../img/parallax/1.jpg);
}

#parallax1:after {
	background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAEklEQVQImWNgYGD4z0AswK4SAFXuAf8EPy+xAAAAAElFTkSuQmCC);
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	top: 0;
	opacity: 0.7;
	z-index: -1;
}


#parallax2{
	background-image: url(../img/parallax/2.jpg);

}

#parallax2:after  {
	background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAEklEQVQImWNgYGD4z0AswK4SAFXuAf8EPy+xAAAAAElFTkSuQmCC);
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	top: 0;
	opacity: 0.7;
	z-index: -1;
}


/* ===========================
--- Elements
============================ */

.btn {
	border-radius: 0;
    text-transform: uppercase;
    font-family: Montserrat,sans-serif;
    font-weight: 500;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

.btn-circle {
    width: 70px;
    height: 70px;
    margin-top: 15px;
    padding: 7px 16px;
    border: 2px solid #fff;
    border-radius: 50%;
    font-size: 40px;
    color: #fff;
    background: 0 0;
    -webkit-transition: background .3s ease-in-out;
    -moz-transition: background .3s ease-in-out;
    transition: background .3s ease-in-out;
}

.btn-circle.btn-dark {
    border: 4px solid #666;
    color: #666;
}


.btn-circle:hover,
.btn-circle:focus {
    outline: 0;
    color: #fff;
    background: rgba(255,255,255,.1);
}

.btn-circle.btn-dark :hover,
.btn-circle.btn-dark :focus {
    outline: 0;
    color: #999;
    background: #fff;
}

.btn-circle.btn-dark :hover i,
.btn-circle.btn-dark :focus i{
    color: #999;
}

.page-scroll .btn-circle i.animated {
    -webkit-transition-property: -webkit-transform;
    -webkit-transition-duration: 1s;
    -moz-transition-property: -moz-transform;
    -moz-transition-duration: 1s;
}

.page-scroll .btn-circle:hover i.animated {
    -webkit-animation-name: pulse;
    -moz-animation-name: pulse;
    -webkit-animation-duration: 1.5s;
    -moz-animation-duration: 1.5s;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
}

@-webkit-keyframes pulse {
    0 {
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    50% {
        -webkit-transform: scale(1.2);
        transform: scale(1.2);
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@-moz-keyframes pulse {
    0 {
        -moz-transform: scale(1);
        transform: scale(1);
    }

    50% {
        -moz-transform: scale(1.2);
        transform: scale(1.2);
    }

    100% {
        -moz-transform: scale(1);
        transform: scale(1);
    }
}


#text {
    color: #fff;
    background: #ffcc00;
}

#map {
	height: 500px;
}


.btn-skin:hover,
.btn-skin:focus,
.btn-skin:active,
.btn-skin.active {
  color: #fff;
  background-color: #666;
  border-color: #666;
}


.btn-default:hover,
.btn-default:focus {
    border: 1px solid #28c3ab;
    outline: 0;
    color: #000;
    background-color: #28c3ab;
}

.btn-huge {
    padding: 25px;
    font-size: 26px;
}

.banner-social-buttons {
    margin-top: 0;
}


/* Media queries */

@media(min-width:850px) {

    .navbar {
        padding: 20px 0;
        border-bottom: 0;
        letter-spacing: 1px;
        background: 0 0;
        -webkit-transition: background .5s ease-in-out,padding .5s ease-in-out;
        -moz-transition: background .5s ease-in-out,padding .5s ease-in-out;
        transition: background .5s ease-in-out,padding .5s ease-in-out;
    }

    .top-nav-collapse {
        padding: 0;
        background-color: #000;
    }

    .navbar-custom.top-nav-collapse {
        border-bottom: 1px solid rgba(255,255,255,.3);
    }

    .intro {
        height: 100%;
        padding: 0;
    }

    .brand-heading {
        font-size: 100px;
    }


    .intro-text {
        font-size: 25px;
    }


}
@media (max-width:850px) {

	.team.boxed-grey {
		margin-bottom: 30px;
	}

	.boxed-grey {
		margin-bottom: 30px;
	}


}

@media (max-width:850px) {

	.navbar-custom .nav.navbar-nav {
    background-color: rgba(255,255,255,.4);
	}

	.navbar.navbar-custom.navbar-fixed-top {
		margin-bottom: 30px;
	}

	.tp-banner-container {
		padding-top:40px;
	}

	.page-scroll a.btn-circle {
		width: 40px;
		height: 40px;
		margin-top: 10px;
		padding: 7px 0;
		border: 2px solid #fff;
		border-radius: 50%;
		font-size: 20px;
	}

}

.wrapper {
    position: relative;
}

.floating{
	position: absolute;
	top: 50%;
    left: 0;
    transform: translateY(-70%);
    z-index: 1000;
}

.floating2{
	position: absolute;
	top: 50%;
    left: 0;
    transform: translateY(50%); /* 첫 배너보다 아래쪽 */
    z-index: 1000;
}

/* --- Floating Banner CSS --- */
.floating-banner {
    position: fixed;
    right: 20px;
    bottom: 20px;
    width: 200px;
    background-color: #1a1a1a;
    color: #ffffff;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.25);
    padding: 8px;
    font-family: 'Noto Sans KR', sans-serif;
    text-align: center;
    z-index: 10000;
    transition: transform 0.3s ease, opacity 0.3s ease;
  }
  
  /* 마우스 오버 시 살짝 커지면서 강조 */
  .floating-banner:hover {
    transform: translateY(-4px);
    box-shadow: 0 6px 16px rgba(0,0,0,0.35);
  }
  
  /* 헤더 */
  .floating-banner .banner-header {
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 8px;
  }
  
  /* 전화번호 */
  .floating-banner .banner-phone {
    display: block;
    font-size: 24px;
    font-weight: 700;
    color: #ffdd57;
    text-decoration: none;
    margin-bottom: 3px;
  }
  
  
  /* 반응형: 모바일에서 크기 줄이기 */
  @media (max-width: 480px) {
    .floating-banner {
      right: 12px;
      bottom: 12px;
      width: 180px;
      padding: 10px;
    }
    .floating-banner .banner-phone {
      font-size: 18px;
    }
  }

@media (max-width:850px) {
    .floating{
	display: none;
}
}
@media (max-width:850px) {
    .floating2{
	display: none;
}
}


html {
  scroll-behavior: smooth
}

.button_mk2{
	width: 140px;
	height: 40px;
	color: #fff;
	background: #44546B;
	font-size: 16px;
	font-weight: 300px;
	text-align: center;
	padding: 8px;
	border: none;
	border-radius: 20px;
	box-shadow: 0 4px 16px rgba(0,34,102,0.3);
    float: right !important;
    position: relative;
    margin-bottom: 18px;
    margin-right: 15px;
    z-index: 3;
}

.button_mk2:focus {
	outline:0;
}
.button_mk2:hover {
	color: #fff;
	background: #364355;
	cursor: pointer;
	box-shadow: 0 2px 4px rgba(0,34,102,0.6);
}
.button_mk3{
	width: 140px;
	height: 40px;
	color: #fff;
	background: #44546B;
	font-size: 16px;
	font-weight: 300px;
	text-align: center;
	padding: 8px;
	border: none;
	border-radius: 20px;
	box-shadow: 0 4px 16px rgba(0,34,102,0.3);
	float: right !important;
    position: relative;
    margin-bottom: 18px;
    margin-right: 15px;
    z-index: 3;
}
.button_mk3:focus {
	outline:0;
}
.button_mk3:hover {
	color: #fff;
	background: #364355;
	cursor: pointer;
	box-shadow: 0 2px 4px rgba(0,34,102,0.6);
}

p.a{
	font-weight: 550;
	font-size: 40px;
	color: #364355;
}
p.b{
	font-weight: 550;
	font-size: 20px;
	color: #000000;
}
.panel-heading2 {
    padding: 10px 15px;
    vertical-align: central;
    border-bottom: 1px solid transparent;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    background-color: #FAFAFA;
    height: 170px;
    vertical-align: middle;
    width: 100%;
    z-index: -1;
}

    .panel-heading2 > .dropdown .dropdown-toggle {
        color: inherit;
    }
    .panel-heading3 {
        padding: 10px 15px;
        vertical-align: central;
        border-bottom: 1px solid transparent;
        border-top-left-radius: 3px;
        border-top-right-radius: 3px;
        background-color: #ffffff;
        height: 170px;
        vertical-align: middle;
        width: 100%;
        z-index: -1;
    }
    
        .panel-heading3 > .dropdown .dropdown-toggle {
            color: inherit;
        }
.panelmaintext {
    float: left;
    margin-top: 20px;
    font-weight: 800;
    font-size: 1.8rem;
    color: #44546B;
}

.panelmain {
    margin-top: 20px;
    margin-left: 10px;
    font-weight: 800;
    font-size: 2.0rem;
    color: #44546B;
}

.panelsub {
    margin-top: 20px;
    margin-left: 10px;
    font-weight: 800;
    font-size: 1.3rem;
    color: #5D5D5D;
}

.panelmainimg {
    float: right !important;
    margin-top: 20px
}
/* ── 공통 컨테이너 ── */
.home-intro {
  max-width: 900px;
  margin: 0 auto;
  padding: 4rem 1rem;
  text-align: center;
}

/* ── 메인 텍스트 ── */
.hometext {
  font-weight: 700;
  font-size: clamp(1.5rem, 4vw, 2rem);
  color: #4b4b4b;
  margin-bottom: 1rem;
}

/* ── 서브 텍스트 ── */
.hometextsub {
  font-weight: 500;
  font-size: clamp(1rem, 3vw, 1.2rem);
  color: #4b4b4b;
  margin: 0 auto 2rem;
  line-height: 1.4;
  max-width: 700px;
}

/* ── SNS 헤더 ── */
.hometextsns {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  background-color: #fff;
  font-weight: 800;
  font-size: clamp(1.2rem, 3.5vw, 1.5rem);
  color: #4b4b4b;
  border-radius: 4px;
  margin-bottom: 1.5rem;
}

/* ── 아이콘 래퍼 ── */
.sns-panel {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.5rem;
  margin-bottom: 3rem;
}
.sns-panel a img {
  display: block;
  width: 5.0rem;
  height: auto;
  transition: transform .2s;
}
.sns-panel a img:hover {
  transform: scale(1.1);
}

/* ── 반응형: 태블릿 이하 (≤768px) ── */
@media (max-width: 768px) {

  .hometext br,
  .hometextsub br {
    display: none;
  }
  .home-intro {
    padding: 3rem 1rem;
  }
  .sns-panel {
    gap: 1rem;
  }
  .sns-panel a img {
    width: 3.5rem;
  }
}

/* ── 반응형: 모바일 이하 (≤480px) ── */
@media (max-width: 480px) {

  .hometext br,
  .hometextsub br {
    display: none;
  }
  .home-intro {
    padding: 2rem 0.5rem;
  }
  .hometext {
    margin-bottom: .75rem;
    font-size: 1.2rem;
  }
  .hometextsub {
    margin-bottom: 1.8rem;
    font-size: 0.8rem;
  }
  .hometextsns {
    font-size: 1.2rem;
    padding: .5rem 1rem;
    margin-bottom: 1rem;
  }
  .sns-panel {
    gap: .75rem;
  }
  .sns-panel a img {
    width: 3.5rem;
  }
}
.navy{
	font-size: 50px;
	color:#002266;
}
.navy2{
	font-size: 42px;
	color:#002266;
}
.navy3{
	font-size: 38px;
	color:#002266;
}
.black{
	font-size: 25px;
	color:#000000;
}
.small_black{
	font-size: 16px;
	color:#212121;
    font-weight: 700;
}
.small_black2{
	font-size: 13px;
	color:#212121;
    font-weight: 400;
}
table.type01 {
    border-collapse: separate;
    border-spacing: 1px;
    text-align: left;
    line-height: 1.5;
    border-top: 1px solid #ccc;
    margin : 20px 10px;
  }
table.type01 th {
    padding: 10px;
    font-weight: bold;
    vertical-align: center;
    border-bottom: 1px solid #ccc;
  }
table.type01 td {
    padding: 10px;
    vertical-align: center;
    border-bottom: 1px solid #ccc;
  }
table.type01 .even {
    background: #efefef;
  }
  table.type02 {
    border-collapse: separate;
    border-spacing: 1px;
    text-align: left;
    line-height: 1.5;
    border-top: 1px solid #ccc;
    margin : 20px 10px;
  }
table.type02 th {
    padding: 10px;
    font-weight: bold;
    vertical-align: center;
    border-bottom: 1px solid #ccc;
    background-color: #f3fbff;
  }
table.type02 td {
    padding-bottom: 10px;
    padding-top: 10px;
    padding-left: 10px;
    vertical-align: center;
    border-bottom: 1px solid #ccc;
    text-indent: -10px;
  }
table.type02 .even {
    background: #efefef;
  }
.btn-outline-primary {
    text-align: center;
	width: 140px;
	height: 40px;
    font-size: 16px;
    margin-left: 5px;
    margin-right: 5px;
  }
  @media (max-width:850px) {
    .btn-outline-primary{
    text-align: center;
    padding-top: 1px;
    padding-bottom: 1px;
    padding-right: 1px;
    padding-left: 1px;
	width: 100px;
    height: 28px;
    font-size: 11px;
}
  }
  .btn-outline-secondary {
    text-align: center;
	width: 140px;
	height: 40px;
    font-size: 16px;
    margin-left: 5px;
    margin-right: 5px;
  }
  @media (max-width:850px) {
    .btn-outline-secondary{
    text-align: center;
    padding-top: 1px;
    padding-bottom: 1px;
    padding-right: 1px;
    padding-left: 1px;
	width: 100px;
    height: 28px;
    font-size: 11px;
}
  }
  .btn-outline-success {
    text-align: center;
	width: 140px;
	height: 40px;
    font-size: 16px;
    margin-left: 5px;
    margin-right: 5px;
  }
  @media (max-width:850px) {
    .btn-outline-success{
    text-align: center;
    padding-top: 1px;
    padding-bottom: 1px;
    padding-right: 1px;
    padding-left: 1px;
	width: 100px;
    height: 28px;
    font-size: 11px;
}
  }
  .button_qna{
	width: 150px;
	height: 40px;
	color: rgb(22, 22, 22);
	background: #f0f0f0;
	font-size: 16px;
	font-weight: 300px;
	text-align: center;
	padding: 8px;
	border: none;
	border-radius: 10px;
	float: right !important;
    position: relative;
    margin-bottom: 18px;
    margin-right: 15px;
    z-index: 3;
}
.button_qna:focus {
	outline:0;
}
.button_qna:hover {
	color: rgb(22, 22, 22);
	background: #dbdbdb;
	cursor: pointer;
} 
@media (max-width:850px) {
    .button_qna{
    font-size: 8px;
    text-align: center;
    padding-top: 5px;
    padding-bottom: 1px;
    padding-right: 1px;
    padding-left: 1px;
	width: 130px;
    height: 30px;
}
  }

  .intro .slideshow,
  .intro .slideshow:after {
      z-index: 0;
  }
  .intro .slideshow:after {
      content: '';
      background: transparent url(../images/pattern.png) repeat top left;
  }
  .intro .slideshow li span {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0px;
      left: 0px;
      color: transparent;
      background-size: cover;
      background-position: 50% 50%;
      background-repeat: none;
      opacity: 0;
      z-index: 0;
      -webkit-backface-visibility: hidden;
      -webkit-animation: imageAnimation 36s linear infinite 0s;
      -moz-animation: imageAnimation 36s linear infinite 0s;
      -o-animation: imageAnimation 36s linear infinite 0s;
      -ms-animation: imageAnimation 36s linear infinite 0s;
      animation: imageAnimation 36s linear infinite 0s;
  }
  .intro .slideshow li div {
      z-index: 1000;
      position: absolute;
      bottom: 30px;
      left: 0px;
      width: 100%;
      text-align: center;
      opacity: 0;
      -webkit-animation: titleAnimation 36s linear infinite 0s;
      -moz-animation: titleAnimation 36s linear infinite 0s;
      -o-animation: titleAnimation 36s linear infinite 0s;
      -ms-animation: titleAnimation 36s linear infinite 0s;
      animation: titleAnimation 36s linear infinite 0s;
  }
  .intro .slideshow li div h3 {
    font-family: "helvetica neue", helvetica;
    text-transform: uppercase;
    font-size: 80px;
    padding: 0;
    line-height: 200px;
      color: rgba(255,255,255, 0.8);
  }
  .intro .slideshow li:nth-child(1) span { background-image: url(../img/bg4.jpg) }
  .intro .slideshow li:nth-child(2) span {
      background-image: url(../img/bg9.jpg);
      -webkit-animation-delay: 6s;
      -moz-animation-delay: 6s;
      -o-animation-delay: 6s;
      -ms-animation-delay: 6s;
      animation-delay: 6s;
  }
  .intro .slideshow li:nth-child(3) span {
      background-image: url(../img/bg10.jpg);
      -webkit-animation-delay: 12s;
      -moz-animation-delay: 12s;
      -o-animation-delay: 12s;
      -ms-animation-delay: 12s;
      animation-delay: 12s;
  }
  .intro .slideshow li:nth-child(4) span {
      background-image: url(../img/bg11.jpg);
      -webkit-animation-delay: 18s;
      -moz-animation-delay: 18s;
      -o-animation-delay: 18s;
      -ms-animation-delay: 18s;
      animation-delay: 18s;
  }
  .intro .slideshow li:nth-child(5) span {
    background-image: url(../img/bg12.jpg);
    -webkit-animation-delay: 24s;
    -moz-animation-delay: 24s;
    -o-animation-delay: 24s;
    -ms-animation-delay: 24s;
    animation-delay: 24s;
}
.intro .slideshow li:nth-child(6) span {
    background-image: url(../img/bg13.jpg);
    -webkit-animation-delay: 30s;
    -moz-animation-delay: 30s;
    -o-animation-delay: 30s;
    -ms-animation-delay: 30s;
    animation-delay: 30s;
}
@media (max-width: 850px) {
    .intro .slideshow li:nth-child(1) span 
    { background-image: url(../img/bg16.jpg) }
}
@media (max-width: 850px) {
    .intro .slideshow li:nth-child(2) span 
    { background-image: url(../img/bg14.jpg) }
}
@media (max-width: 850px) {
    .intro .slideshow li:nth-child(3) span 
    { background-image: url(../img/bg15.jpg) }
}
  /* Animation for the slideshow images */
  @-webkit-keyframes imageAnimation { 
      0% {
          opacity: 0;
          -webkit-animation-timing-function: ease-in;
      }
      8% {
          opacity: 1;
          -webkit-transform: scale(1.05);
          -webkit-animation-timing-function: ease-out;
      }
      17% {
          opacity: 1;
          -webkit-transform: scale(1.1);
      }
      25% {
          opacity: 0;
          -webkit-transform: scale(1.1);
      }
      100% { opacity: 0 }
  }
  @-moz-keyframes imageAnimation { 
      0% {
          opacity: 0;
          -moz-animation-timing-function: ease-in;
      }
      8% {
          opacity: 1;
          -moz-transform: scale(1.05);
          -moz-animation-timing-function: ease-out;
      }
      17% {
          opacity: 1;
          -moz-transform: scale(1.1);
      }
      25% {
          opacity: 0;
          -moz-transform: scale(1.1);
      }
      100% { opacity: 0 }
  }
  @-o-keyframes imageAnimation { 
      0% {
          opacity: 0;
          -o-animation-timing-function: ease-in;
      }
      8% {
          opacity: 1;
          -o-transform: scale(1.05);
          -o-animation-timing-function: ease-out;
      }
      17% {
          opacity: 1;
          -o-transform: scale(1.1);
      }
      25% {
          opacity: 0;
          -o-transform: scale(1.1);
      }
      100% { opacity: 0 }
  }
  @-ms-keyframes imageAnimation { 
      0% {
          opacity: 0;
          -ms-animation-timing-function: ease-in;
      }
      8% {
          opacity: 1;
          -ms-transform: scale(1.05);
          -ms-animation-timing-function: ease-out;
      }
      17% {
          opacity: 1;
          -ms-transform: scale(1.1);
      }
      25% {
          opacity: 0;
          -ms-transform: scale(1.1);
      }
      100% { opacity: 0 }
  }
  @keyframes imageAnimation { 
      0% {
          opacity: 0;
          animation-timing-function: ease-in;
      }
      8% {
          opacity: 1;
          transform: scale(1.05);
          animation-timing-function: ease-out;
      }
      17% {
          opacity: 1;
          transform: scale(1.1);
      }
      25% {
          opacity: 0;
          transform: scale(1.1);
      }
      100% { opacity: 0 }
  }
  /* Animation for the title */
  @-webkit-keyframes titleAnimation { 
      0% {
          opacity: 0;
          -webkit-transform: translateY(200px);
      }
      8% {
          opacity: 1;
          -webkit-transform: translateY(0px);
      }
      17% {
          opacity: 1;
          -webkit-transform: scale(1);
      }
      19% { opacity: 0 }
      25% {
          opacity: 0;
          -webkit-transform: scale(10);
      }
      100% { opacity: 0 }
  }
  @-moz-keyframes titleAnimation { 
      0% {
          opacity: 0;
          -moz-transform: translateY(200px);
      }
      8% {
          opacity: 1;
          -moz-transform: translateY(0px);
      }
      17% {
          opacity: 1;
          -moz-transform: scale(1);
      }
      19% { opacity: 0 }
      25% {
          opacity: 0;
          -moz-transform: scale(10);
      }
      100% { opacity: 0 }
  }
  @-o-keyframes titleAnimation { 
      0% {
          opacity: 0;
          -o-transform: translateY(200px);
      }
      8% {
          opacity: 1;
          -o-transform: translateY(0px);
      }
      17% {
          opacity: 1;
          -o-transform: scale(1);
      }
      19% { opacity: 0 }
      25% {
          opacity: 0;
          -o-transform: scale(10);
      }
      100% { opacity: 0 }
  }
  @-ms-keyframes titleAnimation { 
      0% {
          opacity: 0;
          -ms-transform: translateY(200px);
      }
      8% {
          opacity: 1;
          -ms-transform: translateY(0px);
      }
      17% {
          opacity: 1;
          -ms-transform: scale(1);
      }
      19% { opacity: 0 }
      25% {
          opacity: 0;
          -webkit-transform: scale(10);
      }
      100% { opacity: 0 }
  }
  @keyframes titleAnimation { 
      0% {
          opacity: 0;
          transform: translateY(200px);
      }
      8% {
          opacity: 1;
          transform: translateY(0px);
      }
      17% {
          opacity: 1;
          transform: scale(1);
      }
      19% { opacity: 0 }
      25% {
          opacity: 0;
          transform: scale(10);
      }
      100% { opacity: 0 }
  }
  /* Show at least something when animations not supported */
  .no-cssanimations .slideshow li span{
      opacity: 1;
  }
  @media screen and (max-width: 1140px) { 
      .slideshow li div h3 { font-size: 100px }
  }
  @media screen and (max-width: 600px) { 
      .slideshow li div h3 { font-size: 50px }
  }

  .iframe100 {
    display: block;
    border: none;
    height: 100vh;
    width: 75vw;
  }
  .info1 {
    font-size: 20px;
    font-weight: 700;
    color: #008299;
    padding-left: 5px;
    text-indent: -15px;
  }
  .image1 {
    opacity: 1;
    display: block;
    width: 100%;
    height: auto;
    transition: .5s ease;
    backface-visibility: hidden;
    padding-top: 5px;
    padding-bottom: 5px;
}
.image2 {
    opacity: 1;
    display: block;
    width: auto;
    height: 100%;
    transition: .5s ease;
    backface-visibility: hidden;
    padding-top: 5px;
    padding-bottom: 5px;
}
.info2 {
    transition: .5s ease;
    opacity: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    text-align: center;
    z-index: 3;
}
.info3 {
    transition: .5s ease;
    opacity: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    text-align: center;
    z-index: 3;
    width: 85%;
    height: auto;
}
.image3 {
    opacity: 1;
    display: block;
    width: auto;
    height: 100%;
    transition: .5s ease;
    backface-visibility: hidden;
    padding-top: 5px;
    padding-bottom: 5px;
}
.col-sm-6:hover .image1{
    opacity: 0.3;

}
.col-sm-6:hover .info2{
    opacity: 1;

}
.col-sm-5:hover .image1{
    opacity: 0.3;

}
.col-sm-5:hover .info2{
    opacity: 1;

}
.col-sm-2:hover .image1{
    opacity: 0.3;

}
.col-sm-2:hover .info2{
    opacity: 1;

}
.col-sm-6:hover .info3{
    opacity: 1;

}
.col-sm-5:hover .info3{
    opacity: 1;

}
.col-sm-2:hover .info3{
    opacity: 1;

}
@media (max-width:850px) {
    .col-sm-2 {
        display: none;
    }
}
.text {
    background-color: #44546B;
    border-radius: 3%;
    color: white;
    font-size: 16px;
    padding: 16px 32px;
  }
  .text:hover {
    background-color: #344358;
    border-radius: 3%;
    color: white;
    font-size: 16px;
    padding: 16px 32px;
  }
  .text2 {
    background-color: #44546B;
    border-radius: 3%;
    color: white;
    font-size: 16px;
    padding: 10px 12px;
    text-align: center;
  }
  .text2:hover {
    background-color: #344358;
    border-radius: 3%;
    color: white;
    font-size: 16px;
    padding: 10px 12px;
  }
  .maptext {
    position: relative;
    margin-top: 10px;
    margin-left: 10px;
    margin-right: 10px;
    line-height: 150%;
    font-weight: 500;
    font-size: 1.0rem;
    color: #4b4b4b;
}
.partners1 {
	width:100%;
	position:relative;
	background: url(../img/partners_1.jpg);
    background-size: cover;
    height:auto;
}
#partners1.partners1 {
	padding:50% 0 0 0;
}

@media (max-width:850px) {
    .partners1 {
        width: 100%;
        position:relative;
        background: url(../img/partners_2.jpg) no-repeat bottom center;
        background-size: cover;
        height: 360px;
    }
}

*{padding: 0; margin: 0; list-style: none;}
  .inner-page2 {
    padding-right: 100px;
    padding-left: 100px;
}
@media (max-width:850px) {
    .inner-page2 {
        padding-right: 20px;
        padding-left: 20px;
    }
}
  .history h2 {position: relative; font-size: 33px color: #000; line-height: 1;}
  .history h2:before {
    content:""; position: absolute;
    left:-48px; top:50%; transform: translateY(-50%);
    width: 17px; height: 17px; border-radius: 100%;
    background:#fff; border: 5px solid #002266;
    box-sizing: border-box;}

  .history div {position: relative; padding: 0 0 0 48px;}
  .history div:before { content:""; position:absolute; left:8px; top:0;
          width: 2px; height:100%; background:#ddd;}
  .history div:first-child:before { top:10px; height:calc(100% - 10px);}


  .history ol { padding: 20px 0 74px; }
  .history li {font-size: 17px; color:#000; line-height: 29px; text-indent: -9px; }

  #circle1 {
    background-color:#00a0e9;
    width:130px;
    height:130px;
    border-radius:75px;
    text-align:center;
    color:#fff;
    margin:0 auto;
    font-size:18px;
    font-weight: 500;
    vertical-align:middle;
    line-height:130px;
    padding-left: 20px;
    padding-right: 20px;
    margin-top: 30px;
    }
  #circle2 {
    background-color:#808080;
    width:130px;
    height:130px;
    border-radius:75px;
    text-align:center;
    color:#fff;
    margin:0 auto;
    font-size:18px;
    font-weight: 500;
    vertical-align:middle;
    line-height:130px;
    padding-left: 20px;
    padding-right: 20px;
    margin-top: 30px;
    }
   #circle3 {
        background-color:#00a0e9;
        width:110px;
        height:110px;
        border-radius:75px;
        text-align:center;
        color:#fff;
        margin:0 auto;
        font-size:18px;
        font-weight: 500;
        vertical-align:middle;
        line-height:110px;
        margin-top: 10px;
        margin-bottom: 10px;
        }
    #circle4 {
        background-color:#808080;
        width:110px;
        height:110px;
        border-radius:75px;
        text-align:center;
        color:#fff;
         margin:0 auto;
        font-size:18px;
        font-weight: 500;
        vertical-align:middle;
        line-height:110px;
        margin-top: 10px;
        margin-bottom: 10px;
        }
    .erp-page {
        padding-top: 60px;
        padding-bottom: 60px;
        padding-left: 30px;
        padding-right: 30px;
        background-color: rgb(248, 248, 248);
        border-radius: 20px;
        text-indent: -5px;
    }
    .st-erp-page {
        padding-top: 30px;
        padding-bottom: 20px;
        padding-left: 20px;
        padding-right: 20px;
        background-color: rgb(248, 248, 248);
        border-radius: 20px;
        text-indent: -5px;
    }
    .mes-page {
        padding-top: 85px;
        padding-bottom: 85px;
        padding-left: 30px;
        padding-right: 30px;
        background-color: rgb(248, 248, 248);
    }
    .fa-page {
        padding-top: 75px;
        padding-bottom: 75px;
        padding-left: 30px;
        padding-right: 30px;
        background-color: rgb(248, 248, 248);
    }
    .usecase1-page {
        padding-top: 80px;
        padding-bottom: 80px;
        padding-left: 30px;
        padding-right: 30px;
        background-color: rgb(248, 248, 248);
    }
    .usecase2-page {
        padding-top: 60px;
        padding-bottom: 60px;
        padding-left: 30px;
        padding-right: 30px;
        background-color: rgb(248, 248, 248);
        text-indent: -18px;
        height: 300px;
        transition: all 0.7s linear;
    }
    .usecase2-page:hover {
        padding-top: 60px;
        padding-bottom: 60px;
        padding-left: 30px;
        padding-right: 30px;
        background-color: rgb(240, 240, 240);
        text-indent: -18px;
        height: 300px;
    }
    .usecase3-page {
        padding-top: 20px;
        padding-bottom: 20px;
        padding-left: 20px;
        padding-right: 20px;
        border: 2px solid #ebebeb;
        border-radius: 8px;
        text-indent: -18px;
        height: auto;
        width: 100%;
        text-align: center;
    }
    @media (max-width:1200px) {
        .mes-page {
            padding-top: 60px;
            padding-bottom: 60px;
            padding-left: 30px;
            padding-right: 30px;
            background-color: rgb(248, 248, 248);
        }
    } 
    @media (max-width:1200px) {
        .usecase2-page {
            padding-top: 60px;
            padding-bottom: 60px;
            padding-left: 30px;
            padding-right: 30px;
            background-color: rgb(248, 248, 248);
            margin-top: 10px;
            margin-bottom: 10px;
            text-indent: -18px;
        }
    } 
    @media (max-width:1200px) {
        .usecase3-page {
            padding-top: 20px;
            padding-bottom: 20px;
            padding-left: 20px;
            padding-right: 20px;
            border: 1px solid #ebebeb;
            border-radius: 8px;
            text-indent: -18px;
            height: auto;
            width: 100%;
            text-align: center;
            margin-top: 10px;
        }
    } 
    #circle5 {
        background-color:#00a0e9;
        width:110px;
        height:110px;
        border-radius:75px;
        text-align:center;
        color:#fff;
         margin:0 auto;
        font-size: 45px;
        font-weight: 800;
        vertical-align:middle;
        line-height:110px;
        margin-top: 10px;
        margin-bottom: 10px;
        }

        .info2 {
            transition: .5s ease;
            opacity: 0;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
            text-align: center;
        }
        .col-sm-4:hover .image1{
            opacity: 0.3;
        
        }
        .col-sm-4:hover .info2{
            opacity: 1;
        
        }
        .text-scm {
            color: black;
            font-size: 16px;
            text-align: center;
            font-weight: 600;
          }
        .text-scm-bold {
            color: black;
            font-size: 25px;
            font-weight: 1000;
            text-align: center;
          }
.ems_panel {
    margin-top: 50px;
    margin-bottom: 10px;
    margin-left: 10px;
    margin-right: 20px;
}
.framework_page {
    padding-top: 30px;
    padding-bottom: 30px;
    padding-left: 20px;
    padding-right: 20px;
    background-color: rgb(248, 248, 248);
    border-radius: 20px;
}
.framework_text {
    color: rgb(49, 49, 49);
    font-size: 18px;
    font-weight: 1000;
  }
/* ===========================
--- smart
============================ */

.smart {
	width:100%;
	position:relative;
	background: url(../img/smart_svc_2.jpg) no-repeat bottom center;
    background-size: cover;
    height: auto;
    z-index: 0;
}

#smart.smart {
	padding:12% 0 0 0;
}

.smart .main {
	text-align: center;
}

.smart .page-scroll {
	text-align: center;
}

.brand-heading {
    font-size: 40px;
}

.smart-text {
    font-size: 18px;
}
.smart .main h2 {
	color: #eeeeee;
	text-shadow: none;
	font-size: 36px;
	line-height: 30px;
	font-weight: 600;
	font-family: Montserrat, sans-serif;
	background-color: rgba(255,255,255,0.00);
	text-transform: uppercase;
	border: 0px none #000;
	text-shadow: -1px 1px 1px #000;
}
.smart .main h3 {
	color: #eeeeee;
	text-shadow: none;
	font-size: 24px;
	line-height: 30px;
	font-weight: 600;
	font-family: Montserrat, sans-serif;
	background-color: rgba(255,255,255,0.00);
	text-transform: uppercase;
	border: 0px none #000;
	text-shadow: -1px 1px 1px #000;
    margin-top: 20px;
    margin-bottom: 20px;
}
.smart .main h5 {
	color: #eeeeee;
	text-shadow: none;
	font-size: 14px;
	font-weight: 400;
	font-family: Montserrat, sans-serif;
	background-color: rgba(255,255,255,0.00);
	text-transform: uppercase;
	border: 0px none #000;
	text-shadow: -1px 1px 1px #000;
    margin-bottom: 50px;
}
.smart .main h4 {
	color: #ffffff;
    font-weight: 200;
	text-shadow: -1px 1px 1px #000;
}
@media (max-width: 850px) {
    .smart {
        width:100%;
	    position:relative;
        background: url(../img/smart_svc_2.jpg) no-repeat bottom center;
        background-size: cover;
        height: auto;
    }
  }

@media (max-width: 850px) {
  .smart .main h2 {
	color: #eeeeee;
	text-shadow: none;
	font-size: 36px;
	line-height: 30px;
	font-weight: 600;
	font-family: Montserrat, sans-serif;
	background-color: rgba(255,255,255,0.00);
	text-transform: uppercase;
	border: 0px none #000;
	text-shadow: -1px 1px 1px #000;
    margin-top: 50px;
    margin-bottom: 50px;
  }
}

@media (max-width: 850px) {
  .smart .main h3 {
	color: #eeeeee;
	text-shadow: none;
	font-size: 24px;
	line-height: 30px;
	font-weight: 600;
	font-family: Montserrat, sans-serif;
	background-color: rgba(255,255,255,0.00);
	text-transform: uppercase;
	border: 0px none #000;
	text-shadow: -1px 1px 1px #000;
    margin-top: 20px;
    margin-bottom: 20px;
  }
}

.usecase {
    min-width: 320px;
    max-width: 2500px;
    padding: 10px;
    margin: 0 auto;
    background: #ffffff;}

section3 {
    display: none;
    padding: 20px 0 0;
    border-top: 1px solid #ddd;}
section4 {
    display: none;
    padding: 40px 0 0;
    padding-left: 30px;
    text-indent: -15px;
    border-top: 1px solid #ddd;}

/*라디오버튼 숨김*/
  input {
      display: none;}

label {
    display: inline-block;
    margin: 0 0 -1px;
    padding: 15px 25px;
    font-weight: 600;
    text-align: center;
    color: #bbb;
    border: 1px solid transparent;}


label:hover {
    color: #002266;
    cursor: pointer;}

/*input 클릭시, label 스타일*/
input:checked + label {
      color: #555;
      border: 1px solid #ddd;
      border-top: 2px solid #002266;
      border-bottom: 1px solid #ffffff;}

#tab1:checked ~ #content1,
#tab2:checked ~ #content2,
#tab3:checked ~ #content3,
#tab4:checked ~ #content4,
#tab5:checked ~ #content5 {
    display: block;}

.contact-area {
    background-color: #ffffff;
    z-index: 3;
} 

.contact-area-home {
    background-color: rgb(250, 250, 250);
    position: relative;
} 

.form-control {
    position: relative;
    z-index: 3;
}

.messagetext {
    margin-top: 5px;
    margin-bottom: 5px;
    font-weight: 600;
    font-size: 1.0rem;
    color: #5D5D5D;
}

.btn-submit{
	width: 150px;
	height: 40px;
	color: rgb(255, 255, 255);
	background: rgb(30, 47, 97);
	font-size: 16px;
	font-weight: 7800px;
	text-align: center;
	padding: 8px;
	border: none;
	border-radius: 20px;
	float: right !important;
    position: relative;
    margin-bottom: 18px;
    margin-right: 15px;
    z-index: 3;
}
.btn-submit:focus {
	outline:0;
}
.btn-submit:hover {
	color: rgb(255, 255, 255);
	background: #0E162D;
	cursor: pointer;
} 

.thankyou_message {
    color:#001c46;
}

.heading-5 {
    margin-left: 10px;
    color:#001c46;
}

/* ── 섹션 컨테이너 ── */
.contact-area-home {
  padding: 4rem 1rem;        /* 충분한 상하 여백 */
  text-align: center;
  background: #f9f9f9;       /* 필요시 배경색 지정 */
}

/* ── 내부 래퍼 ── */
.contact-content {
  max-width: 600px;
  margin: 0 auto;
}

/* ── 제목 ── */
.contact-title {
  font-weight: 800;
  font-size: clamp(1.75rem, 5vw, 2rem);
  color: #343434;
  margin-bottom: 1rem;
}

/* ── 안내 텍스트 ── */
.contact-text {
  font-size: clamp(1.0rem, 3vw, 1.18rem);
  color: #666;
  line-height: 1.5;
  margin-bottom: 2rem;
}

/* ── 버튼 ── */
.button_qna1 {
  display: inline-block;
  padding: 0.75rem 2.5rem;
  background-color: rgb(30, 47, 97);
  color: #fff;
  border-radius: 40px;
  text-decoration: none;
  font-weight: 600;
  transition: background 0.3s;
}
.button_qna1:hover {
  background-color: #0E162D;
  color: #fff;
}

/* ── 반응형: 태블릿 이하 (≤768px) ── */
@media (max-width: 768px) {
  .contact-area-home {
    padding: 3rem 1rem;
  }
  .contact-title {
    font-size: 1.5rem;
    margin-bottom: 0.75rem;
  }
  .contact-text {
    font-size: 1rem;
    margin-bottom: 1.5rem;
  }
  .button_qna1 {
    padding: 0.6rem 1.2rem;
  }
}

/* ── 반응형: 모바일 이하 (≤480px) ── */
@media (max-width: 480px) {
  .contact-area-home {
    padding: 2rem 0.5rem;
  }
  .contact-title {
    font-size: 1.25rem;
    margin-bottom: 0.5rem;
  }
  .contact-text {
    font-size: 0.9rem;
    margin-bottom: 1rem;
  }
  .button_qna1 {
    padding: 0.6rem 1.2rem;
    font-size: 1.0rem;
  }
}

/* label 을 inline-flex+gap 으로 통일 */
.privacy-consent .checkbox label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;   /* 원하는 간격: 0.25 / 0.5 / 0.75rem 등 */
  font-size: 0.95rem;
  color: #333;
}

/* 개별 마진은 모두 지우세요 */
.privacy-consent .checkbox input[type="checkbox"],
.privacy-consent .checkbox label a {
  margin: 0 !important;
  display: inline-block !important;
  visibility: visible !important;
  width: auto !important;
  height: auto !important;
  -webkit-appearance: checkbox !important;
  -moz-appearance: checkbox !important;
  appearance: checkbox !important;
  margin-right: 0.5rem;
  vertical-align: middle;
}

/* 링크만 약간 작게, 색은 기존대로 */
.privacy-consent .checkbox label a {
  font-size: 0.8rem;
  color: #007aff;
}



/* ===========================
--- first
============================ */

.first {
	width:85%;
	position:relative;
    background-size: cover;
    height: auto;
}

#first.first {
	align-items: center;
    margin: 0 auto;
}

@media (max-width: 850px) {
    .first {
        width:100%;
        position:relative;
        background-size: cover;
        height: auto;
    }
  }
  .fa_text1 {
    margin-top: 30px;
    margin-left: 10px;
    font-weight: 600;
    font-size: 18px;
    color: #1e83ff;
    vertical-align: top;
}
  .fa_text2 {
    margin-top: 20px;
    margin-left: 10px;
    margin-bottom: 10px;
    padding-top: 1px;
    padding-left: 3px;
    padding-right: 3px;
    font-weight: 500;
    font-size: 14px;
    color: #4b4b4b;
    text-indent: -8px;
}
.fa_panel{
    margin-top: 30px;
    margin-bottom: 50px;
    background-color: #ffffff;
    border-radius: 3px;
    box-shadow: 5px 5px 5px 5px rgb(238, 238, 238);
}
.fa_panel:hover{
    margin-top: 30px;
    margin-bottom: 50px;
    background-color: #ffffff;
    border-radius: 3px;
    box-shadow: 5px 5px 5px 5px rgb(238, 238, 238);
    transform:scale(1.02);
    transition: transform 0.7s;
}

  /* ===========================
--- ai_safety1
============================ */

.ai_safety1 {
	width:100%;
	position:relative;
	background: url(../img/ai_safety_1.jpg);
    background-size: cover;
    height:auto;
}
#ai_safety1.ai_safety1 {
	padding:20% 0 20% 0;
}

@media (max-width:700px) {
    .ai_safety1 {
        /* 기존 설정 유지 */
        width:100%;
        position:relative;
        height: 1180px;
        /* 이미지 설정 변경 */
        background: url(../img/ai_safety_1-1.jpg) no-repeat center center;
        background-size: auto 100%; /* 이미지가 잘리지 않고 전체가 보이도록 설정 */
    }
}
  /* ===========================
--- ai_safety2
============================ */

.ai_safety2 {
	width:100%;
	position:relative;
	background: url(../img/ai_safety_6.jpg);
    background-size: cover;
    height:auto;
}
#ai_safety2.ai_safety2 {
	padding:30% 0 10% 0;
}

@media (max-width:700px) {
    .ai_safety2 {
        /* 기존 설정 유지 */
        width:100%;
        position:relative;
        height: 340px;
        /* 이미지 설정 변경 */
        background: url(../img/ai_safety_6-1.jpg) no-repeat center center;
        background-size: auto 100%; /* 이미지가 잘리지 않고 전체가 보이도록 설정 */
    }
}
/* ─── 기본 리셋 ─── */
* { margin:0; padding:0; box-sizing:border-box }
html, body { height:100%; }

/* ─── 슬라이드 영역 ─── */
#intro {
  position: relative;
  width: 100%;
  height: 100vh;           /* 필요에 따라 100vh 등으로 조정 */
  overflow: hidden;
}
#intro .slide {
  position: relative;
  width:100%; height:100%;
}

/* ─── 교차 페이드 이미지 ─── */
#intro .slide img {
  position:absolute; top:0; left:0;
  width:100%; height:100%;
  object-fit:cover;
  opacity:0;
  transition:opacity 1s ease-in-out;
  z-index:1;
}
#intro .slide img.active {
  opacity:1;
  z-index:2;
}

/* ─── 슬로건 (왼쪽 중앙) ─── */
#intro .slogan {
  position:absolute;
  left:13%; top:50%;
  transform:translateY(-50%);
  color:#fff;
  text-shadow:0 0 5px rgba(0,0,0,0.7);
  z-index:3;
}

#intro .slogan br {
    display: inline;
  }

/* 모바일(768px 이하) 에선 숨기기 */
@media (max-width: 768px) {
    #intro .slogan br {
      display: none;
    }
    /* 이미 적용하신 모바일 중앙 정렬 코드가 있다면 이 안에 같이 넣어두시면 좋습니다 */
    #intro .slogan {
      left: 50%;
      width: 80%;
      transform: translate(-50%, -50%);
      text-align: center;
    }
    #intro .slogan h2{
      font-size: 1.3rem;
    }

    #intro .slogan b{
      font-size: 0.8rem;
    }
  }

/* ─── 도트 네비게이션 ─── */
#intro .dots {
  position:absolute;
  bottom:15px; left:50%;
  transform:translateX(-50%);
  z-index:3;
}
#intro .dots .dot {
  display:inline-block;
  width:12px; height:12px;
  margin:0 5px;
  background:rgba(255,255,255,0.5);
  border-radius:50%;
  cursor:pointer;
  transition:background 0.3s;
}
#intro .dots .dot.active {
  background:#fff;
}


/* --- video-slider CSS --- */
.video-slider-section {
    padding: 100px 20px;
    /* --background-color: #050514; --*/
    background: url(../img/space-bg.jpg) no-repeat bottom center;
    background-size: cover;          /* ★ 꼭 추가 */
    position: relative;              /* ::before 오버레이를 위해 */
    overflow: hidden;
    color: #f0f0f0;
  }

  .video-slider-section::before {
    content: '';
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.5);
  z-index: 1;
  }

  .video-slider {
    max-width: 900px;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    padding: 0 60px;  
    z-index: 2;                      /* 오버레이 위에 띄우기 */
  }

  .data-journey {
    position: relative;
    z-index: 2;
  }

  .slides-viewport {
    /* 예: peek 을 80px 로 쓸 거면, 왼쪽/오른쪽 모두 80px 로 통일 */
    overflow: hidden;   /* ← 꼭 필요 */
  width: 100%;        /* ← 꼭 필요 */

    mask-image: linear-gradient(
      to right,
      transparent 0,
      black 80px,
      black calc(100% - 60px),
      transparent 100%
    );
    -webkit-mask-image: linear-gradient(
      to right,
      transparent 0,
      black 80px,
      black calc(100% - 60px),
      transparent 100%
    );
  }
  

  /* 설명란 스타일 */
.video-description {
    font-size: 25px;
    color: #e7e7e7;
    text-align: center;
    font-weight: 600;
    margin-bottom: 20px;
  }
  .slides {
    display: flex;
    transition: transform 0.3s ease;
  }
  .slide {
    box-sizing: border-box;
    padding: 0 10px;
    flex: 0 0 calc(100% - 120px);
    margin-right: 20px;  /* 다음 슬라이드와의 간격 */
  }

  /* 마지막 슬라이드엔 margin 제거 */
.slides .slide:last-child {
    margin-right: 0;
  }

  .slide video {
    width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  }

  .video-slider .arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0,0,0,0.5);
    border: none;
    padding: 0.5em;
    border-radius: 50%;
    color: #fff;
    cursor: pointer;
    z-index: 10;
  }
  
  .video-slider .arrow-prev {
    left: 10px;
  }
  
  .video-slider .arrow-next {
    right: 10px;
  }
  
  .video-slider .arrow i {
    /* Font Awesome 5 Free + Solid weight */
    font-family: "Font Awesome 5 Free";
    font-weight: 900;     /* solid style */
    font-style: normal;
    display: inline-block;
    line-height: 1;
  }
  
  /* 도트 네비게이션 */
  .dots {
    display: flex;
    justify-content: center;
    margin-top: 16px;
  }
  .dot {
    width: 10px;
    height: 10px;
    margin: 0 6px;
    background-color: #ccc;
    border-radius: 50%;
    cursor: pointer;
    transition: background-color 0.3s, transform 0.3s;
  }
  .dot.active {
    background-color: #333;
    transform: scale(1.2);
  }

  /* ————— 수정된/추가된 CSS ————— */
  .video-wrapper {
    position: relative;
  }
  
  .video-wrapper video {
    display: block;
    width: 100%;
    height: auto;
    position: relative;   /* z‐index 적용을 위해 */
    z-index: 1;
  }
  
/* 기존 margin 기반 센터링을 제거하고 transform 기반으로 대체 */
.video-wrapper .play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    /* margin: -32px 0 0 -32px; ← 이 줄은 삭제 */
    transform: translate(-50%, -50%);
    width: 64px;
    height: 64px;
    background: rgba(0,0,0,0.6)
      url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><polygon points="35,25 75,50 35,75" fill="white"/></svg>')
      center no-repeat;
    background-size: 40%;
    border-radius: 50%;
    cursor: pointer;
    transition: background 0.3s;
    z-index: 2;           /* 비디오 위로 올라오게 */
  }
  
  .video-wrapper .play-btn:hover {
    background-color: rgba(0,0,0,0.8);
  }
  
  /* 비디오 재생 중에는 숨기기 */
  .video-wrapper.playing .play-btn {
    display: none;
  }
  
/*── 화면 너비 768px 이하(태블릿/큰폰) ──*/
@media (max-width: 768px) {
  .video-slider {
    padding: 0 40px;                /* 피크 너비 반으로 */
    max-width: 100%;
  }
  .slide {
    flex: 0 0 calc(100% - 80px);    /* 피크 40px ×2 */
    margin-right: 16px;
  }
  .slides-viewport {
    mask-image: linear-gradient(
      to right,
      transparent 0%,
      black 40px,
      black calc(100% - 80px),
      transparent 100%
    );
    -webkit-mask-image: linear-gradient(
      to right,
      transparent 0%,
      black 40px,
      black calc(100% - 80px),
      transparent 100%
    );
  }
  .video-slider .arrow {
    padding: 0.3em;
  }
  .video-slider .arrow i {
    font-size: 1.2rem;
  }
  .dot {
    width: 8px;
    height: 8px;
    margin: 0 4px;
  }
}

/*── 화면 너비 480px 이하(스마트폰) ──*/
@media (max-width: 480px) {
  .video-slider {
    padding: 0 20px;                /* 모바일에서는 살짝만 피크 */
  }
  .slide {
    flex: 0 0 calc(100% - 40px);    /* 피크 20px ×2 */
    margin-right: 12px;
  }
  .slides-viewport {
    mask-image: linear-gradient(
      to right,
      transparent 0%,
      black 20px,
      black calc(100% - 20px),
      transparent 100%
    );
    -webkit-mask-image: linear-gradient(
      to right,
      transparent 0%,
      black 20px,
      black calc(100% - 20px),
      transparent 100%
    );
  }
  .video-slider-section {
    padding: 30px 10px;
  }
  .video-description {
    font-size: 16px;
  }
  .video-slider .arrow {
    top: 45%;                       /* 화살표 살짝 아래로 */
  }
  .video-slider .arrow-prev { left: 6px; }
  .video-slider .arrow-next { right: 6px; }
  .dot {
    width: 6px;
    height: 6px;
    margin: 0 3px;
  }
}

/* ───────────── 타임라인 ───────────── */
.data-journey {
  max-width: 1200px;
  margin: 80px auto 0;
  text-align: center;
}
.timeline-header .sub-title {
  display: block;
  color: #535bce;
  font-weight: 500;
  margin-bottom: 8px;
}
.timeline-header h2 {
  font-size: 2rem;
  margin: 0 0 12px;
}
.timeline-header p {
  font-size: 1rem;
  color: #ccc;
  max-width: 800px;
  margin: 0 auto;
}

.timeline-wrapper {
  overflow: hidden;
  margin-top: 50px;
}

.timeline {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  list-style: none;
  padding: 0;
  margin: 0;
  position: relative;
}

/* 가운데 라인 */
.timeline::before {
  content: '';
  position: absolute;
  top: 32px;  /* 아이콘의 중간 높이 */
  left: 5%;
  right: 5%;
  height: 2px;
  background: rgba(255,255,255,0.3);
  z-index: 0;
}

.timeline li {
  flex: 1;
  position: relative;
  text-align: center;
  z-index: 1;
  padding: 0 10px;
}

.timeline .icon {
  width: 60px;
  height: 60px;
  margin: 0 auto 12px;
  border-radius: 50%;
  background: rgba(255,255,255,0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: #535bce;
}

.timeline .label {
  font-size: 0.875rem;
  line-height: 1.3;
  color: #f0f0f0;
}

/* 반응형 조정 */
@media (max-width: 1024px) {
  .timeline {
    flex-wrap: wrap;
  }
  .timeline li {
    flex: 0 0 45%;
    margin-bottom: 40px;
  }
}

@media (max-width: 768px) {
  .timeline li {
    flex: 0 0 100%;
    margin-bottom: 30px;
  }
}

/* ── Use Case 전체 섹션 ── */
/* USE CASE Section */
.usecase-section {
    padding: 80px 150px;
    background: #fff;
    text-align: center;
  }
  .usecase-section h2 {
    font-size: 2rem; margin-bottom: .5em; color: #000;
  }
  .usecase-section p {
    color: #666; margin-bottom: 2em;
  }
  
  /* 카드 디자인 */
  .usecase-card {
    background: #f9f9f9;
    border-radius: 8px;
    padding: 24px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform .3s, box-shadow .3s;
    min-height: 300px;
  }
  .usecase-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.1);
  }
  .usecase-card h3 {
    font-size: 1.25rem; margin-bottom: .75em; color: #222;
  }
  .usecase-card p {
    color: #555; line-height: 1.5; margin-bottom: 1em; text-align: left;  /* 추가 */
  }
  .usecase-card small {
    color: #555; line-height: 1.5; margin-bottom: 1em; font-weight: 450; text-align: left;  /* 추가 */
  }
  .usecase-card .btn-detail {
    align-self: center;
    margin-top: auto;
    padding: .5em 1.2em;
    background: rgb(30, 47, 97);
    color: #fff;
    border-radius: 20px;
    text-decoration: none;
    transition: background .3s;
  }
  .usecase-card .btn-detail:hover {
    background: #0E162D;
  }
/* ── 페이징 중앙 배치 & 세련된 디자인 ── */
.usecase-slider {
    position: relative;       /* pagination 절대위치 기준 */
    padding-bottom: 60px;     /* pagination 위한 공간 확보 */
  }
  
  /* pagination 컨테이너를 슬라이더 하단 중앙으로 */
  .usecase-slider .swiper-pagination {
    position: absolute;
  bottom: 12px;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center; /* ← 가운데 정렬 */
  gap: 8px;
  z-index: 10;
  /* transform: translateX(-50%); ← 제거 */
  }
  
  /* 기본 불릿: 은은한 반투명 배경 + 화이트 텍스트 */
  .usecase-slider .swiper-pagination-bullet {
    width: 30px;
    height: 30px;
    background: rgba(30, 47, 97, 0.25);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    font-weight: 500;
    opacity: 1;
    transition: background 0.3s, transform 0.3s;
    border: none; /* 테두리 제거 */
  }
  
  /* renderBullet 로 삽입된 숫자를 보여주도록 */
  .usecase-slider .swiper-pagination-bullet::after {
    content: attr(data-index);
    margin: 0;
    transform: none;
  }
  
  /* 활성 불릿: 주색상 배경 + 살짝 확대 */
  .usecase-slider .swiper-pagination-bullet-active {
    background: rgb(30, 47, 97);   /* 혹은 테마 컬러로 변경 */
    transform: scale(1.2);
  }

  .swiper-button-prev,
  .swiper-button-next {
      color: #0E162D;
    }
  
  /* 모바일/태블릿 공통 (≤768px) */
@media (max-width: 768px) {
    /* 섹션 패딩 줄이기 */
    .usecase-section {
      padding: 60px 20px;
    }
  
    /* 슬라이더 좌우 여백과 페이지네이션 공간 */
    .usecase-slider {
      padding: 0 16px;
      padding-bottom: 56px;
    }
  
    /* 카드 패딩·높이 줄이기 */
    .usecase-card {
      padding: 16px;
      min-height: 220px;
    }
  
    /* 네비 버튼 숨기기 */
    .swiper-button-prev,
    .swiper-button-next {
      display: none;
    }
  
    /* 페이지네이션 위치 조정 */
    .usecase-slider .swiper-pagination {
      bottom: 8px;
      gap: 6px;
    }
  
    /* 불릿 크기/폰트 축소 */
    .usecase-slider .swiper-pagination-bullet {
      width: 24px;
      height: 24px;
      font-size: 0.75rem;
    }
    .usecase-slider .swiper-pagination-bullet-active {
      transform: scale(1.1);
    }
  }
  
  /* 작은 스마트폰 전용 (≤480px) */
  @media (max-width: 480px) {
    /* 섹션 패딩 더 줄이기 */
    .usecase-section {
      padding: 40px 12px;
    }
    .usecase-section p {
      font-size: 0.9rem;
    }
  
    /* 슬라이더 좌우 여백 최소화 */
    .usecase-slider {
      padding: 0 8px;
      padding-bottom: 48px;
    }
  
    /* 카드 패딩·글자 크기 더 줄이기 */
    .usecase-card {
      padding: 12px;
      min-height: 220px;
    }
    .usecase-card h3 {
      font-size: 1.1rem;
    }
    .usecase-card p,
    .usecase-card small {
      font-size: 0.85rem;
    }
    .usecase-card .btn-detail {
      padding: 0.5em 1.2em;
      font-size: 1.0rem;
    }
  
    /* 페이지네이션 불릿 더 작게 */
    .usecase-slider .swiper-pagination {
      bottom: 6px;
      gap: 4px;
    }
    .usecase-slider .swiper-pagination-bullet {
      width: 20px;
      height: 20px;
      font-size: 0.65rem;
    }
    .usecase-slider .swiper-pagination-bullet-active {
      transform: scale(1.05);
    }
  }
  
  

  /* 1) 모달 백드롭(오버레이) 색상/투명도 조정 */
.modal-backdrop.show {
    background-color: rgba(20, 20, 20, 0.75); /* 짙은 회색(검정에 가까운) + 75% 불투명도 */
  }
  
  /* 2) 모달 콘텐츠 배경 투명도 & 테두리 둥글게 */
  .modal-content {
    background-color: rgba(23, 25, 56, 0.95); /* 내부 창은 조금 더 밝게, 95% 불투명도 */
    border: none;
    border-radius: 8px;
    color: #eee; /* 텍스트는 연한 회색 계열 */
  }
  
  /* 3) 헤더·푸터 경계선 없애기 */
  .modal-header .close,
.modal-header .btn-close {
  /* 기본 숨김/반전 효과 제거 */
  filter: none !important;
  background: rgba(255,255,255,0.1);
  width: 40px;
  height: 40px;
  padding: 0;
  border: none;
  border-radius: 50%;
  position: absolute;
  top: 12px;
  right: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  transition: background 0.2s, transform 0.2s;
}

/* ── detail-panel 이미지 크기 제한 ── */
/* ── 모달 안 모든 이미지 크기 제한 ── */
.modal-body img {
  display: block;                  /* 블록 요소로 변경 */
  max-width: 100% !important;      /* 부모 너비를 넘지 않게 */
  width: auto !important;          /* img-fluid의 width:100% 무효화 */
  max-height: 250px;               /* 원하는 최대 높이 설정 */
  height: auto !important;         /* 비율 유지 */
  object-fit: cover;               /* 비율 유지하며 채우기 */
  margin: 0 auto 1rem;             /* 가운데 정렬 + 아래 여백 */
}



/* × 문자로 대체 */
.modal-header .close span,
.modal-header .btn-close::before {
  content: "×";
  font-size: 2rem;
  line-height: 1;
  color: #fff;
}

/* hover 효과 */
.modal-header .close:hover,
.modal-header .btn-close:hover {
  background: rgba(255,255,255,0.2);
  transform: scale(1.1);
  cursor: pointer;
}
  
@media (max-width: 576px) {
  .modal-body img {
    max-height: 180px;
  }
}