/*
	COLORS
	Dark Blue 		#222438
	250415
*/

body {
	text-align: center;
	visibility: hidden;
}
.main_page {
    display:block;
    position: relative;
    overflow: hidden;
}
.simple-demo, .mobile-demo {
	visibility: visible;
}

.simple-demo #content-wrapper {
	height: 1600px;
	padding-top: 400px;
}
.main_page h1 {
	font-size: 4rem;
	font-weight: 600;
	margin: 0;
	text-transform: uppercase;
	color: #000;
	line-height: 1;
}

.main_page h2 {
	font-size: 4rem;
	font-weight: 600;
	margin: 0;
	color: #000;
	padding: 60px;
	text-transform: uppercase;
}
.main_page h3 {
	font-size: 4rem;
	font-weight: 600;
	margin: 0;
	color: #000;
	/* text-shadow: 0 2px 1px #000; */
	/* font-family: 'Luckiest Guy',Impact,Haettenschweiler,"Franklin Gothic Bold",Charcoal,Gadget,sans-serif; */
	text-transform: uppercase;	
}

p {	 margin: 20px auto; color: #7672A4; line-height: 1.4; }

figure > a, #newversion a, .banner {
	border-bottom: none;
}
figcaption { font-size:1rem; color: #6B7182; }

ul { list-style: none; }
.download { margin: 16px; }

pre { font-size: 15px; }
code { 
    font-style: normal;
    font-family: Lato, sans-serif;
}
blockquote {
	text-align: left;
	width: 720px;
	margin: 10px auto;
	background: #C5C3DE;
	border: solid 2px #69697A;
	padding: 0 40px;
}

#console {
	display: none;
	position: fixed;
	top: 0;
	left: 15px;
	width: 500px;
	margin: 0;
	font-size: 14px;
	font-style: normal;
	background-color: #69697A;
	text-shadow: none;
	text-align: left;
	padding: 3px 10px;
	border-radius: 0 0 10px 10px;
	z-index: 99;
	opacity: .8;
}

#title2 {
	overflow: hidden;
	margin: 0 auto;
	width: 100%;
	height: 90vh;
	position: relative;
	padding-top: 180px;
	/* z-index: 10; */
}

.title-line { position: relative; display: block; width:90%;margin: auto; left:0;}
#title-line2 { top: 0; }
#title-line3 { top: 0; }
.title-line span { display: inline-block; line-height: 1.1; position: relative; }
.twitter-follow-button { position: relative; top: 8px; left: 4px; }
#title-info { 
	position: relative; 
	z-index:59; 
	margin-top: 40px; 
	opacity: 0; 
}

.credit {
	font-size: 3rem;
	font-family: 'Sq_B';
	letter-spacing: -.2rem;
	line-height:1.2;
	margin: 30px auto 0;
	text-align: center;
	font-style: normal;
	color: #111;
	z-index:10;
}
.masked-text {
    /* font-size: 8rem; */
    font-weight: bold;
    color: transparent;
    background-image: url('../img/ani-bg.png'); 
    background-size: 450%; /* Enlarged for smooth animation */
    background-position: 0 50%;
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: animate-background 5s infinite alternate linear;
	opacity:0.9;
}
.masked-text:after {
	/* content:'';
	position:absolute;
	background:#fff;
	inset:0;
	opacity:0.5;
	z-index:-1; */
}
@keyframes animate-background {
    0% {
        background-position: 0 50%;
    }
    100% {
        background-position: 100% 50%;
    }
}



.credit b {
	font-family: 'Sq_B';
}
#download {
	position: relative;
	margin: 50px auto;
	font-size: 18px;
	max-width: 800px;
	width: 90%;
	line-height: 1.8;
	z-index: 9;
	visibility: hidden;
}
.hire_wrap {
    width:80%;
    background:linear-gradient(-45deg,#eaf1ff,#faf6fe 70%);
    height:500px;
    margin:0 auto;
    padding-top:140px;
    margin-top:0;
    border-radius: 2rem;
    overflow: hidden;
}
#hire { margin-bottom: 0; }

#examples-1 { overflow: hidden; }
div[class^='ex'] {
    border-bottom:1px solid rgba(0 0 0 / 5%)
}
#examples-1 .ex1 {
    height:60vh;
    padding-top:20vh;
}
#examples-1 .ex1 h2 {
    padding:0;
    font-size: 4rem;
    font-family: 'Noto_B';
    color: #111;
}
#examples-1 .ex1 p {
    font-size: 2rem;
	margin-top: 1rem;
	font-weight: 400;
	color: #555;
}
#examples-1 .ex2 {
    height:70vh;
	padding-top:5vh
}
#examples-1 .ex2 h2 {
	max-width:80%;
    background:#171717;
    color:#fff;
    width:100%;
    margin:0 auto;
	padding-top:200px;
    border-radius: 2rem;
}
#examples-1 .ex2 h2 span {
	font-family: 'Noto_B';
	font-size:6rem;
}
#examples-1 .ex2 h2 p {
    font-size:2rem;
	margin-top:1rem;
	font-weight:400;
	color:#C5C3DE;
}
.neon-text {
    font-size: 4rem;
    color: #fff;
    text-shadow: 0 0 5px #ff005e, 0 0 10px #ff005e, 0 0 20px #ff005e, 0 0 40px #ff005e, 0 0 80px #ff005e;
    animation: glow 1.5s infinite alternate;
}

