@charset "utf-8";

/* notoSans KR */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700&display=swap');

/* nomalize */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

body {
  margin: 0;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

a {
  background-color: transparent;
}

img {
  border-style: none;
}

/* reset */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
caption, tbody, tfoot,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}

ol, ul {
	list-style: none;
}

/* Common CSS */
*,
*::before,
*::after {
  box-sizing: border-box;
}

.clear-fix::after {
  content: "";
  display: block;
  clear: both;
}

.blind {
  overflow: hidden;
  font-size: 0;
  line-height: 0;
  width: 1px;
  height: 1px;
  position: absolute;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  border: none;
  outline: none;
  cursor: pointer;
}

/* style */

html {
  font-size: 10px;
}

body {
  font-family: 'Noto Sans KR', sans-serif;
  background-color: #000000;
  width: 100%;
}
.wrap {
  min-width: 1200px;
  width: 100%;
  margin: 0 auto;
}

.wrap section {
  padding: 70px 0 78px;
  margin: 0 auto;
}

.inner-box {
  width: 1200px;
  margin: 0 auto;
  background-color: rgba(0, 0, 0, 0.7);
}

.section-title {
  font-size: 50px;
  text-align: center;
  font-weight: bold;
  color:#ffffff;
  margin-bottom: 40px;
}
.section-title span {

}
.inner-box>p {
  font-size: 25px;
  text-align: center;
  color: #ffffff;
}


/* ------------------------------------------------ */

.point-dot {
  position: relative;
  color: #69ffb6;
}

.point-dot::before {
  content: " ";
  position: absolute;
  width: 8px;
  height: 8px;
  background-color: #69ffb6;
  border-radius: 50%;
  left: 50%;
  top: 5px;
  transform: translateX(-50%);
  animation: bounce1 1s 1s infinite;
}

.point-dot2::before {
  animation: bounce2 1s 1.3s infinite;
}

.point-dot3::before {
  animation: bounce2 1s 1.5s infinite;
}
.point-dot4::before {
  animation: bounce2 1s 1.7s infinite;
}
.point-dot5::before {
  animation: bounce2 1s 1.9s infinite;
}
/* div.top-area */

.top-area {
  height: 800px;
  width: 100%;
  overflow: hidden;
  position: relative;
}

.top-area .video {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.top-area .video::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: rgba(0, 0, 0, 0.3);
}

.video video {
  width: 100%;
  height: 110%;
}


.top-area-text {
  position: absolute;
  top: 0;
  padding: 240px 0 266px;
  left: 50%;
  width: 100%;
  transform: translate(-50%, 0);
  text-align: left;
  z-index: 15;
  max-width: 1240px;
}

/* .top-area-text p:nth-of-type(1) {
  font-size: 40px;
  color: #ffffff;
  opacity: 0;
  tab-size: 0;
  animation: text1 1s 1s forwards;
}

@keyframes text1 {
  0% {opacity: 0; font-size: 0; }
  100% {opacity: 1; font-size: 40px;}
}
 */
 .top-area-text h2 {
  margin-top: -9px;
  font-size: 40px;
  line-height: 90px;
  color: #ffffff;
  opacity: 0;
  animation: text2 1s 1.5s forwards;
}
.top-area-text h1 {
  margin-top: -9px;
  font-size: 70px;
  line-height: 90px;
  color: #ffffff;
  opacity: 0;
  animation: text2 1s 1.5s forwards;
}

@keyframes text2 {
  0% {opacity: 0; transform: translateY(-100px); }
  100% {opacity: 1; transform: translateY(0);}
}

.typing {
  position: relative;
  display: inline-block;
  color: #74fffa;
  font-weight: bold;
}


.top-area-text p:last-of-type {
  font-size: 50px;
  color: #ffffff;
  line-height: 80px;
  margin-top: 50px;
  opacity: 0;
  animation: text3 1s 6.5s forwards;
  border-bottom: 2px solid #ffffff;
  display: flex;
  width: fit-content;
}

