@charset "utf-8";

/*
 * layout.css.css
 * 레이아웃 공통요소들 작업요소에 맞게 수정하시면됩니다.
 *
 * 1) root 설정
 * 2) 폰트설정
 * 3) 레이아웃설정
 *
 */

/* 1) root 설정  */
:root {
	--color-base:#000;
	--color-point:#7e00ff;
	--color-hover:#af60ff;
	--color-white:#fff;
	--color-black:#000;
	--font-base:1.6rem;
	--pagd-pad:80rem;
	--trans-ani:0.3s ease 0s;
	--border-radius-base:.6rem;
}

/* custom selection */
::selection {
	background:#7e00ff;
	color:#fff;
	text-shadow:none;
}
::-moz-selection {
	background:#7e00ff;
	color:#fff;
	text-shadow:none;
}
::-webkit-selection {
	background:#7e00ff;
	color:#fff;
	text-shadow: none;
}

/* img 설정 */
#content img {
	max-width: 100%;
}


/* 2) 폰트설정 */
body {
	font-size:var(--font-base,16rem);
}
@media (min-width:1921px) {
	html {
		font-size:0.052vw /* 1px */;
	}
}
@media (max-width:1500px) {
	html {
		font-size:0.067vw /* 1px */;
	}
}
@media (max-width:1300px) {
	html {
		font-size:0.077vw /* 1px */;
	}
}
@media (max-width:1024px) {
	html {
		font-size:0.098vw /* 1px */;
	}
}
@media (max-width:768px) {
	html {
		font-size:0.130vw /* 1px */;
	}
}
@media (max-width:620px) {
	html {
		font-size:0.161vw /* 1px */;
	}
}
@media (max-width:480px) {
	html {
		font-size: 0.271vw /* 1.3px */;
	}
}



/* header */
header {
	position:fixed;
	top:4.9rem;
	left:14rem;
	min-width:160rem;
	z-index:10;
}
header .logo a {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	text-transform:uppercase;
	font-size:1.8rem;
	font-weight:400;
    -webkit-transition: all 1s ease;
    -moz-transition: all 1s ease;
    -ms-transition: all 1s ease;
    transition: all 1s ease;
}
header .logo img {
	width:5rem;
	margin-right: 1.5rem;
    -webkit-transition: all 1s ease;
    -moz-transition: all 1s ease;
    -ms-transition: all 1s ease;
    transition: all 1s ease;
}
header .logo:hover{
    font-weight:600;
    color: var(--color-point);
}
header .logo:hover img{
    transform: scale(1.2);
}

/* menu */
.gnb,
.gnb_sub{
	position:absolute;
	top:0;
	right:0;
	z-index:100;
	font-size:1.7rem;
	background-color:var(--color-base);
	color:var(--color-white);
	border-radius:var(--border-radius-base);
}
.gnb ul,
.gnb_sub ul{
	display:flex;
}
.gnb ul>li>a,
.gnb_sub ul>li>a{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	min-width:13rem;
	height:1.5rem;
	margin:1.6rem 1.4rem;
	overflow:hidden;
	text-transform:uppercase;
}
.gnb ul>li>a>span,
.gnb_sub ul>li>a>span{
	position:absolute;
	display:block;
	overflow:hidden;
	-webkit-transition:.25s;
	-moz-transition:.25s;
	-ms-transition:.25s;
	transition:.25s
}
.gnb ul>li>a>.hover,
.gnb_sub ul>li>a>.hover{
	margin-top:3.4rem;
	color:var(--color-hover);
}
.gnb ul>li>a:hover>.txt,
.gnb_sub ul>li>a:hover>.txt{
	margin-top:-3rem;
}
.gnb ul>li>a:hover>.hover,
.gnb_sub ul>li>a:hover>.hover{
	margin-top:0;
}
.gnb ul>li.now>a,
.gnb_sub ul>li.now>a{
    color:var(--color-hover);
}
header.active .logo {
	color:var(--color-white);
	-webkit-transition:.25s;
	-moz-transition:.25s;
	-ms-transition:.25s;
	transition:.25s;
}
header.active .gnb,
header.active .gnb_sub{
	background:var(--color-white);
	color:var(--color-base);
	-webkit-transition:.25s;
	-moz-transition:.25s;
	-ms-transition:.25s;
	transition: .25s;
}