@keyframes glow {
    0% {
        text-shadow: 0 0 5px #ff005e, 0 0 10px #ff005e, 0 0 20px #ff005e, 0 0 40px #ff005e, 0 0 80px #ff005e;
    }
    100% {
        text-shadow: 0 0 10px #00d4ff, 0 0 20px #00d4ff, 0 0 40px #00d4ff, 0 0 80px #00d4ff, 0 0 160px #00d4ff;
    }
}
#examples-1 .ex3 {height:40vh;}
#examples-1 .ex3 h2 {
	font-size:3rem;
}
#examples-1 .ex3 .accordion {
	width: 280px;
	height: 70px;
	background-color: #FF1B1B;
	box-shadow: 0 2px 1px rgba(0 0 0 / 35%);
	line-height: 1;
	border-radius: 35px;
	padding:0;
	margin-top:170px;
}
#examples-1 .ex3 .accordion .explosive-text {
	font-family: 'sq_R';
	font-size: 30px;
	line-height: 70px;
	margin: 0;
	padding: 0;
	color: #fff;
	font-style: normal;
	text-shadow: none;
	font-weight: 800;
}
#examples-1 .ex3 .accordion + .panel {
position: absolute;
  width: 500px;
  left: 50%;
  margin-left: -250px;
  color: #777171;
  font-size: 1rem;
}

#examples-1 .ex3 .accordion:after {display:none}

#fly-it { position: relative; }

.wave-text {

}
.wave-text span {
    display: inline-block;
    font-size: 6.5rem;
    animation: wave 2s ease-in-out infinite;
}

.wave-text span:nth-child(1) {
    animation-delay: 0s;
}
.wave-text span:nth-child(2) {
    animation-delay: 0.2s;
}
.wave-text span:nth-child(3) {
    animation-delay: 0.4s;
}
.wave-text span:nth-child(4) {
    animation-delay: 0.6s;
}

@keyframes wave {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-20px);
    }
}


#scale-it { width: 500%; margin: 0px -200%; padding: 0; }
.scale-it {
    margin:0 auto;
    border-radius: 5rem;
    padding:80px 0 100px 0;
	border-bottom:1px solid rgba(0 0 0 / 5%)
}
.scale-it h2 {
    padding:0 0 20px 0;
	font-family: 'Noto_B';
}
#bring-it {
	/* font-size:3rem !important; */
	/* color:#f4002e !important; */
	color:#000 !important;
}
.box {
	display: flex;
	width:100%;
}
.box .inner {
	width: 50%;
	height: 500px;
	line-height: 450px;
	font-size: 6rem;
	font-family: sans-serif;
	font-weight: bold;
	white-space: nowrap;
	overflow: hidden;
}
.box .inner:first-child {
	background-image: linear-gradient(-44deg,rgb(148, 176, 217),rgba(251,246,254,.78));
	color: #2e4262;
	transform-origin: right;
	transform: perspective(780px) rotateY(-15deg);
	border-radius: 2rem 0 0 2rem;
}
.box .inner:last-child {
	background-image: linear-gradient(291.83deg,rgba(255,242,248,.85),rgba(243,241,255,.85) 65%,rgba(241,248,255,.85));
	color: #bdb9d2;
	transform-origin: left;
	transform: perspective(780px) rotateY(15deg);
	border-radius: 0 2rem 2rem 0
}
.box .inner span {
	position: absolute;
	animation: marquee 5s linear infinite;
}
.box .inner:first-child span {
	animation-delay: 2.5s;
	left: -100%;
}
@keyframes marquee {
	from {
		left: 100%;
	}

	to {
		left: -100%;
	}
}

/* possible */
.possible {
	padding-top:0;
}
.possible h2{
	position:relative;
	color: #484848;
	font-size: 50px;
	font-weight: bold;
	font-family: monospace;
	letter-spacing: 7px;
	cursor: pointer;
	z-index: 1;
  }
.possible h2 span{
	transition: .5s linear
  }
.possible h2:hover span:nth-child(1){
	margin-right: 0
  }
.possible h2:hover span:nth-child(1):after{
	content: "'";
  }
.possible h2:hover span:nth-child(2){
	margin-left: 30px
  }
