@charset "utf-8";

/* 기본값은 :root에서 지정하지 않거나, 기본 테마(light)를 여기에 넣기 
--bs-body-bg: #212529
oklch(59.69% 0.156 49.77 / .5) lightness, chroma, hue

*/
:root {
    --sidebar-width: 280px;
    --sidebar-collapsed-width: 70px;
    --header-height: 60px;

    --point-color: #3bc0c1;
    --brand-color: oklch(from var(--base-color) calc(l * 3) calc(c * 10) h);
    --surface-color: oklch(from var(--base-color) calc(l * 1.2) c h);
    --card-color: oklch(from var(--brand-color) calc(l * 1.8) c h / 0.1);
    --text-color: hsl(from #111111 h s calc(l + 20));
    --secondary-text-color: oklch(from var(--text-color) l c h / 0.6);
    --border-color: oklch(from var(--brand-color) calc(l * 1.8) c h / 0.1);
}

input,
textarea,
select,
button,
table, 
body {
    font-family: 'Noto Sans KR', 'Pretendard', 'Pretendard Variable', '나눔바른고딕', NanumBarunGothic, '애플 SD 산돌고딕 Neo', 'Apple SD Gothic Neo', AppleGothic, sans-serif;
    overflow-x: hidden;    
}

body {
    color: var(--text-color);
}
a {
    text-decoration: none;
}

#rhymix_popup_menu, #popup_menu_area {
    padding: 5px;
    font-size: 11px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.01);
}


html,
body {
    font-size: 1rem;
}
body, input, textarea, select, button, table {
  font-family: 'Noto Sans KR', 'Pretendard', 'Pretendard Variable', 'Open Sans', '나눔바른고딕', NanumBarunGothic, '애플 SD 산돌고딕 Neo', 'Apple SD Gothic Neo', AppleGothic, sans-serif;
    font-weight: normal;   
    font-size: 1rem;
  -webkit-font-smoothing: antialiased;
}

.fn-alumni {
    font-family: "Alumni Sans SC", sans-serif;
}
a,
a:hover {
    color: #111;
    text-decoration: none;
}

.wow {
    visibility: hidden;
}
.kso-search .search-icon {
    position: absolute;
    right: 10px;
    top: 11px;
    z-index: 6;
}
.kso-search .search-input {
    font-size: 18px;
}


/*------------- main -------------*/
.fp-viewing-section-3 #fp-nav ul li a span,
.fp-viewing-section-5 #fp-nav ul li a span {
    background: black;
}
.fp-section {
    background-position: center;
    background-size: cover;
}
#fp-nav {
    top: 25%;
    z-index: 9;
}
#fp-nav.right {
    right: 40px;
}
#fp-nav ul li, 
.fp-slidesNav ul li {
    margin-bottom: 5px;
    width: 22px;
    height: 22px;
}
#fp-nav ul li a span, 
.fp-slidesNav ul li a span {
    margin: 3px;
}
#fp-nav ul li a span, 
.fp-slidesNav ul li a span,
#fp-nav ul li a span, 
#fp-nav ul li a span, 
.fp-slidesNav ul li a span, 
.fp-slidesNav ul li a span,
#fp-nav ul li a span, 
.fp-slidesNav ul li a span {
    top: 4px;
    left: 4px;
    margin: 0;
    width: 10px;
    height: 10px;
    background: #fff;
    border-radius: 50%;
}
#fp-nav ul li:hover a span, 
.fp-slidesNav ul li:hover a span,
#fp-nav ul li a.active span, 
#fp-nav ul li:hover a.active span, 
.fp-slidesNav ul li a.active span, 
.fp-slidesNav ul li:hover a.active span { 
    background-color: #00EAFD;
}
#fp-nav ul li:hover a span, 
.fp-slidesNav ul li:hover a span {
    margin: 0;
}
#fp-nav ul li a.active span, 
#fp-nav ul li:hover a.active span, 
.fp-slidesNav ul li a.active span, 
.fp-slidesNav ul li:hover a.active span {
    left: 4px;
    top: 4px;
    margin: 0;
    width: 10px;
    height: 10px;
}
#fp-nav ul li a,
.fp-slidesNav ul li a {
    width: 22px;
    height: 22px;    
    border: 2px solid transparent;
    border-radius: 50%;
}
#fp-nav ul li a.active,
.fp-slidesNav ul li a.active {
    border-color: #00EAFD;
}

#fp-nav ul li .fp-tooltip.right {
    top: 0;
    right: 30px;
    width: auto;
    font-size: 18px;
    font-weight: 500;
    color: hsl(from var(--base-color) h s calc(l + 20));
}