/* project */
.project_wrap {
	width:160rem;
	margin:10rem auto 0;
}
.project {
	display:flex;
	flex-wrap:wrap;
	gap:3rem;
	padding:0;
}
.project li {
	/* cursor:pointer; */
	border-radius:1rem;
	width:32%;
}
.project li .img {
	background:#f8f8f8;
	border-radius:1rem;
	-webkit-transition:.25s;
	-moz-transition:.25s;
	-ms-transition:.25s;
	transition:.25s
}
.project img {
	width:100%;
	height:auto;
	display:block;
	border-radius:1rem;
}
.project .info {
	position:relative;
	padding:3rem 1rem 3rem;
}
.project .info .tag {
	display:inline-flex;
	gap:.4rem;
}
.project .info .tag span {
	display:inline-block;
	padding:.1rem 1.2rem;
	letter-spacing:-.1rem;
	font-size:1.3rem;
	font-weight:100;
	border-radius:2.5rem;
	border:.1rem solid #111;
}
.project .info .tag span[data-tag="main"] {
	color:var(--color-point);
	border-color:var(--color-point);
}
.project .info .tag span[data-tag="publishing"] {
	color:#00c2a4;
	border-color:#00e6c3;
}
.project .info .tag span[data-tag="edit"] {
	color:#20bd01;
	border-color:#20bd01;
}
.project .info .tag span[data-tag="etc"] {
	color:#f26303;
	border-color:#f26303;
}
.project .info .title_wrap {
	position:relative;
    padding-bottom:1.2rem;
}
.project .info .title {
	padding-left:.4rem;
	padding-right:10rem;
	padding-top:1rem;
    overflow-wrap: break-word;
	font-size:2.0rem;
	font-weight:300;
	-webkit-transition:.25s;
	-moz-transition:.25s;
	-ms-transition:.25s;
	transition:.25s
}
.project .info .company {
	position:absolute;
	top:1.5rem;
	right:.4rem;
	font-size:1.6rem;
	font-weight:100;
	color:#8a8a8a;
}
.project .info .desc {
	padding-left:.4rem;
	font-size:1.6rem;
	font-weight:100;
	color:#777;
}
.project>li:hover .title {
	color:var(--color-point);
}
.project>li:hover .img {
	box-shadow:rgba(50,50,93,0.15) 0px 50px 100px -20px,rgba(0,0,0,0.2) 0px 30px 50px -30px;
}
.project>li.none:hover .title {
	color:var(--color-base);
}
.project>li.none:hover .img {
	box-shadow:none;
}
.project_wrap.sub {
    width:100%;
    margin-top:8rem;
    padding:0 3rem;
    box-sizing: border-box;
}
.project_wrap.sub .project li{
    width:23.5%;
}
.project_wrap.main .project > li > a[href]::before{
    content:"view more";
    display: flex;
    align-items: center;
    justify-content: center;
    color:#fff;
    position: absolute;
    top:1rem;
    left:0;
    width:100%;
    height:34rem;;
    background-color:var(--color-point);
    border-radius: 1rem;
    text-transform: uppercase;
    font-size:2.4rem;
    opacity:0;
    transition: all 0.3s;
}
.project_wrap.main .project > li:hover > a[href]::before{
    top:0;
    opacity:.8;
}
.project_wrap.sub .project > li > a[href]::before{
    content:"view more";
    display: flex;
    align-items: center;
    justify-content: center;
    color:#fff;
    position: absolute;
    top:1rem;
    left:0;
    width:100%;
    height:28.7rem;;
    background-color:var(--color-point);
    border-radius: 1rem;
    text-transform: uppercase;
    font-size:2.4rem;
    opacity:0;
    transition: all 0.3s;
}
.project_wrap.sub .project > li:hover > a[href]::before{
    top:0;
    opacity:.8;
}

/* sub title */
.sub_title{
    text-align:center;
    padding-top:20rem;
}
.sub_title h2{
    font-size:6.8rem;
}
/* footer */
footer {
    display:flex;
    margin:15rem auto 10rem;
    padding:13rem 10rem;
    width:160rem;
    color:var(--color-white);
    background:var(--color-black);
    border-radius:1rem;
    box-sizing: border-box;
}
footer .footer_logo{
    width:37rem;
    margin-top:9rem;
}
footer .footer_logo a{
    display:flex;
    align-items: center;
    font-size:1.8rem;
    font-weight:200;
    text-transform:uppercase;
    margin-bottom:3.5rem;
}
footer .footer_logo .logo img {
	width:5rem;
	margin-right: 1.5rem;
}
footer .footer_logo .copyright{
    line-height:1.65;
    font-size:1.6rem;
    font-weight:100;
    color:#a4a4a4;
}
footer .footer_logo .copyright b{
    font-weight:100;
    text-decoration:underline;
    color:var(--color-white);
}
footer .footer_contact{
    width:calc(100% - 37rem);
}
footer .footer_contact .email{
    display:block;
    margin-bottom:3rem;
    font-family: 'Pretendard';
    font-size:4.6rem;
    font-weight:500;
}
footer .footer_contact .txt{
    position:relative;
    display: inline-block;
    margin-bottom:3rem;
    line-height:1.45;
    font-family: 'Pretendard';
    font-weight:100;
    font-size:4.8rem;
}
footer .footer_contact .txt .quotes{
    position:absolute;
    left:-3.2rem;
    font-family: 'KOHIBaeumOTF';
}
footer .footer_contact .txt .quotes.close{
    left:initial;
    bottom:0;
    right:-3.2rem;
}
footer .footer_contact .desc{
    padding-left:.5rem;
    font-family: 'Pretendard';
    font-weight:100;
    font-size:2.2rem;
    color:#a4a4a4;
}

.scroll_button {
    position: fixed;
    overflow: hidden;
    bottom: 2rem;
    right: 2rem;
    opacity: 0; 
    transform: translateY(20px); 
    transition: opacity 0.5s, transform 0.5s;
    background-color: var(--color-point);
    border: none;
    font-size:1.8rem;
    padding: 1rem 1.5rem;
    border-radius: .5rem;
    border-bottom-left-radius:0;
    border-bottom-right-radius:0;
    cursor: pointer;
    z-index: 20;
    bottom: 0;
}
.scroll_button::before{
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    border-radius: 50% 50% 0 0;
    width: 100%;
    height: 0%;
    background: #be2ffa;
    z-index: -1;
    transition: 0.8s;
}
.scroll_button:hover::before{
    height: 180%;
    background-color:#7000e2;
}


	/* header 반응형 */
@media screen and (max-width:1600px){
	header {
        left:4rem;
        min-width:100%;
    }
    .gnb{
        right:4rem;
    }
}