@keyframes text3 {
  0% {opacity: 0; }
  100% {opacity: 1;}
}


.top-area .ps {
  font-size: 14px;
  line-height:22px;
  color: #cacaca;
  position: absolute;
  width: 100%;
  bottom: 160px;
  text-align: right;
  left: 50%;
  transform: translate(-50%, 0);
  text-align: right;
  z-index: 15;
  max-width: 1240px;
}



/* section.about */

.about {
  position: relative;
  z-index: 1;
  background: #0a0b0e;
}
.about .inner-box {
  background-color: transparent;max-width:1240px;width:100%;
}

.about .point-dot::before {
  top: 12px;
}
.about .section-title {
  margin-bottom: 40px;
  line-height: 90px;
}
.about span.smaller {
  color: #74fffa;
  font-size: 70px;
  line-height:90px;
}
.about .review-slider {
  width:100%;
}\img\campusdev\iws_html_img\class\CGVFX\portfolio\portfolio_03_1.jpg
.about .review-slider .swiper-slide {
  width:380px;
}

/* section.portfolio */

.wrap section.portfolio {
  overflow: hidden;background: #22242f;padding:60px 0 40px;
}
.portfolio .inner-box {
  background: #22242f
}
.wrap section.portfolio .stn_portfolio .center_align{
  display: flex;flex-direction: column;gap:40px;
}
.wrap section.portfolio .stn_portfolio .center_align .ptfoSldr1_container {
  padding-left: 300px;width: 100%;
}
.wrap section.portfolio .stn_portfolio .center_align .ptfoSldr1_container .swiper-wrapper{
  transition-timing-function: linear;
}
.wrap section.portfolio .stn_portfolio .center_align .ptfoSldr2_container {
  padding-right: 300px;width: 100%;
}
.wrap section.portfolio .stn_portfolio .center_align .ptfoSldr2_container .swiper-wrapper{
  transition-timing-function: linear;
}
.portfolio .section-title {
  margin-bottom:50px;
}
.portfolio .section-title h2{
  line-height:90px;
}
.portfolio .section-title h2 span {
  color: #74fffa;
}
.portfolio .section-title p{
  font-size: 22px;
  line-height:32px;
  color: #aaadc2;
  font-weight: 400;
}
.center_align {
  position: relative;
  margin: 0 auto;
}

.portfolio img.thumb {
  width: 577px;
  height: 404px;
}




.stn_portfolio .ptfo {

  width: fit-content;
}

.stn_portfolio .ptfo>a {
  overflow: hidden;
  position: relative;
  display: block;
  /* width: 477px; */
  width: 577px;
  /* height: 354px; */
  height: 404px;
  text-align: center;
}

.stn_portfolio .ptfo>a .thumb {
  -webkit-transition: all .5s;
  -moz-transition: all .5s;
  -ms-transition: all .5s;
  -o-transition: all .5s;
  transition: all .5s;
}

.stn_portfolio .ptfo>a .hoverbox {
  display: block;
  position: absolute;
  z-index: 2;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.6);
  opacity: 0;
  -webkit-transition: all .5s;
  -moz-transition: all .5s;
  -ms-transition: all .5s;
  -o-transition: all .5s;
  transition: all .5s;
}

.stn_portfolio .ptfo>a:hover .hoverbox {
  opacity: 1;
  background-position-y: 130px;
  border: 1px solid #eaeaea;
}

.pt_copyright {
  cursor: default;
}

/* 확대기능 */
/* .stn_portfolio .ptfo>a:hover .thumb {
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -ms-transform: scale(1.2);
  -o-transform: scale(1.2);
  transform: scale(1.2);
} */

.stn_portfolio .ptfo>a .hoverbox .t1,
.stn_portfolio .ptfo>a .hoverbox .t2 {
  display: block;
  line-height: 20px;
}