.possible h2:hover span{
	color: #f4002e;
	/* text-shadow: 0 0 10px #fff,
				 0 0 20px #fff, 
				 0 0 40px #fff; */
  }
  .roller{
	height: 4.125rem;
	line-height: 4rem;
	position: relative;
	overflow: hidden; 
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #B9B9B9;
	margin-top:-17px;
	z-index: 0;
  }
  .roller h2 {
	color:#f4002e !important;
  }
  .roller h2 > span {color:#000 !important}

  .roller h2 div:first-child {color:#b0b0b0}
  .roller h2 div:last-child {}
  .roller h2 div:last-child > span {color:#000 !important}

  #spare-time{
	font-size: 1rem;
	font-style: italic;
	letter-spacing: 1rem;
	margin-top: 0;
	color: #A8DADC;
  }
  .roller #rolltext {
	position: absolute;
	top: 0;
	animation: slide 5s infinite;  
  }
  .roller #rolltext > div {
	background: linear-gradient(90deg, #000, #fff, #000);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	background-repeat: no-repeat;
	background-size: 100%;
	animation: shine 5s linear infinite;
  }
  @keyframes slide {
	0%{
	  top:0;
	}
	25%{
	  top: -4rem;    
	}
	50%{
	  top: -8rem;
	}
	72.5%{
	  top: -12.25rem;
	}
  }
  @keyframes shine {
	0% {
	  background-position-x: -500%;
	}
	100% {
	  background-position-x: 500%;
	}
}


#examples-pin { position: relative; width: 100%; height: 600px; overflow: hidden; margin-bottom: -200px; }
.pin-frame { position: absolute; width: 100%; height: 100%; overflow: hidden; }
.pin-frame h2 { margin-top: 120px; }
#pin-frame-slide { background: #D92B00; margin-left:-100%; }
#pin-frame-wipe  { background: #FFB000; top:100%; }
#pin-frame-wipe h2  { color: #D92B00; }
#pin-frame-bounce  { background: #222438; }
#pin-frame-color  { background: #222438; }
#pin-frame-unpin  { top:100%; }

#examples-2 { z-index: 9999; width: 100%; height: 100%; overflow: hidden; }
#fling-it, #move-it { position: relative; }
.drop-container {
	width:100%;
	position:relative;
	display:flex;
	align-items: center;
	justify-content: center;
	padding-top:0 !important;
	padding-bottom:0;
	flex-direction: column;
}
.drop-container h2 {
	padding:0;
	font-size:3rem !important;
	z-index: 3;
}
.drop-wrap {
	color:#fff;
	font-size:36px;
	font-weight:100;
	/* overflow:hidden; */
	animation:text-color 5s linear infinite;
	z-index:3;
}
.drop-wrap span {
	font-size: 6rem;
	line-height: 1;
	font-weight: 600;
	margin-top: -10px;
	height: 100px;
	display: inline-block;
}
.dropping-texts {
	position:relative;
	display: inline-block;
	font-size:5rem;
	width: 370px;
	text-align: left;
	height: 36px;
	vertical-align: top;
	margin-left:10px;
  }
  .dropping-texts > div {
	font-size:0px;
	opacity:0;
	margin-left:-30px;
	position:absolute;
	font-family: 'Sq_B';
	font-weight:600;   
	line-height:1;
	/* box-shadow: 0px 60px 25px -20px rgba(0,0,0,0.5); */
  }
  
  .dropping-texts > div:nth-child(1) {
	animation: roll 5s linear infinite 0s;
  }
  .dropping-texts > div:nth-child(2) {
	animation: roll 5s linear infinite 1s;
  }
  .dropping-texts > div:nth-child(3) {
	animation: roll 5s linear infinite 2s;
  }
  .dropping-texts > div:nth-child(4) {
	animation: roll2 5s linear infinite 3s;
  }
  
  @keyframes roll {
	0% {
	  font-size:0px;
	  opacity:0;
	  margin-left:-30px;
	  margin-top:0px;
	  transform: rotate(-25deg);
	}
	3% {
	  opacity:1;
	  transform: rotate(0deg);
	}
	5% {
	  font-size:inherit;
	  opacity:1;
	  margin-left:0px;
	  margin-top:0px;
	}
	20% {
	  font-size:inherit;
	  opacity:1;
	  margin-left:0px;
	  margin-top:0px;
	  transform: rotate(0deg);
	}
	27% {
	  font-size:0px;
	  opacity:0.5;
	  margin-left:20px;
	  margin-top:100px;
	}
	100% {
	  font-size:0px;
	  opacity:0;
	  margin-left:-30px;
	  margin-top:0px;
	  transform: rotate(15deg);
	}
  }
  
  @keyframes roll2 {
	0% {
	  font-size:0px;
	  opacity:0;
	  margin-left:-30px;
	  margin-top:0px;
	  transform: rotate(-25deg);
	}
	3% {
	  opacity:1;
	  transform: rotate(0deg);
	}
	5% {
	  font-size:inherit;
	  opacity:1;
	  margin-left:0px;
	  margin-top:0px;
	}
	30% {
	  font-size:inherit;
	  opacity:1;
	  margin-left:0px;
	  margin-top:0px;
	  transform: rotate(0deg);
	}
	37% {
	  font-size:1500px;
	  opacity:0;
	  margin-left:-1000px;
	  margin-top:-800px;
	}
	100% {
	  font-size:0px;
	  opacity:0;
	  margin-left:-30px;
	  margin-top:0px;
	  transform: rotate(15deg);
	}
  }
  @keyframes bg {
	0% {background: #ff0075;}
	3% {background: #0094ff;}
	20% {background: #0094ff;}
	23% {background: #b200ff;}
	40% {background: #b200ff;}
	43% {background: #8BC34A;}
	60% {background: #8BC34A;}
	63% {background: #F44336;}
	80% {background: #F44336;}
	83% {background: #F44336;}
	100% {background: #F44336;}
  }
  @keyframes text-color {
	0% {color: #000000;}
	3% {color: #002950;}
	20% {color: #b815ce;}
	23% {color: #ef53c8;}
	40% {color: #000000;}
	43% {color: #0ad482;}
	60% {color: #000000;}
	63% {color: #F44336;}
	80% {color: #22000d;}
	83% {color: #270402;}
	100% {color: #1f0004;}
  }

#examples-parallax {
	padding-top: 360px;
	height: 800px;
	/* margin-bottom: -600px; */
	overflow: hidden;
	margin-bottom:100px;
}
#parallax-it {
	padding: 0;
	font-size: 80px;
	position: relative;
}

#parallax-it-left {
	position: relative;
	font-size: 120px;
	left: -160px;
	color: #C5C3DE;
	opacity: 0.5;
	-moz-opacity: 0.5;
	filter:alpha(opacity=5);
    text-shadow: none;
    padding:0;
	overflow: hidden;
}

#parallax-it-right {
	position: relative;
	font-size: 160px;
	left: 80px;
	color: #C5C3DE;
	opacity: 0.25;
	-moz-opacity: 0.25;
	filter:alpha(opacity=2.5);
    /* width: 900px; */
    text-shadow:none;
	overflow: hidden;
}

#showcase { padding: 60px 0; margin-top:200px }
#showcase p#fly-up {
	font-size:1.5rem;
}
.gallery { 
    display:flex;
    flex-wrap: wrap;
    flex-direction: row;
    width: 100%;
    max-width:960px; 
    margin: 0 auto; 
    text-align: center; 
    gap:10px;
}
.gallery figure { 
    display:flex;
    flex-direction: column;
    width:calc(100% / 4 - 10px);
    justify-content: space-around;
    text-align: center;  
    height: 150px; 
    background:#f7f7f7;
    padding:1rem;
    margin:0;
    border-radius:10px
}
.gallery figure figcaption {
    color: #373737;
    font-weight: 600;
    font-size: 1.25rem;
}
.gallery figure small {
    font-size: 1rem;
    color: #555;
}
.gallery.clearfix:before {display:none;}
#howtouse { padding-top: 200px; }

.divider { font-size: 14px; padding-top: 20px; }

.disclaimer {
	font-size: 18px;
	font-style: normal;
	font-weight: normal;
	margin: 0 auto;
}

#instructions { padding-top: 40px; }

#instructions p { margin: 0px auto 20px; }

#instructions-animation { padding-top: 40px; }

#instructions .documentation {
	font-size: 16px;
	text-align: left;
	width: 720px;
	margin: 10px auto 30px;
	padding: 20px 40px;
	text-shadow: none;
	border: solid 1px #69697A;
	color:#C5C3DE;
}

#instructions .param-list {
	font-size: 18px;
	line-height: 1.4;
	padding: 0 18px;
	margin: 1em 0 0;
}

#instructions .param-list-sub {
	padding-left: 36px;
	font-size: 15px;
}

#instructions .param-list li {
	font-weight: normal;
	padding-bottom: 20px;
	text-shadow: 0 2px 1px #000;
}
.param {
	font-style:normal;
}

.param-list small {
	display: block;
	font-weight: normal;
	font-style: normal;
}

#credits { 
	max-width: 860px;
	margin: 0 auto;
	padding: 80px 0; 
}

/* mobile demo */

.mobile-demo #fade-it {
	margin: 400px 0 500px 0;
}
.mobile-demo #examples-1 {
	margin-bottom: 200px;
}
.mobile-demo #instructions {
	width: 800px;
	text-align: left;
	margin: auto;
}
.mobile-demo ul {
	list-style: disc;
	color:#FFFFFF;
	margin: 20px 80px 100px 80px;
}
.mobile-demo #content-wrapper {
	margin-bottom: 100px;
	width: 100%;
}
.mobile-demo h2 {
	width: 90%;
}
.mobile-demo h3 {
	color:#C5C3DE;
}

#newversion {
	position: absolute;
	top: 480px;
	left: 50%;
    width: 280px;
    height:70px;
	margin-left: -140px;
    background-color: #FF1B1B;
	box-shadow: 0 2px 1px rgba(0 0 0 / 35%);
    line-height:1;
    border-radius: 35px;
	z-index: 10;
}
#newversion h2 {
    font-family: 'sq_R';
	font-size: 30px;
    line-height:70px;
	margin: 0;
	padding: 0;
	color: #fff;
	font-style: normal;
    text-shadow:none;
    font-weight:800;
}
#newversion a {
	text-decoration: none;
	padding: 0px 20px 20px 20px;
	display: block;
	font-size: 18px;
	color: #FFFFFF;
}
#newversion a:hover span {
	text-decoration: underline;
}
#newversion button {
    width:100%;
}
#newversion .accordion {
    background: transparent;
    padding: 0;
    margin-top: 0;
    font-weight: 400;
}
#newversion .accordion:after {
    display:none;
}
#newversion button + .panel {
    position:absolute;
    width: 500px;
    left: 50%;
    margin-left: -250px;
    color: #777171;
    font-size: 1rem;
}
.explosive-text {
    font-size: 3rem;
    color: #fff;
    /* letter-spacing: 0.1em; */
    display: inline-block;
    position: relative;
    transition: transform 0.3s ease-out;
}

.explosive-text:hover {
    transform: scale(1.1);
}

.explosive-text:hover::before,
.explosive-text:hover::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(0);
    animation: burst 0.8s ease-out forwards;
}