/*section*/
.section-tile .item {
    max-height: 220px;
    background-color: #fff;
    border-radius: 0 0 30px 0;    
}
.section-tile .item,
.section-tile .item svg path {
    transition: all .3s ease;
}
.section-tile .item img {
    opacity: .25;
}
.section-tile .item:hover {
    background-color: var(--main-color);
}
.section-tile .item svg path {
    fill: #A6A6A6;
}
.section-tile .item:hover svg path {
    fill: #111;
}


.section-biz .item {
    padding: 0;
}
.section-biz .item a {
    position: relative;
    display: block;
}
.section-biz .item a .ico {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    z-index: 2;
}

.section-biz .item a:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .6);
    transition: all .3s ease;
    z-index: 1;
}
.section-biz .item svg,
.section-biz .item h3 {
    position: relative;
    margin-bottom: 0;
    z-index: 2;
}
.section-biz .item:hover a:before {
    background-color: rgba(0, 0, 0, .2);
}
.section-biz .item {
    background-size: cover;
    background-position: center;
}

.nav-quick {
/*    margin-top: 60px;*/
}
.nav-quick a svg path {
    fill: black;
}
.nav-quick a:hover h4,
.nav-quick a:hover svg path {
    color: #047881;
    fill: #047881 !important;
}


.section-philosophy .item {
    padding: 30px;
    background-color: #000;
    background-image: url(../img/glass.png);
    background-size: cover;
    background-position: center;
}
.section-philosophy .item:hover {
    opacity: .8;
}

#canvas {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}


#section4:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .7);
}
.section-portfolio figure {
    position: relative;
    margin: 1rem 0;
    padding: 8px;
}
.section-portfolio figure img {
    width: 100%;
}
@property --angle {
    syntax: "<angle>";
    initial-value: 0deg;
    inherits: false;
}
.section-portfolio figure:before,
.section-portfolio figure:after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 100%;
    height: 100%;
    background-image: conic-gradient(from var(--angle), #047881);
    z-index: -1;
    
}
.section-portfolio figure:before {
    filter: blur(1rem);
    opacity: .5;
}
.section-portfolio figure:hover:after {
    background-image: conic-gradient(from var(--angle), transparent 70%, #00EAFD);
    animation: 1.5s spin linear infinite;
}
@keyframes spin {
    0% {
        --angle: 0deg;
    } 
    100% {
        --angle: 360deg;
    }
}
.section-portfolio figcaption {
    padding: 20px;
    background-color: #fff;
}
.section-portfolio figcaption > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.section-portfolio figcaption h5 {
    margin-bottom: 0;
}
.section-portfolio figcaption > div > div {
    font-size: 14px;
    letter-spacing: -.5px;
}


.tabSection .tab-content {
    position: relative;
}
#section4 .tabSection .navBox,
.tabSection .navBox {
    position: absolute;
    top: -40px;
    left: 50%;
    width: 300px;
    transform: translateX(-150px);
}
.tabSection .navBox .swiper-button-next, 
.tabSection .navBox .swiper-button-prev {
    color: #fff !important;
}
.tabSection .navBox .swiper-button-next {
    transform: translateX(10%);
}
.tabSection .navBox .swiper-button-prev {
     transform: translateX(-10%);
}
#section4 .tabSection .navBox {
    top: 20px;
}

.section-video figcaption i,
.section-portfolio figcaption i {
    font-size: 24px;
}
.section-portfolio .nav .nav-item {
    width: 130px;
}
.navBox .swiper-button-next, 
.navBox .swiper-button-prev {
    width: 50px;
    height: 50px;
}
.navBox .swiper-button-next:after, 
.navBox .swiper-button-prev:after {
    font-size: 26px;
    display: flex;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    color: #fff;
    background-color: var(--base-color);
    transition: all .3s ease;
}
.navBox .swiper-button-next:hover:after, 
.navBox .swiper-button-prev:hover:after {
    background-color: var(--main-color);
}

.section-portfolio.tabSection .nav-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    background-color: rgb(var(--main-rgb));
    border-radius: 50%;
}
.tabSection .nav-link svg {
    width: 100%;
    height: auto;
}
.tabSection .nav-link.active {
    background-color: var(--main-color);
}
.tabSection .nav-link svg path {
    fill: #fff;
}
.tabSection .nav-link:hover svg path,
.tabSection .nav-link.active svg path {
    fill: #000;
}



