﻿@charset "utf-8";

/*
 * Project		:	헬로익스펜스 랜딩 홈페이지
 * File			:	layout_com.css
 * Author		:	YoungJae Lee
 * Date			:	Jau. 2024
 * Description	:	공통 레이아웃
 */



/* --------------------------
:: 공통 레이아웃
-------------------------- */

#wrap {}
.wrapIn {}


/* 레이아웃 최대 너비 */
.content-cont {max-width: 1500px; padding: 0 120px; margin: 0 auto;}



/* head */
.cmHead {position: fixed; top: 0; z-index: 11; width: 100%; height: 80px; border-bottom: 1px solid var(--gray-400); transition: all 300ms ease-in-out;}
.cmHead-logo {position: absolute; top: 50%; left: 50px; cursor: pointer; margin-top: -15px;}
.cmHead-logo img {width: auto; height: 30px;}

/* head :: web menu*/
.cmHead-menu {display: flex; justify-content: center; align-items: center;}
.cmHeadMenu-item {padding: 0 34px; line-height: 79px; cursor: pointer; font-size: 1rem; text-transform: uppercase;}
.cmHeadMenu-item:after {content: ""; transition: all ease-in-out .2s; background: none repeat scroll center center var(--main1); display: block; height: 5px; width: 0; margin-top: -2px; border-radius: 10px;}
.cmHeadMenu-item:hover,
.cmHeadMenu-item.active {color: var(--main1);}
.cmHeadMenu-item:hover:after,
.cmHeadMenu-item.active:after {width: 100%;}
/* .cmHeadMenu-item:last-child {color: var(--main1);} */
/* .cmHeadMenu-item:last-child:after {display: none;} */
/* .cmHeadMenu-item:last-child:hover {font-weight: 600;} */
.cmHeadMenu-item i {margin-left: 5px;}
.cmHeadMenu-item i img {width: auto; height: 8px;}

/* head :: family solution */
.cmHead-solution {position: absolute; top:0; right: 100px;}
.cmHead-solution .js-dropdownBtn {width: 99px; height: 79px; display: flex; align-items: center; justify-content: center;}
.cmHead-solution .js-dropdownBtn img {width: 26px; height: auto;}
.cmHead-solution .js-dropdownCon {border-radius: 5px;}
	
.cmHeadSolution-tit {text-transform: uppercase; text-align: center; padding: 10px; border-bottom: 1px solid var(--gray-400);}
.cmHeadSolution-box {min-width: 240px; padding: 10px 5px; display: flex; align-items: center; flex-wrap: wrap; text-align: center;}
.cmHeadSolution-box li {width: calc(50% - 10px); padding: 10px 0; border-radius: 10px; margin: 0 5px; -webkit-transition:all 300ms; transition:all 300ms; cursor: pointer; position: relative;}
.cmHeadSolution-box li:hover {background: var(--gray-200);}
.cmHeadSolution-box img {width: 40px; height: auto;}
.cmHeadSolution-box span {display: block; font-size: 14px; margin-top: 10px;}