.explosive-text:hover::before {
    background: radial-gradient(circle, rgba(255, 0, 21, 0.6), transparent);
    z-index: -1;
}

.explosive-text:hover::after {
    background: radial-gradient(circle, rgba(255, 0, 0, 0.6), transparent);
    z-index: -2;
}

@keyframes burst {
    0% {
        transform: translate(-50%, -50%) scale(0);
        opacity: 1;
    }
    70% {
        opacity: 0.8;
    }
    100% {
        transform: translate(-50%, -50%) scale(1.5);
        opacity: 0;
    }
}
/* effect */
.effect-wrap {
	position:absolute;
	top:30px;
	right:0;
	width:100%;
	display:flex;
	flex-direction: column;
	gap:26px;
	z-index: -1;
}
.effect-top {
	display:flex;
	flex-direction: row;	
}

 .words {
	color: #1c1c1c;
	font-size: 0;
	line-height: 1;
  }
  
  .words span {
	font-family: 'Noto_B';
	font-size: 3rem;
	font-weight:600;
	display: inline-block;
	animation: move 3s ease-in-out infinite;
  }
  
  @keyframes move {
	0% {
	  transform: translate(-30%, 0);
	}
	50% {
	  text-shadow: 0 15px 30px rgba(17, 10, 236, 0.95);
	}
	100% {
	  transform: translate(30%, 0);
	}
  }
  
  .words span:nth-child(2) {
	animation-delay: 0.5s;
  }
  
  .words span:nth-child(3) {
	animation-delay: 1s;
  }
  
  .words span:nth-child(4) {
	animation-delay: 1.5s;
  }
  
  .words span:nth-child(5) {
	animation-delay: 2s;
  }
  
  .words span:nth-child(6) {
	animation-delay: 2.5s;
  }
  
  .words span:nth-child(7) {
	animation-delay: 3s;
  }
  