.blobWrap .navBox .swiper-button-next {
    right: -10px;
}
.blobWrap .navBox .swiper-button-prev {
    left: -10px;
}
.process-swiper figure {
    position: relative;
    background-color: #000;
    overflow: hidden;
}
.process-swiper figcaption {
    position: absolute;
    bottom: -100px;
    width: 100%;
    min-height: 170px;
    padding: 1.5rem 1.5rem;
    font-size: 15px;
    color: rgba(255, 255, 255, .7);
    background-color: rgba(0, 0, 0, .8);
}
.process-swiper figcaption>div {
    opacity: 0;
}
.process-swiper figcaption h5 {
    color: #fff;
}
.process-swiper figcaption>div {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
}
.process-swiper figure img {
    opacity: .5;
}
.process-swiper figcaption>div,
.process-swiper figcaption,
.process-swiper figure img {
    transition: all .3s ease;
}
.process-swiper figure:hover img {
    transform: scale(1.1);
    opacity: 1;
}
.process-swiper figure:hover figcaption {
    bottom: 0;
}
.process-swiper figure:hover figcaption>div {
    opacity: 1;
}
.process-swiper .navBox-between {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    transform: translateX(-100%);
}
.navBox-between .swiper-button-next, 
.navBox-between .swiper-button-prev {
    color: #000 !important;
}
.navBox-between .swiper-button-next {
    transform: translateX(50px);
}
.navBox-between .swiper-button-prev {
     transform: translateX(-50px);
}


.section-process .blob {
  height: 300px;
  width: 300px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(2);
  filter: blur(42px) saturate(4);
  animation: opacity 10s linear infinite;
  z-index: -1;
}
.section-process .blob .circle {
  position: absolute;
  mix-blend-mode: color;
  width: 500px;
  height: 500px;
  background-image: linear-gradient(yellow 10%, red 50%, blue 70%);
  border-radius: 100%;
  animation: rotate 50s linear infinite;

  clip-path: polygon(
    89% 40%,
    51% 24%,
    29% 52%,
    1% 39%,
    38% 3%,
    99% 73%,
    71% 69%,
    59% 14%,
    65% 58%,
    60% 33%,
    13% 46%,
    94% 29%,
    26% 15%,
    91% 23%,
    93% 12%,
    63% 38%,
    24% 89%,
    69% 44%,
    63% 87%,
    26% 44%
  );
}

.section-process .blob .circle:nth-of-type(2) {
  // animation:unset !important;
  opacity: 1;
  // -webkit-animation: none !important;
  // -moz-animation: none !important;
  // -o-animation: none !important;
  // -ms-animation: none !important;
  // animation: none !important;
  background-image: linear-gradient(blue 30%, yellow 50%, red 90%);
  background-size: 100% 100%;
  animation: rotate 50s linear infinite;
  animation-direction: reverse;
  mix-blend-mode: difference;
}

@keyframes opacity {
  0% {
    opacity: 0%;
  }
  50% {
    opacity: 100%;
  }
  100% {
    opacity: 0%;
  }
}

@keyframes rotate {
  from {
    -ms-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -ms-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}


#section6 {
    position: relative;
}
#section6:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .5);
}

.section-video .thumbnail-video {
    background-color: #000;
    overflow: hidden;
}
.section-video .thumbnail-video img {
    position: relative;
    transition: all .3s ease;
    opacity: .7;
}
.section-video .thumbnail-video:hover img {
    transform: scale(1.1);
    opacity: 1;
}
.section-video .thumbnail-video i {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font-size: 50px;
    color: #FE0032;
    z-index: 1;
}
.section-video figure {
    margin: 0;
}
.section-video figcaption {
    padding: 1rem 1rem;
    text-align: center;
}
.section-video figcaption div,
.section-video figcaption i,
.section-video figcaption h4 {
    color: #fff;
}
.section-video .nav-pills .nav-link {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 21px;
    color: #fff;
    background-color: rgb(var(--main-rgb));
}
.section-video .nav-pills .nav-link:hover,
.section-video .nav-pills .nav-link.active {
    color: #000;
    background-color: var(--main-color);
}
.text-ellipsis {
    width: 100%;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}





@media(max-width: 786px) {
    .section-biz .bg4 {
        background-position: center bottom;
    }
}

.text-outline {
    position: absolute;
    left: 0;
    bottom: 0;
    color: transparent;
  -webkit-text-stroke: 1.5px #333;
  font-weight: 900;
  font-size: 90px;
  font-family: 'pretendard';
}

.btn-ani {
    display: inline-flex;
    align-items: center;
    position: relative;
    padding: 13px 25px;
}
.btn-ani:before {
    content: '';
    position: absolute;
    right: 10px;
    top: 0;
    width: 50px;
    height: 50px;
    background-color: #eee;
    border-radius: 30px;
    z-index: -1;
    transition: all .3s ease;
}
.btn-ani i {
    transform: translate(0, -2px);
    transition: all .3s ease;
}
.btn-ani:hover:before {
    right: 0;
    width: 100%;
    background-color: #414141;
}
.btn-ani:hover i {  
    transform: translate(5px, -2px);
}
.btn-ani span {
    position: relative;
}
.btn-ani:hover i,
.btn-ani:hover span {
    color: #fff;
}