.cmHeadSolution-box li.unable {cursor: default;}
.cmHeadSolution-box li.unable:hover {background: none;}
.cmHeadSolution-box li.unable:after {content:'준비중'; display:flex; align-items: center; justify-content: center; position: absolute; top:0; left:0; width: 100%; height: 100%; border-radius: 10px; font-size: 16px; color: #fff; background: rgba(0,0,0,.5) url("/img/2024/icon_wait.png") no-repeat top 18px center; padding-top: 40px;}

/* head :: mobile navigation */
.cmHead-nav {position: absolute; top:0; right: 0;}
.cmHead-nav input {display: none;}

.cmHead-nav .navOpen {width: 100px; height: 79px; background-color: rgba(255,255,255,.8); border-left: 1px solid var(--gray-400); display: flex; align-items: center; justify-content: center; cursor: pointer;}
.cmHead-nav .open {background: var(--gradient1); width: 28px; height: 4px; display: block; border-radius: 2px; cursor: pointer; position: relative;}
.cmHead-nav .open:before {content: ""; background: var(--gradient1); width: 28px; height: 4px; display: block; border-radius: 2px; position: relative; top: -9px; transform: rotate(0deg); transition: all 0.3s ease;}
.cmHead-nav .open:after {content: ""; background: var(--gradient1); width: 28px; height: 4px; display: block; border-radius: 2px; position: relative; top: 5px; transform: rotate(0deg); transition: all 0.3s ease;}

.cmHead-nav .nav {position: fixed; width: 100vw; height: 100vh; top: 0; left: 0; background: rgba(0, 0, 0, .9);}
.cmHead-nav .nav .navContent {width: 100%; height: 100%; font-size: 48px; text-align: center; display: flex; align-items: center; justify-content: center;}
.cmHead-nav .nav ul {}
.cmHead-nav .nav ul li {margin-top: 50px;}
.cmHead-nav .nav ul li:first-child {margin-top: 0;}
.cmHead-nav .nav ul li a {display: inline-block; color: #fff; transition: all 0.8s; text-transform: uppercase; position: relative;}
.cmHead-nav .nav ul li a:after {transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.8s cubic-bezier(0.19, 1, 0.22, 1);
								position: absolute; bottom: -10px; left: 0; width: 100%; height: 2px; background-color: var(--main1); content: '';
								-webkit-transform: scaleX(0); -ms-transform: scaleX(0); transform: scaleX(0); transform-origin: bottom right;}
.cmHead-nav .nav ul li a:hover {color: var(--main1); transition: all 0.8s;}
.cmHead-nav .nav ul li a:hover:after {-webkit-transform-origin: bottom left; -ms-transform-origin: bottom left; transform-origin: bottom left; transform: scaleX(1);}

.cmHead-nav .nav ul li.active a {color: var(--main1);}
.cmHead-nav .nav ul li.active a:after {-webkit-transform-origin: bottom left; -ms-transform-origin: bottom left; transform-origin: bottom left; transform: scaleX(1);}

.cmHead-nav .navEffect {opacity: 0; visibility: hidden; transition: opacity 0.5s, visibility 0.5s;}
.cmHead-nav .navEffect ul {transform: translateY(0%); transition: all 0.5s;}

#navTgl:checked ~ .navEffect {opacity: 1; visibility: visible; transition: opacity 0.5s;}
#navTgl:checked ~ .navEffect ul {opacity: 1;}
#navTgl:checked ~ .navOpen {position: relative; z-index: 1; background-color: transparent; border-left: none;}
#navTgl:checked ~ .navOpen .open {background: none;}
#navTgl:checked ~ .navOpen .open:before {content: ""; background: #fff; transform: rotate(45deg); position: absolute; top: 0; right: 0; z-index: 1;}
#navTgl:checked ~ .navOpen .open:after {content: ""; background: #fff; transform: rotate(-45deg); position: relative; top: 0; right: 0; z-index: 1;}
#navTgl:not(:checked) ~ .navEffect ul {transform: translateY(-30%);}




/* side */
.cmSide {position: fixed; top: 80px; bottom: 0; right: 0; z-index: 10; width: 100px; border-left: 1px solid var(--gray-400); display: flex; align-items: center; justify-content: flex-end; flex-direction: column;}

.cmSide-contact {background-image: var(--gradient1); padding: 20px 10px; border-radius: 60px; color: #fff; font-weight: 300; text-align: center; margin: 20px 0; box-shadow: 0px 0px 7px var(--gray-500);}
.cmSideContact-board {padding: 0 0 15px; cursor: pointer;}
.cmSideContact-board .icon img {width: 30px; height: auto;}
.cmSideContact-board .text {margin-top: 3px;}
.cmSideContact-num {border-top: 1px solid #fff;}
.cmSideContact-num .text {padding: 15px 0 0; line-height: 1.4;}

.cmSide-scroll {width: 99px; height: 80px; border-top: 1px solid var(--gray-400); display: flex; align-items: center; justify-content: center; flex-direction: column; cursor: pointer; background: rgba(255,255,255,.8);}
.cmSide-scroll:hover {background-color: rgba(255,255,255,.8); transition: .3s;}
.cmSide-scroll .icon img {width: auto; height: 30px;}
.cmSide-scroll .text {text-transform: uppercase; margin-top: 7px; font-size: 11px;}



/* section :: touch */
.cmTouch {padding: 100px 0;}
.cmTouch-cont {}

.cmTouch-img {width: 50%; margin-top: 50px;}
.cmTouch-img img {width: 100%; height: auto;}

.cmTouch-list {width: 50%; margin-top: -50px; margin-left: 50px;}
.cmTouchList-item {display: flex; align-items: flex-start; margin-top: 50px;}
.cmTouchList-item:first-child {margin-top: 0;}
.cmTouchList-item .icon {margin-right: 30px; margin-top: 8px; flex-shrink: 0;}
.cmTouchList-item .icon img {width: 42px; height: auto;;}
.cmTouchList-item .text  {font-size: 17px; line-height: 1.6; flex-grow: 1;}
.cmTouchList-item .text .colorGray {color: var(--gray-600); margin-bottom: 5px; font-size: 14px; font-weight: 600;}

.cmTouchList-item .map-shortcut {margin-top: 10px;}
.cmTouchList-item .map-shortcut .btn.border {padding: 10px 26px; font-size: 14px; margin-right: 10px;}

.cmTouchList-item:last-child .icon {margin-top: 0;}
.cmTouchList-item .kakao-wrap {display: flex; align-items: center; cursor: pointer;}
.cmTouchList-item .kakao-box {position: relative; margin-right: 30px; background: var(--gray-100); box-shadow: 1px 1px 2px rgba(52,52,52,.25); padding: 5px 10px 5px 20px; border-radius: 30px; display: flex; align-items: center; justify-content: space-between; flex-grow: .5;}
.cmTouchList-item .kakao-box i {color: #3b2822; font-size: 20px;}
.cmTouchList-item .kakao-box:hover {background: #3b2822; color: #fff; transition: .3s;}
.cmTouchList-item .kakao-box:hover i {color: #fff; transition: .3s;}
.cmTouchList-item .kakao-qr img {width: 44px; height: auto;}

.kakao-box .tooltip {position: absolute; bottom: -20px; font-size: 12px; padding: 8px 10px; opacity: 0; pointer-events: none; border-radius: 4px; font-weight: bold; width: max-content; text-align: center; color: #3b2822; background: #ffdc00;
								transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55); -webkit-transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55); -moz-transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55); -ms-transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55); -o-transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);}
.kakao-box .tooltip::before {content: ""; position: absolute; height: 8px; width: 8px; background: #ffdc00; top: 0;  left: 30px; margin-top: -4px;
																	transform: translate(-50%) rotate(45deg); transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
																	-webkit-transform: translate(-50%) rotate(45deg);
																	-moz-transform: translate(-50%) rotate(45deg);
																	-ms-transform: translate(-50%) rotate(45deg);
																	-o-transform: translate(-50%) rotate(45deg);
																	-webkit-transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
																	-moz-transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
																	-ms-transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
																	-o-transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);}
.kakao-box:hover .tooltip {bottom: -50px; opacity: 1; visibility: visible; pointer-events: auto;}



/* section :: foot */
.cmFoot {border-top: 1px solid var(--gray-400); background: var(--gray-100);}
.cmFoot-cont {padding-top: 0 !important;}

.cmFoot-menu {display: flex; align-items: center; border-bottom: 1px solid var(--gray-300);}
.cmFootMenu-item {padding: 20px 30px; font-size: 15px; position: relative; cursor: pointer;}
.cmFootMenu-item:before {content: ''; width: 1px; height: 16px; position: absolute; top: 50%; margin-top: -8px; left: 0; background: var(--gray-300);}
.cmFootMenu-item:first-child {padding-left: 0;}
.cmFootMenu-item:first-child:before {display: none;}

.cmFoot-panel {padding: 40px 0 60px; display: flex; align-items: flex-end; justify-content: space-between;}
.cmFootPanel-left {}
.cmFootPanel-right {text-align: right;}

.cmFootPanel-row {display: flex; margin-top: 10px;}
.cmFootPanel-row:first-child {margin-bottom: 40px; margin-top: 0;}
.cmFootPanel-col {position: relative; padding: 0 20px;}
.cmFootPanel-col:before {content: ''; width: 1px; height: 12px; position: absolute; top: 50%; margin-top: -5px; left: 0; background: var(--gray-400);}
.cmFootPanel-col:first-child {padding-left: 0;}
.cmFootPanel-col:first-child:before {display: none;}

.cmFootPanel-logo img {width: auto; height: 38px;}
.cmFootPanel-copy {margin-top: 10px;}
.cmFootPanel-copy br {display: none;}

.cmFootPanel-scroll {display: none;}
.cmFootPanel-scroll > div {cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 15px 0; border-top: 1px solid var(--gray-400);  background: #fff;}
.cmFootPanel-scroll .icon {margin-right: 5px;}
.cmFootPanel-scroll img  {width: 16px; height: auto;}
.cmFootPanel-scroll .text {text-transform: uppercase;}




/* 배경 어두울때 head/side style */
.darkSt .cmHead {border-bottom-color: rgba(255,255,255,.3);}
.darkSt .cmHead-menu {color: #fff;}
.darkSt .cmHeadMenu-item:after {background-color: var(--main3);}
.darkSt .cmHeadMenu-item:hover,
.darkSt .cmHeadMenu-item.active {color: var(--main3);}
/* .darkSt .cmHeadMenu-item:last-child {color: var(--main3);} */

.darkSt .cmHead-nav .navOpen {border-left-color: rgba(255,255,255,.3);}

.darkSt .cmSide {border-left-color: rgba(255,255,255,.3);}




.lightSt .cmHead {background: #fff; transition: all 300ms ease-in-out;}







/* ---------------------------------------
:: only mobile style
--------------------------------------- */

/* 모바일 float menu */
.mobile-floatQuick {display: none; background: #fff; border-top: 1px solid #dfe1ef; position: fixed; left: 0; right: 0; bottom: 0; padding: 15px 0; z-index: 100; min-height: 76px;}
.mobile-floatQuick ul {display: flex; justify-content: space-around;}
.mobile-floatQuick li {text-align: center; cursor: pointer;}
.mobile-floatQuick i,
.mobile-floatQuick span {display: block;}
.mobile-floatQuick i {font-size: 18px; color: #7b6fb1;}
.mobile-floatQuick img {width: auto; height: 18px;}
.mobile-floatQuick span {margin-top: 10px; font-size: 14px; font-weight: 500;}