/* */
#editor-wrap {
	position:relative;
	display: block;
}
.illustration-editor-wrap {
    background: linear-gradient(135deg, #282828 0%, #14161e 100%);
    display: flex;
    align-items: center;
    justify-content: center;
	flex-direction: row;
	height:60vh;
	margin:0 auto;
}
.illustration-editor {
    margin-top: 0;
    /* margin-right: -10rem; */
	display:flex;
    /* display: grid;
    grid-template-rows: 24px auto;
    justify-items: center; */
    position: relative;
}
.code {
    max-width:90%;
    margin:0 auto;
    padding:1rem 1rem 1px 1rem;
    margin-bottom:10px;
    background: #1D1E22;
    box-shadow: 0px 4px 30px rgba(0, 0, 0, 0.5);
    border-radius: 6px;
    z-index: 5;
}
.code header {
    display: grid;
    /* grid-template-columns: 36px auto 36px; */
    align-items: center;
    justify-content: center;
    margin-bottom:1rem;
}
.code header svg {
    margin: 10px;
    display:none;
}
.code header h1 {
    font-family: Lato, sans-serif;
    font-weight: 900;
    font-size: 14px;
    letter-spacing: 1.57px;
    color: #C5C8D4;
    margin: 0;
}
.code-html {
    /* left: -100px;
    top: -30px; */
}
.code-color-1 {
	color:#0ad482
}
.code-css {
    /* left: -25px;
    top: 80px; */
}
.code-js {
    /* left: -175px;
    top: 292px; */
}
.code .code-content {
    margin: 0 10px 20px;
    color: white;
}
.code .code-content .c-r {
    color: #A88038;
}
.code .code-content .c-o {
    color: #DE7300;
}
.code .code-content .c-y {
    color: #E1CA72;
}
.code .code-content .c-g {
    color: #74B087;
}
.code .code-content .c-p {
    color: #9F8198;
}
.code .code-content .c-b {
    color: #7A99AD;
}
.code .code-content .c-c {
    color: #666666;
}
.code-css .code-content code .line-1 {
    width: 0%;
    margin: 0;
    border-right: .15em solid transparent;
    overflow: hidden;
    display: inline-block;
    white-space: nowrap;
}
.code-css .code-content code .line-2 {
    width: 0%;
    margin: 0;
    border-right: .15em solid transparent;
    overflow: hidden;
    display: inline-block;
    white-space: nowrap;
}
.code-css .code-content code .line-3 {
    width: 0%;
    margin: 0;
    border-right: .15em solid transparent;
    overflow: hidden;
    display: inline-block;
    white-space: nowrap;
}
.code-css .code-content code .line-4 {
    width: 0%;
    margin: 0;
    border-right: .15em solid transparent;
    overflow: hidden;
    display: inline-block;
    white-space: nowrap;
}
.code-css .code-content code .line-5 {
    width: 0%;
    margin: 0;
    border-right: .15em solid transparent;
    overflow: hidden;
    display: inline-block;
    white-space: nowrap;
}
.code-css .code-content code .line-1 {
    animation: typing-1 3s 0s steps(30, end) forwards, cursor 1s linear 0s 3;
}
.code-css .code-content code .line-2 {
    animation: typing-2 3s 3s steps(30, end) forwards, cursor 1s linear 3s 3;
}
.code-css .code-content code .line-3 {
    animation: typing-3 3s 6s steps(30, end) forwards, cursor 1s linear 6s 3;
}
.code-css .code-content code .line-4 {
    animation: typing-4 3s 9s steps(30, end) forwards, cursor 1s linear 9s 3;
}
.code-css .code-content code .line-1, .code-css .code-content code .line-3, .code-css .code-content code .line-4 {
    animation-duration: 1s;
    animation-timing-function: steps(10, end);
}
.code-css .code-content code .line-5 {
    border-color: transparent;
    animation: typing-5 3s 12s steps(30, end) forwards, cursor-persist 1s linear 12s infinite;
}
.code-css .code-content code .line-2 {
    margin-left: 2rem;
}
.code-css .code-content code .line-3, .code-css .code-content code .line-4, .code-css .code-content code .line-5 {
    margin-left: 4rem;
}
.editor-block {
    position: relative;
    display: block;
    width: 500px;
    height: 421px;
    background: linear-gradient(130deg, #1b2031 28%, #1c1d22 72%);
    border-radius: 10px;
}
@keyframes typing-1 {
    from {
        width: 0;
    }
    to {
        width: 60px;
    }
}
@keyframes typing-2 {
    from {
        width: 0;
    }
    to {
        width: 220px;
    }
}
@keyframes typing-3 {
    from {
        width: 0;
    }
    to {
        width: 70px;
    }
}
@keyframes typing-4 {
    from {
        width: 0;
    }
    to {
        width: 75px;
    }
}
@keyframes typing-5 {
    from {
        width: 0;
    }
    to {
        width: 141px;
    }
}
@keyframes cursor {
    from, to, 20%, 80% {
        border-color: transparent;
    }
    25%, 75% {
        border-color: white;
    }
}
@keyframes cursor-persist {
    from, 45% {
        border-color: transparent;
    }
    50%, to {
        border-color: white;
    }
}

/* ani */
.text-container {
	position:absolute;
	top:0;
	left:0;
    background: #fff;
    width: 100vw;
    height: 100%;
    font-weight: bold;
    font-size: 2rem;
    overflow: hidden;
}

.text-container > div {
    animation: come2life linear 10s infinite;
    transform-origin: center center;
	color:rgba(0 0 0 / 10%);
    opacity: 0;
    width: 30%;
    height: 150px;
    position: absolute;
    backface-visibility: hidden;
}

.text-container > div:nth-child(1) {
    left: 7vw;
    top: 40vh;
    animation-delay: 0s;
}

.text-container > div:nth-child(2) {
    left: 40%;
    bottom: 5%;
    animation-delay: 4s;
}

.text-container > div:nth-child(3) {
    left: 50vw;
    top: 50vh;
    animation-delay: 8s;
}

.text-container > div:nth-child(4) {
    left: 10vw;
    top: 130px;
    animation-delay: 6s;
}

.text-container > div:nth-child(5) {
    right: 10vw;
    top: 20vh;
    animation-delay: 2s;
}

@keyframes come2life {
    0% {
        transform: scale3d(0,0,1) rotate(0.02deg);
        opacity: 0;
        filter: blur(10px);
    }
    25% {
        transform: scale3d(1,1,1) rotate(0.02deg);
        opacity: 1;
        filter: blur(0px);
    }
    40% {
        opacity: 1;
        filter: blur(0px);
    }

    80% {
      opacity: 0;
    }
  
    100% {
        transform: scale3d(3,3,1) rotate(0.02deg);
        filter: blur(10px);
    }
}

/* 2025 01 31 */
.inc01 {padding-top:150px;height:700px;}
.inc01 .big_txt {
    position: relative;
    font-size: 4.5rem;
    font-weight: 700;
    line-height: 1;
    color: rgba(0,0,0,.9)
}
.inc01 .big_txt p {color:rgba(0 0 0 / 50%);line-height:1;margin:10px 0;}
.inc01 .big_txt .b_txt {
    position: relative;
	color:rgba(0 0 0 / 10%);
    /* width: max-content; */
	line-height:1;
	margin:10px 0;
    background: linear-gradient(to right, #000, #000) no-repeat;
    -webkit-background-clip: text;
    background-clip: text;
    background-size: 0%;
    transition: background-size cubic-bezier(.1,.5,.5,1) 0.5s
}
/* //2025 01 31 */

@media screen and (max-width:1200px) {
	
}
@media screen and (min-width:769px) and (max-width:1400px) {
	div[class^="ex"] {
		border-bottom:1px solid rgba(0 0 0 / 5%);
	}
	.credit {
		font-size:2.5rem;
		margin-top:30px;
	}
	.words span {
		font-size:2.5rem;
	}
	#examples-1 .ex1 {
		height:60vh;
	}
	#examples-1 .ex2 {
		height:auto
	}
	#examples-1 .ex2 h2 {
		height:auto !important;
	}
}
@media screen and (max-width: 768px) { 
	.effect-wrap {
		top:25px;
		align-items: center;
		gap:12px;
	}
	.words span {
		font-size:1.7rem;
        color:transparent;
	}
	@keyframes move {
		0% {
		  transform: translate(-30%, 0);
		}
		50% {
		  text-shadow: 0 5px 15px rgba(17, 10, 236, 0.95);
		}
		100% {
		  transform: translate(30%, 0);
		}
	}
	#editor-wrap {
		margin-top:150px;
	}
	.illustration-editor {
		width:100%;
		margin-right:0;
		justify-content: center;
		align-items: center;
	}
    .illustration-editor .code-blocks {
        width:100%;
    }
	code {
		font-size:.7rem !important;
	}
    .code header svg {
        display:none
    }
	.illustration-editor-wrap {
		flex-direction: column;
		height:90vh;
		border-radius: 0 !important;
        opacity: 0;
	}
	.editor-block {
		width:calc(100% - 2rem)
	}
	.code-html {
		/* top:-70px;
		left:50%;
		margin-left:-145px */
	}
	.code-css {
		/* top:40px;
		left:50%;
		margin-left:-145px; */
	}
	.code-js {
		/* top:252px;
		left:50%;
		margin-left:-145px; */
	}
    #newversion {
        top:300px;
        width:250px;
        height:50px;
        margin-left:-125px;
        border-radius: 1.5rem;
    }
    #newversion .accordion {
        font-size:.7rem;
    }
    #newversion h2 {
        height:50px;
        font-size:1.2rem;
        line-height:50px;
    }
    .title-line {
        font-size:3rem;
    }
    #title2 {
        margin-top:0;
        padding-top:100px;
		height:400px;
    }
    #title-info {
		width:100%;
        margin-top:30px !important;
    }
    #scale-it {
        width:100%;
        margin:0 auto;
		font-size:2.5rem !important;
    }
    #parallax-it {
        font-size:30px
    }
    #parallax-it-right {
        font-size:7rem;
        right:0;
        padding:0;
    }
    #parallax-it-left {
        font-size:5rem;
        left:0;
        width:50%;
    }
    .main_page h1,.main_page h2,.main_page h3 {
        font-size:2rem
    }
	.main_page h1 + p {
		font-size:1rem;
		margin:10px 0 20px
	}
    .gallery figure {
        font-size:12px;
		width:calc(100% / 3 - 5px)
    }
    .scale-it {
        width:calc(100% - 2rem) !important
    }
	.credit {
        font-family: 'Sq_R';
		font-size:1.7rem;
	}
	.credit b {
	}
	.masked-text {

	}
	#showcase {
		margin-top:100px
	}
	#showcase p#fly-up {
		font-size:1rem;
	}
	.gallery {
		gap:5px;
		justify-content: flex-start;
		padding:0 .5rem 0 1rem;
	}
	#examples-parallax {
		padding-top:100px;
		height:250px;
	}
	.hire_wrap {
		width:calc(100% - 2rem);
		height:300px;
		padding-top:90px;
	}
	.hire_wrap h3 {
		font-family: 'Sq_B';
		font-size:2rem;
	}
	#examples-1 .ex1 h2 {
		font-size:2rem;
	}
	#examples-1 .ex1 p {
		font-size:1rem;
		margin-top:10px;
		margin-bottom:0;
	}
	#examples-1 .ex1 {
		height:40vh;
		padding-top:17vh;
	}
	#examples-1 .ex2 {
		height:50vh;
	}
	#examples-1 .ex2 h2 {
		max-width:calc(100% - 2rem);
		padding-top:103px;
		height:40vh;
	}
	#examples-1 .ex2 h2 span {
		font-size:3rem;
	}
	#examples-1 .ex2 h2 p {
		font-size:1rem;
		margin-top:10px;
		margin-bottom:0;
	} 
	.wave-text span {
		font-size:2.5rem;
	}
	.box .inner {
		width: 50%;
		height:150px;
		font-size:2rem;
		line-height:146px;
	}
	
	.box .inner:first-child {
		background-image: linear-gradient(-44deg,rgb(148, 176, 217),rgba(251,246,254,.78));
		color: #2e4262;
		transform-origin: right;
		transform: perspective(780px) rotateY(-4deg);
		border-radius: 2rem 0 0 2rem;
	}
	
	.box .inner:last-child {
		background-image: linear-gradient(291.83deg,rgba(255,242,248,.85),rgba(243,241,255,.85) 65%,rgba(241,248,255,.85));
		color: #bdb9d2;
		transform-origin: left;
		transform: perspective(780px) rotateY(4deg);
		border-radius: 0 2rem 2rem 0
	}
	.drop-container {
		justify-content: center;
		align-items: center;
		text-align: center;
	}
	.drop-container h2 {
		font-size:2rem !important;
		margin-bottom:10px;
	}
	.drop-wrap {
		width:100%;
		font-size:2rem;
		text-align:center;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: row;
	}
	.drop-wrap span {font-size:2.5rem;height:50px;margin-top:5px;}
	.dropping-texts {display:block;font-size:2.3rem;width:50% !important;position:relative;height:50px;text-align:center;margin-left:0;}
	.dropping-texts > div {top:0;left:0;}
	#examples-1 .ex3 {
		height:30vh;
	}
	#examples-1 .ex3 .accordion {
		width:250px;
		margin-top:80px;
		height:50px;
		font-size:1.2rem;
	}
	#examples-1 .ex3 .accordion .explosive-text {
		font-size:1.2rem;
		line-height:50px;
	}
	.roller{
		height: 2.1rem; 
		line-height: 1;  
		margin-top:-10px;
	}
	
	#spare-time {
	  font-size: 1rem;
	  letter-spacing: 0.1rem;
	}
	
	.roller #rolltext {  
	animation: slide-mob 5s infinite;  
   }
	
	@keyframes slide-mob {
	0%{
	  top:0;
	}
	25%{
	  top: -2.125rem;    
	}
	50%{
	  top: -4.25rem;
	}
	72.5%{
	  top: -6.375rem;
	}
  }

  .mo-sec {
	 height:30vh !important;
	 padding-top:0
  }

  .text-container {
	font-size:1rem;
  }
  .text-container > div {
	width:35%;
  }
  .text-container > div:nth-child(3) {
	right:12vw;
	top:auto;
	bottom:5%;
  }
}