/*------------- sub -------------*/
.sub-header {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #181818;
    background-image: url(../img/subtop.jpg);
    background-size: cover;
    background-position: center;
}
.sub-header .gnb-sub {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    color: #333;
    background-color: rgba(255, 255, 255, .8);
}
.sub-header .gnb-sub li a {
    display: block;
    color: #111;
    transition: all .3s ease;
}
.sub-header .gnb-sub li.active a,
.sub-header .gnb-sub li a:hover {
    color: #fff;
    background-color: rgb(var(--main-rgb));
}


/*------------- footer -------------*/
footer {

}
footer .footer-menu .nav a {
    position: relative;
    font-size: .9rem;
    color: #111;
}
footer .footer-menu .nav a:before {
    content: '';
    position: absolute;
    left: 0;
    top: 12px;
    width: 1px;
    height: 12px;
    border-left: 1px solid rgba(255, 255, 255, .3);
}
footer.bg-dark .footer-menu .nav a:before {
    border-color: rgba(255, 255, 255, .3);
}
footer.bg-secondary .footer-menu .nav a:before {
    border-color: rgba(0, 0, 0, .2);
}
footer .footer-menu .nav li:first-child a:before {
    display: none;
}
footer .footer-menu .nav li:first-child a {
    padding-left: 0;
}
footer .footer-content {
    font-size: .9rem;
    color: #999;
    line-height: 1.6;
}
footer .copyright {
    font-size: .8rem;
    color: rgba(0, 0, 0, .4);
}
footer #scrollToTop {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 40px;
    height: 40px;
    font-size: 24px;
    color: var(--base-color);
    background-color: var(--main-color);
    border-radius: 50%;
    cursor: pointer;
}

.container-fully {
    position: relative;
    margin: 0 auto;
    width: 100%;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}
/*------------- media query -------------*/
@media(min-width: 992px) {
    .container-fully {
        padding-left: 40px;
        padding-right: 40px;
    }
    .translate-custom {
        transform: translate(-160%, -50%) !important;
    }
    .section-biz .col-lg-3 {
        overflow: hidden;
    } 
    .section-biz .item {
        background-size: cover;
        transform: scale(1.0);
        transition: all .3s ease;
    }
    .section-biz .item:hover {
        transform: scale(1.02);
    }
    .section-biz .item a,
    .section-biz .item {
        height: 100vh;
    }
    .section-process,
    .section-philosophy {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        height: 100%;
    }
    .section-portfolio.tabSection .nav-link {
        width: 90px;
        height: 90px;
    }
    .mt-lg-60 {
        margin-top: 60px;
    }
    footer #scrollToTop {
        right: -1.5rem;
    }
}
@media(min-width: 1200px) {
    .container-fully {
        max-width: 100%;
        padding-left: 80px;
        padding-right: 80px;
    }

    .mt-xl-90 {
        margin-top: 90px;
    }
    footer #scrollToTop {
        right: -2.5rem;
    }
}
@media(min-width: 1640px) {
    .container-fully {
        max-width: 1600px;
        padding-left: 0;
        padding-right: 0;
    }

    .section-tile .item {
        height: 35vh;
    }

}
@media(min-width: 1921px) {
    #fp-nav {
        top: 20%;
    }
}

@media(max-width: 991px) {
    .container-fully,
    .container {
        padding-left: 15px;
        padding-right: 15px;
    }       
    .section-biz .item a {
        height: 300px;
    }
}
@media(max-width: 767px) {
    footer .footer-content {
        font-size: .8rem;
    }
    footer #scrollToTop {
        top: -35px;
        right: 10px;
    }
@media(max-width: 576px) {
    footer .display-5 {
        font-size: 24px !important;
    }
    footer .footer-menu .nav a {
        font-size: 14px;
    }
    .row-table {
        grid-template-columns: 1fr;
    }
    .sub-header .gnb-sub li a.text-mstyle {
        font-size: 14px;
        letter-spacing: -1px;
    }
    .sub-header .gnb-sub li a {
        font-size: 1rem;
    }
    .blobWrap .navBox .swiper-button-next {
        right: 0;
    }
    .blobWrap .navBox .swiper-button-prev {
        left: 0;
    }

}  
@media(max-width: 391px) { 
    .section-portfolio .nav .nav-item {
        width: 120px;
    }
    .section-portfolio .nav .nav-item > div {
        font-size: 1rem !important; 
    }
}