.stn_portfolio .ptfo>a .hoverbox .t1 {
  margin-top: 180px;
  font-weight: 700;
  font-size: 18px;
  position: relative;
}

.stn_portfolio .ptfo>a .hoverbox .t1::before {
  content: "";
  position: absolute;
  width: 60px;
  height: 60px;
  background: url("https://img.megastudyacademy.co.kr/campus/iws_html_img/class/CGVFX/enlarge.png") center center no-repeat;
  background-size: contain;
  top: -70px;
  left: 50%;
  transform: translateX(-50%);
}

.stn_portfolio .ptfo>a span.pt_copyright em.t1::before {
  width: 100%;
  background: none;
  content: "(실무작업이 포함되어 있어서 공개가 어렵습니다.)";
}

.stn_portfolio .ptfo>a .hoverbox .t2 {
  margin-top: 8px;
  font-weight: 400;
  font-size: 14px;
}


/* /////////////// */

.portfolio_bigbox {
  display:none;
  width: 1167px;
  height: 657px;
  position: fixed;
  top: 13%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
  box-shadow: 2px 2px 10px rgb(0 0 0 / 40%);
}
.portfolio_thumb {
  display: inline-block;
  width: 385px;
  height: 394px;
  overflow: hidden;
  position: relative;
}
.portfolio_thumb > img {
  width: auto ;
  height: 394px;
  object-fit: cover;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  -o-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  position: absolute;
}
.portfolio_bigbox_inner {
  line-height: 0;
  overflow: hidden;
  border-left: 1px solid #eaeaea;
  border-bottom: 1px solid #eaeaea;
  border-right: 1px solid #eaeaea;
}
.portfolio_bigbox.mini_box {
  top: 20%;
  width: 385px;
  margin-left: -192.5px;
}
.portfolio_bigbox.mini_box .portfolio_bigbox_inner {
  height: auto;
  scrollbar-width: thin;
  scrollbar-color: #e8e8e8 transparent;
}
.portfolio_bigbox p {
  width: 100%;
  height: 38px;
  background: #fff;
}
.portfolio_bigbox p span {
  position: absolute;
  top: 10px;
  right: 10px;
  display: inline-block;
  width: 25px;
  height: 20px;
  text-align: center;
  cursor: pointer;
}
.portfolio_bigbox_inner::-webkit-scrollbar-track{border-radius:5px; background-color:#ddd;}
.portfolio_bigbox_inner::-webkit-scrollbar{width:5px; border-radius:5px; background-color:#ddd;}
.portfolio_bigbox_inner::-webkit-scrollbar-thumb{margin:0 auto; width:3px; border-radius:5px; background-color:#888;}



/* section.mentor */

.mentor {
  position: relative;
  z-index: 1;
  /* overflow: hidden; */
  background: #0a0b0e;
}

.mentor .inner-box {
  background-color: transparent;width:100%;
}
.mentor .inner-box .section-title {
  margin-bottom:55px;
}
.mentor .inner-box .section-title h2{
  line-height:90px;
}
.mentor .inner-box .section-title h2 span {
  color: #74fffa;
}
.mentor .inner-box .section-title p{
  font-size: 22px;
  line-height:32px;
  color: #aaadc2;
  font-weight: 400;
}


.mentor-list .swiper-slide{
  filter: brightness(0.5);transition: filter 1s ease-in-out;
}
.mentor-list .swiper-slide-active, .mentor-list .swiper-slide-prev, .mentor-list .swiper-slide-next{
  filter: brightness(1);transition: filter 0s ease-in-out;
}

.mentor-list>li {
  width: fit-content;
}

.mentor-list>li>img {
  width: 100%;
}





/* section.curriculum */

.curriculum {
  background-color: #22242f;
  padding-bottom: 50px;
}
.curriculum .inner-box {
  background-color: transparent;width:1240px;
}
.curriculum .inner-box .section-title {
  margin-bottom:55px;
}
.curriculum .inner-box .section-title h2{
  line-height:90px;
}
.curriculum .inner-box .section-title h2 span {
  color: #74fffa;
}
.curriculum .inner-box .section-title p{
  font-size: 22px;
  line-height:32px;
  color: #aaadc2;
  font-weight: 400;
}

.curr_tab_area {
  width: 1240px;
  margin-top: 60px;
}

.tab_menu {
  display: flex;
  height: 60px;
  gap:10px;
}

.tab_menu li {
  width: 25%;
  font-size: 22px;
  text-align: center;
  height: inherit;
  line-height: 60px;
  color: #22242f;
  position: relative;
  cursor: pointer;
  font-weight: bold;
  transition: 0.3s;
  background-color: #74fffa;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  opacity: 0.5;
}

.tab_menu li:hover {
  font-weight: bold;
  background-color: #74fffa;
  color: #22242f;
  opacity: 1;
}

.tab_menu li.active {
  opacity: 1;
  background-color: #74fffa;
  color: #22242f;
}

.tab_body .curr_tab {
  background-color: #ffffff;
  display: none;
  animation: tabop 1s 0.1s forwards;
}
.tab_body .curr_tab.active {
  display: block;
  opacity: 0;
}


@keyframes tabop {
  0% {opacity: 0;}
  100% {opacity: 1;}
}



/* div.bottom-banner */

.bottom-banner {
  width: 100%;
  position: relative;
  z-index: 1;
  margin: 0 auto;
  background: #22242f;
}



.footer_banner {
  padding:34px 0 220px;
  width: 1200px;
  margin: 0 auto;
  text-align: center;
}

.footer_banner {
  display: flex;
  flex-direction: column;
  gap:30px;
  align-items: center;
  justify-content: center;
}
.footer_banner p{
  font-size: 40px;
  color: #ffffff;
  line-height: 60px;
}

.footer_banner p span {
  font-size: 40px;
  color: #74fffa;
  line-height: 60px;
}


.typing::after{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: -10px;
	width: 4px;
	height: 100%;
	background-color: white;
}

.typing.active::after{
	display: none;
}


/* animation */

@keyframes bounce1 {
  0% {top:5px;}
  50% {top: -3px;}
  100% {top: 5px;}
}

@keyframes bounce2 {
  0% {top:5px;}
  50% {top: -3px;}
  100% {top: 5px;}
}

@keyframes bounce3 {
  0% {top:5px;}
  50% {top: -3px;}
  100% {top: 5px;}
}

@keyframes bounce4 {
  0% {top:5px;}
  50% {top: -3px;}
  100% {top: 5px;}
}

@keyframes bounce5 {
  0% {top:5px;}
  50% {top: -3px;}
  100% {top: 5px;}
}




@keyframes leftToRight {
  0% {transform: translateX(-150px); opacity: 0;}
  100% {transform: translateX(0); opacity: 1;}
}

@keyframes rightToLeft {
  0% {transform: translateX(150px);opacity: 0;}
  100% {transform: translateX(0);opacity: 1;}
}

@keyframes upToDown {
  0% {transform: translateY(-100px);opacity: 0;}
  100% {transform: translateY(0);opacity: 1;}
}

@keyframes downToUp {
  0% {transform: translateY(100px); opacity: 0;}
  100% {transform: translateY(0); opacity: 1;}
}

.ltr {
  animation: leftToRight 0.5s linear forwards;
}

.rtl {
  animation: rightToLeft 0.5s linear forwards;
}

.utd {
  animation: upToDown 0.5s linear forwards;
}

.dtu {
  animation: downToUp 0.5s linear forwards;
}


.video_modal_popup.reveal {
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  justify-content: center;
  align-items: center;
  z-index:9999;
}

.video_modal_popup .video-wrapper {
  position: relative;
  width: 55%;
  padding-bottom: 35%;
  z-index: 10000;
}

.video_modal_popup .video-wrapper::before {
  content: "닫으려면 아무 곳이나 클릭하세요.";
  font-size: 20px;
  position: absolute;
  top: -50px;
  left: 50%;
  transform: translateX(-50%);
  color: #ffffff;
}

.video_modal_popup .video-wrapper iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  border: 1px solid red;
}


.video_modal_popup.reveal .video_modal_popup-closer {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.9);
  z-index: 9999;
}


.vimeowrap {
  background-color: rgba(0, 0, 0, 0.9);
  display: none;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
}

.vimeowrap.active {
  display: block;
}

.vimeomodal::before {
  content: "닫으려면 아무 곳이나 클릭하세요.";
  font-size: 20px;
  position: absolute;
  top: -50px;
  left: 50%;
  transform: translateX(-50%);
  color: #ffffff;
}

.vimeomodal {
  border: 1px solid red;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  background-color: #000000;
}





.fix_bar {
  position: fixed;
  bottom:0;left:50%;
  transform: translate(-50%, 0);
  width: 750px;
  height:80px;
  background-color: #74fffa;
  z-index: 9;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  z-index: 999;
}
.fix_bar .fix_bar_inner {
  padding:15px 18px;height: 100%;  position: relative;
}
.fix_bar .fix_bar_inner .fix_bar_top {
  position: absolute;top:-40px;left: 50%;
  background: #74fffa;
  height: 40px;
  width:120px;
  transform: translate(-50%,0);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size:18px;font-weight:700;color:#000;
  border-top-right-radius: 10px;
  border-top-left-radius: 10px;
}
.fix_bar .fix_bar_inner form {
  height: 100%;
}
.fix_bar .fix_bar_inner form .counsult_form_wrap {
  display: flex;gap:10px;height: 100%;
}
.fix_bar .fix_bar_inner form .counsult_form_wrap .counsult_form_info {
  background: #fff;border-radius: 10px;display: flex;align-items: center;    overflow: hidden;
}
.fix_bar .fix_bar_inner form .counsult_form_wrap .counsult_form_info .name_inp {
  width: 90px;min-width: 90px;HEIGHT:100%;display: flex;
}
.fix_bar .fix_bar_inner form .counsult_form_wrap .counsult_form_info .name_inp input {
  font-size:18px;font-weight:400;color:#000;border:0;padding:0 10px;outline: 0;width: 100%;font-family: "Noto Sans KR";text-align: center;
}
.fix_bar .fix_bar_inner form .counsult_form_wrap .counsult_form_info .tel_inp {
  display: flex;align-items: center;justify-content: center;  width: 190px;min-width: 190px;    height: 100%;
}
.fix_bar .fix_bar_inner form .counsult_form_wrap .counsult_form_info .tel_inp input {
  font-size:18px;font-weight:400;color:#000;border:0;padding:0 10px;outline: 0;width: 100%;font-family: "Noto Sans KR";text-align: center;    height: 100%;
}
.fix_bar .fix_bar_inner form .counsult_form_wrap .counsult_form_info .agree_inp {
  display: flex;align-items: center;justify-content: center;  width: 260px;min-width: 260px;
}
.fix_bar .fix_bar_inner form .counsult_form_wrap .counsult_form_info .agree_inp label {
  font-size:16px;font-weight:400;color:#000;border:0;padding:0 10px;outline: 0;width: 100%;font-family: "Noto Sans KR";text-align: center;
}
.fix_bar .fix_bar_inner form .counsult_form_wrap .counsult_form_info .agree_inp label input {
  margin:0;
}
.fix_bar .fix_bar_inner form .counsult_form_wrap .apply_btn button{
  background: #000;border-radius: 10px;color: #fff;
  height:100%;display: flex;width: 170px;font-size:20px;
  align-items: center;justify-content: center;
  font-weight:700;
}

#wingBanner {
  display:none !important;
}