/* 가로 모드에서 적용 */
@media (orientation: landscape) {
	/* 가로 모드일 때는 화면을 비우거나 스타일을 변경 */
	body {
	  
	}
	div[class^="ex"] {
		border:none
	}
	#title2 {
		height:100vh;
	}
	.illustration-editor-wrap {
		/* height:100vh; */
		flex-direction: column;
		border-radius:2rem;
		max-width:90vw;
		margin:0 auto;
	}
	.illustration-editor .code-blocks {
		display:flex;
		flex-direction: row;
		justify-content: space-between;
	}
	.illustration-editor .code-blocks .code {
		position:relative;
        background:none;
        box-shadow:none
	}
	.code-html {
		/* left:0;
		top:-20px; */
	}
	.code-css {
		/* left:5%;
		top:40px; */
	}
	.code-js {
		/* right:0;
		top:20px; */
	}
	.editor-block {
		display:none;
		width:0;
		height:0;
	}
	#examples-1 .ex1 {
		height:80vh
	}
	#examples-1 .ex2 {
		height:100vh;
		padding-top:3vh;
		padding-bottom:3vh;
	}
	#examples-1 .ex2 h2 {
		padding-top:100px;
		height:80%;
		width:90vw;
	}
	#examples-1 .ex3 {
		
	}
	#examples-1 .ex3 .accordion {
		margin-top:30px;
	}
	.credit {
		margin-top:0;
	}
	.effect-wrap {
		top:0;
	}
}
@media screen and (min-width:1401px) {
	div[class^="ex"] {
		border-bottom:1px solid rgba(0 0 0 / 5%) !important;
	}
	#examples-1 .ex1 {
		height:60vh !important;
	}
	#examples-1 .ex2 {
		height:70vh !important;
		padding-top:2rem !important;
		padding-bottom:2rem !important;
	}
    .main_page h1,.main_page h2,.main_page h3 {
        font-size:5rem
    }
    #title2 {
        height:100vh;
    }
    #examples-1 .ex1 h2 {
        font-size:5rem !important;
    }
	.illustration-editor {
		width:85%;
		margin:0 auto;
	}
	.illustration-editor .code-blocks {
		width:100%;
		justify-content: space-evenly;
	}
	.illustration-editor .code-blocks .code {
		position:relative;
		top:auto;
		left:auto;
        background:none;
        box-shadow: none;
	}
	.code-html {
		/* left:0;
		top:-20px; */
	}
	.code-css {
		/* left:5%;
		top:40px; */
	}
	.code-js {
		/* right:0;
		top:20px; */
	}
	.editor-block {
		display:block;
	}
	#examples-1 .ex2 h2 {
		width:80%;
		height:calc(100%) !important;
		padding-top:180px;
	}
	#examples-1 .ex3 .accordion {
		margin-top:150px !important;
	}
	.credit {
		margin-top:30px;
	}
	.effect-wrap {
		top:30px;
	}
}