goiintra/public_html/assets/css/main.css

2556 lines
46 KiB
CSS

/* Fonts */
:root {
--font-default: Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
/* Colors */
:root {
--color-default: #212529;
--color-primary: #2A9B56;
--color-sub:#77B469;
--color-hover: #3fb36c;
--color-secondary: #37373f;
--color-orange: #FF8205;
--color-orange-hover: #f6983b;
--color-gray: #7B7A7A;
--color-white: #ffffff;
--color-request: #FFEEDD;
--color-period: #FFFDD5;
--color-will-call: #EAFBE6;
--color-request-hover: #FFD9B3;
--color-period-hover: #FFFBB0;
--color-will-call-hover: #D8FFCA;
--color-period-reg: #DBE3F7;
--color-period-reg-hover: #EEF1FB;
}
::-webkit-input-placeholder { /* WebKit, Blink, Edge */
color: #FFD7D7;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
color: #FFD7D7;
opacity: 1;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
color: #FFD7D7;
opacity: 1;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
color: #FFD7D7;
}
::-ms-input-placeholder { /* Microsoft Edge */
color: #FFD7D7;
}
::placeholder { /* Most modern browsers support this now. */
color: #FFD7D7;
}
/* Smooth scroll behavior */
:root {
scroll-behavior: smooth;
}
/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
#map {
margin-top: 25px;
height: 100%;
}
body {
font-family: var(--font-default);
color: var(--color-default);
/*overflow-y: hidden;*/
}
a {
color: var(--color-primary);
text-decoration: none;
}
a:hover {
color: #77B469;
text-decoration: none;
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-family: var(--font-secondary);
}
/*--------------------------------------------------------------
# Sections & Section Header
--------------------------------------------------------------*/
.item-inner{
margin: 0 auto;
/*margin:15px auto;*/
}
.col-float-right{
float: right;
}
section {
overflow: hidden;
padding: 80px 0;
}
.section-bg {
background-image:url("../../assets/img/login-image-1770.jpg");
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
}
.section-header {
text-align: center;
padding-bottom: 30px;
}
.section-header h2 {
font-size: 35px;
letter-spacing: 1px;
font-weight: 600;
margin: 0;
padding: 0;
color: var(--color-primary);
text-transform: uppercase;
font-family: var(--font-default);
}
.section-header p {
margin: 0;
font-size: 22px;
font-weight: 400;
font-family: var(--font-primary);
}
.section-header p span {
color: var(--color-primary);
}
.btn-primary{
font-weight: 500;
font-size: 20px;
letter-spacing: 1px;
padding: 10px 36px;
border-radius: 5px;
transition: 0.5s;
color: #fff;
background: var(--color-primary);
border: 1px solid var(--color-primary);
width: 100%;
display: block;
}
.btn-primary:hover {
background: var(--color-hover);
color: var(--color-white);
}
.btn-sub{
font-weight: 500;
font-size: 20px;
letter-spacing: 1px;
padding: 10px 36px;
border-radius: 5px;
transition: 0.5s;
color: #fff;
background: var(--color-sub);
border: 1px solid var(--color-sub);
width: 100%;
display: block;
}
.btn-sub:hover {
background: #90cd82;
color: var(--color-white);
}
.btn-sub-white{
font-weight: 500;
font-size: 20px;
letter-spacing: 1px;
padding: 10px 36px;
border-radius: 5px;
transition: 0.5s;
color: var(--color-sub);
background: var(--color-white);
border: 1px solid var(--color-sub);
width: 100%;
display: block;
}
.btn-sub-white:hover {
color: var(--color-primary);
background: #f3f3f3;
border: 1px solid var(--color-[--font-primary]);
}
.btn-orange{
font-weight: 500;
font-size: 20px;
letter-spacing: 1px;
padding: 10px 0px;
border-radius: 5px;
transition: 0.5s;
background-color: var(--color-orange);
color: var(--color-white);
border: 1px solid var(--color-orange);
width: 100%;
display: block;
text-align: center;
}
.btn-orange:hover {
background: var(--color-orange-hover);
color: var(--color-white);
}
.btn-blue{
font-weight: 500;
font-size: 20px;
letter-spacing: 1px;
padding: 10px 0px;
border-radius: 5px;
transition: 0.5s;
background-color: #56c3e8;
color: var(--color-white);
border:1px solid #56c3e8;
width: 100%;
display: block;
text-align: center;
}
.btn-blue:hover {
background-color: #71d5f7;
color: var(--color-white);
}
.btn-blue-sub{
font-weight: 500;
font-size: 20px;
letter-spacing: 1px;
padding: 10px 10px;
border-radius: 5px;
transition: 0.5s;
background-color: #56c3e8;
color: var(--color-white);
border:1px solid #56c3e8;
width: 100%;
display: block;
text-align: center;
}
.btn-blue-sub:hover {
background-color: #71d5f7;
color: var(--color-white);
}
.btn-yellow-sub {
font-weight: 500;
font-size: 20px;
letter-spacing: 1px;
padding: 10px 10px;
border-radius: 5px;
transition: 0.5s;
background-color: #f39c12;
color: #ffffff;
border: 1px solid #f39c12;
width: 100%;
display: block;
text-align: center;
cursor: pointer;
}
.btn-yellow-sub:hover {
background-color: #fbc02d; /* 마우스 올렸을 때 살짝 더 밝은 노란색 */
color: #ffffff;
border: 1px solid #fbc02d;
}
.btn-gray{
font-weight: 500;
font-size: 20px;
letter-spacing: 1px;
padding: 10px 0px;
border-radius: 5px;
transition: 0.5s;
background-color: #a5a5a5;
color: var(--color-white);
border: 1px solid #a5a5a5;
width: 100%;
display: block;
text-align: center;
}
.btn-gray:hover {
background-color: #c2c2c2;
color: var(--color-white);
}
.btn-add{
font-weight: 500;
font-size: 20px;
letter-spacing: 1px;
padding: 5px 0px;
border-radius: 5px;
transition: 0.5s;
background-color: var(--color-orange);
color: var(--color-white);
border: none;
width: 100%;
max-width: 200px;
display: block;
text-align: center;
}
.btn-add:hover {
background: var(--color-orange-hover);
color: var(--color-white);
}
.txt-user{
color: var(--color-default);
}
.txt-user{
margin-right:15px;
}
@media (max-width: 1279px) {
a.txt-user {
display: block;
position: absolute;
cursor: pointer;
line-height: 0;
transition: 0.5s;
z-index: 9980;
margin: 0 10px 0 20px;
right: 66px;
}
}
.txt-user-name{
color: var(--color-primary);
}
.section-inner{
padding: 25px 0px;
}
.robot-wrap{
background-color: #F5F5F5;
border: 1px solid #BCBBBB;
padding: 20px 10px;
border-radius: 5px;
margin-bottom: 20px;
}
/*--------------------------------------------------------------
# Breadcrumbs
--------------------------------------------------------------*/
.breadcrumbs {
padding: 15px 0;
margin-top: 40px;
}
@media (max-width: 575px) {
.breadcrumbs {
margin-top: 40px;
}
}
.breadcrumbs h2 {
font-size: 24px;
font-weight: 400;
margin: 0;
}
.breadcrumbs ol {
display: flex;
flex-wrap: wrap;
list-style: none;
padding: 0;
margin: 0;
font-size: 14px;
}
.breadcrumbs ol li+li {
padding-left: 10px;
}
.breadcrumbs ol li+li::before {
display: inline-block;
padding-right: 10px;
color: #676775;
content: "/";
}
@media (max-width: 992px) {
.breadcrumbs .d-flex {
display: block !important;
}
.breadcrumbs h2 {
margin-bottom: 10px;
}
.breadcrumbs ol {
display: block;
}
.breadcrumbs ol li {
display: inline-block;
}
}
/*--------------------------------------------------------------
# Scroll top button
--------------------------------------------------------------*/
.scroll-top {
position: fixed;
visibility: hidden;
opacity: 0;
right: 15px;
bottom: 15px;
z-index: 99999;
background: var(--color-primary);
width: 44px;
height: 44px;
border-radius: 50px;
transition: all 0.4s;
}
.scroll-top i {
font-size: 24px;
color: #fff;
line-height: 0;
}
.scroll-top:hover {
background: var(color-hover);
color: #fff;
}
/*
.scroll-top:hover {
background: #ec2727;
color: #fff;
}
*/
.scroll-top.active {
visibility: visible;
opacity: 1;
}
/*--------------------------------------------------------------
# Preloader
--------------------------------------------------------------*/
#preloader {
position: fixed;
inset: 0;
z-index: 9999;
overflow: hidden;
background: #fff;
transition: all 0.6s ease-out;
width: 100%;
height: 100vh;
}
#preloader:before,
#preloader:after {
content: "";
position: absolute;
border: 4px solid var(--color-primary);
border-radius: 50%;
-webkit-animation: animate-preloader 2s cubic-bezier(0, 0.2, 0.8, 1) infinite;
animation: animate-preloader 2s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}
#preloader:after {
-webkit-animation-delay: -0.5s;
animation-delay: -0.5s;
}
@-webkit-keyframes animate-preloader {
0% {
width: 10px;
height: 10px;
top: calc(50% - 5px);
left: calc(50% - 5px);
opacity: 1;
}
100% {
width: 72px;
height: 72px;
top: calc(50% - 36px);
left: calc(50% - 36px);
opacity: 0;
}
}
@keyframes animate-preloader {
0% {
width: 10px;
height: 10px;
top: calc(50% - 5px);
left: calc(50% - 5px);
opacity: 1;
}
100% {
width: 72px;
height: 72px;
top: calc(50% - 36px);
left: calc(50% - 36px);
opacity: 0;
}
}
/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
.header {
background: #fff;
transition: all 0.5s;
z-index: 997;
height: 60px;
border-bottom: 1px solid #fff;
}
@media (max-width: 575px) {
.header {
height: 60px;
}
}
.header.sticked {
border-color: #fff;
border-color: #eee;
}
.header .logo img {
max-height: 60px;
margin-right: 6px;
}
.header .logo h1 {
font-size: 28px;
font-weight: 700;
color: #000;
margin: 0;
font-family: var(--font-secondary);
}
.header .logo h1 span {
color: var(--color-primary);
}
section {
scroll-margin-top: 90px;
}
/*--------------------------------------------------------------
# Desktop Navigation
--------------------------------------------------------------*/
@media (min-width: 1280px) {
.navbar {
padding: 0;
}
.navbar ul {
margin: 0;
padding: 0;
display: flex;
list-style: none;
align-items: center;
}
.navbar li {
position: relative;
}
.navbar>ul>li {
white-space: nowrap;
padding: 10px;
color: var(--color-primary);
}
.navbar a,
.navbar a:focus {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 3px;
font-family: var(--font-secondary);
font-size: 16px;
font-weight: 400;
color: #000000;
white-space: nowrap;
position: relative;
}
.navbar a i,
.navbar a:focus i {
font-size: 12px;
line-height: 0;
margin-left: 5px;
}
.navbar>ul>li>a:before {
content: "";
position: absolute;
width: 100%;
height: 2px;
bottom: -6px;
left: 0;
background-color: var(--color-primary);
visibility: hidden;
transition: 0.1s;
width: 0px;
}
.navbar a:hover:before,
.navbar li:hover>a:before,
.navbar .active:before {
visibility: visible;
width: 100%;
}
.navbar a:hover{
color: var(--color-primary);
transition: 0.1s;
}
.navbar a:hover,
.navbar .active,
.navbar .active:focus,
.navbar li:hover>a {
color: var(--color-primary);
transition: 0.1s;
}
.navbar .dropdown ul {
display: block;
position: absolute;
left: 28px;
top: calc(100% + 30px);
margin: 0;
padding: 0;
z-index: 99;
opacity: 0;
visibility: hidden;
background: #fff;
box-shadow: 0px 0px 30px rgba(127, 137, 161, 0.25);
border-radius: 4px;
}
.navbar .dropdown ul li {
min-width: 200px;
}
.navbar .dropdown ul a {
padding: 10px 20px;
font-size: 15px;
text-transform: none;
font-weight: 400;
}
.navbar .dropdown ul a i {
font-size: 12px;
}
.navbar .dropdown ul a:hover,
.navbar .dropdown ul .active:hover,
.navbar .dropdown ul li:hover>a {
background-color: var(--color-primary);
color: var(--color-white);
}
.navbar .dropdown:hover>ul {
opacity: 1;
top: 100%;
visibility: visible;
}
.navbar .dropdown .dropdown ul {
top: 0;
left: calc(100% - 30px);
visibility: hidden;
}
.navbar .dropdown .dropdown:hover>ul {
opacity: 1;
top: 0;
left: 100%;
visibility: visible;
}
}
@media (min-width: 1280px) and (max-width: 1366px) {
.navbar .dropdown .dropdown ul {
left: -90%;
}
.navbar .dropdown .dropdown:hover>ul {
left: -100%;
}
}
@media (min-width: 1280px) {
.mobile-nav-show,
.mobile-nav-hide {
display: none;
}
}
/*--------------------------------------------------------------
# Mobile Navigation
--------------------------------------------------------------*/
@media (max-width: 1279px) {
.navbar {
position: fixed;
top: 0;
right: -100%;
width: 100%;
max-width: 400px;
border-left: 1px solid #666;
bottom: 0;
transition: 0.3s;
z-index: 9997;
}
.navbar ul {
position: absolute;
inset: 0;
padding: 50px 0 10px 0;
margin: 0;
background: rgba(255, 255, 255, 0.9);
overflow-y: auto;
transition: 0.3s;
z-index: 9998;
}
.navbar a,
.navbar a:focus {
display: flex;
align-items: center;
justify-content: space-between;
padding: 10px 20px;
font-family: var(--font-secondary);
font-size: 16px;
font-weight: 600;
color: #7f7f90;
white-space: nowrap;
transition: 0.3s;
}
.navbar a i,
.navbar a:focus i {
font-size: 12px;
line-height: 0;
margin-left: 5px;
}
.navbar a:hover,
.navbar li:hover>a {
color: var(--color-white);
background-color: var(--color-primary);
}
.navbar .active,
.navbar .active:focus {
color: var(--color-white);
background-color: var(--color-primary);
transition: 0.1s;
}
.navbar .dropdown ul,
.navbar .dropdown .dropdown ul {
position: static;
display: none;
padding: 0;
margin: 0px 0px;
transition: all 0.5s ease-in-out;
border: 0px;
background-color: #f9f9f9;
}
.navbar .dropdown>.dropdown-active,
.navbar .dropdown .dropdown>.dropdown-active {
display: block;
}
.mobile-nav-show {
color: var(--color-secondary);
font-size: 28px;
cursor: pointer;
line-height: 0;
transition: 0.5s;
z-index: 9999;
margin: 0 10px 0 20px;
}
.mobile-nav-hide {
color: var(--color-secondary);
font-size: 32px;
cursor: pointer;
line-height: 0;
transition: 0.5s;
position: fixed;
right: 20px;
top: 20px;
z-index: 9999;
}
.mobile-nav-active {
overflow: hidden;
}
.mobile-nav-active .navbar {
right: 0;
}
.mobile-nav-active .navbar:before {
content: "";
position: fixed;
inset: 0;
background: rgba(255, 255, 255, 0.8);
z-index: 9996;
}
}
/*--------------------------------------------------------------
# Main Section
--------------------------------------------------------------*/
.main{
background-color: #F7F9FE;
padding: 25px 25px 100px 25px;
}
.page{
margin: 20px auto;
padding: 15px 15px;
background-color: #fff;
box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
border-radius: 15px;
}
/*--------------------------------------------------------------
# About Section
--------------------------------------------------------------*/
.about .about-img {
min-height: 500px;
}
.about h3 {
font-weight: 700;
font-size: 36px;
margin-bottom: 30px;
font-family: var(--font-secondary);
}
.about .call-us {
left: 10%;
right: 10%;
bottom: 10%;
background-color: #fff;
box-shadow: 0px 2px 25px rgba(0, 0, 0, 0.08);
padding: 20px;
text-align: center;
}
.about .call-us h4 {
font-size: 24px;
font-weight: 700;
margin-bottom: 5px;
font-family: var(--font-default);
}
.about .call-us p {
font-size: 28px;
font-weight: 700;
color: var(--color-primary);
}
.about .content ul {
list-style: none;
padding: 0;
}
.about .content ul li {
padding: 0 0 8px 26px;
position: relative;
}
.about .content ul i {
position: absolute;
font-size: 20px;
left: 0;
top: -3px;
color: var(--color-primary);
}
.about .content p:last-child {
margin-bottom: 0;
}
.about .play-btn {
width: 94px;
height: 94px;
background: radial-gradient(var(--color-primary) 50%, rgba(206, 18, 18, 0.4) 52%);
border-radius: 50%;
display: block;
position: absolute;
left: calc(50% - 47px);
top: calc(50% - 47px);
overflow: hidden;
}
.about .play-btn:before {
content: "";
position: absolute;
width: 120px;
height: 120px;
-webkit-animation-delay: 0s;
animation-delay: 0s;
-webkit-animation: pulsate-btn 2s;
animation: pulsate-btn 2s;
-webkit-animation-direction: forwards;
animation-direction: forwards;
-webkit-animation-iteration-count: infinite;
animation-iteration-count: infinite;
-webkit-animation-timing-function: steps;
animation-timing-function: steps;
opacity: 1;
border-radius: 50%;
border: 5px solid rgba(206, 18, 18, 0.7);
top: -15%;
left: -15%;
background: rgba(198, 16, 0, 0);
}
.about .play-btn:after {
content: "";
position: absolute;
left: 50%;
top: 50%;
transform: translateX(-40%) translateY(-50%);
width: 0;
height: 0;
border-top: 10px solid transparent;
border-bottom: 10px solid transparent;
border-left: 15px solid #fff;
z-index: 100;
transition: all 400ms cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.about .play-btn:hover:before {
content: "";
position: absolute;
left: 50%;
top: 50%;
transform: translateX(-40%) translateY(-50%);
width: 0;
height: 0;
border: none;
border-top: 10px solid transparent;
border-bottom: 10px solid transparent;
border-left: 15px solid #fff;
z-index: 200;
-webkit-animation: none;
animation: none;
border-radius: 0;
}
.about .play-btn:hover:after {
border-left: 15px solid var(--color-primary);
transform: scale(20);
}
@-webkit-keyframes pulsate-btn {
0% {
transform: scale(0.6, 0.6);
opacity: 1;
}
100% {
transform: scale(1, 1);
opacity: 0;
}
}
@keyframes pulsate-btn {
0% {
transform: scale(0.6, 0.6);
opacity: 1;
}
100% {
transform: scale(1, 1);
opacity: 0;
}
}
/*--------------------------------------------------------------
# Menu Section
--------------------------------------------------------------*/
.menu .nav-tabs {
border: 0;
}
.menu .nav-link {
margin: 0 10px;
padding: 10px 5px;
transition: 0.3s;
color: var(--color-secondary);
border-radius: 0;
cursor: pointer;
height: 100%;
border: 0;
border-bottom: 2px solid #b6b6bf;
}
@media (max-width: 575px) {
.menu .nav-link {
margin: 0 10px;
padding: 10px 0;
}
}
.menu .nav-link i {
padding-right: 15px;
font-size: 48px;
}
.menu .nav-link h4 {
font-size: 18px;
font-weight: 400;
margin: 0;
font-family: var(--font-secondary);
}
@media (max-width: 575px) {
.menu .nav-link h4 {
font-size: 16px;
}
}
.menu .nav-link:hover {
color: var(--color-primary);
}
.menu .nav-link.active {
color: var(--color-primary);
border-color: var(--color-primary);
}
.menu .tab-content .tab-header {
padding: 30px 0;
}
.menu .tab-content .tab-header p {
font-size: 14px;
text-transform: uppercase;
color: #676775;
margin-bottom: 0;
}
.menu .tab-content .tab-header h3 {
font-size: 36px;
font-weight: 600;
color: var(--color-primary);
}
.menu .tab-content .menu-item {
-moz-text-align-last: center;
text-align-last: center;
}
.menu .tab-content .menu-item .menu-img {
padding: 0 60px;
margin-bottom: 15px;
}
.menu .tab-content .menu-item h4 {
font-size: 22px;
font-weight: 500;
color: var(--color-secondary);
font-family: var(--font-secondary);
font-weight: 30px;
margin-bottom: 5px;
}
.menu .tab-content .menu-item .ingredients {
font-family: var(--font-secondary);
color: #8d8d9b;
margin-bottom: 5px;
}
.menu .tab-content .menu-item .price {
font-size: 24px;
font-weight: 700;
color: var(--color-primary);
}
/*--------------------------------------------------------------
# Login Page Section
--------------------------------------------------------------*/
.form-login{
max-width: 559px;
margin: 0 auto;
padding: 15px;
}
.form-control{
width: 100%;
margin-bottom: 20px;
padding: 0.85rem 0.75rem;
}
/*--------------------------------------------------------------
# Hero Section
--------------------------------------------------------------*/
.hero {
width: 100%;
background-size: cover;
position: relative;
min-height: 60vh;
padding: 160px 0 60px 0;
}
.hero h2 {
font-size: 64px;
font-weight: 700;
margin-bottom: 20px;
color: var(--color-white);
font-family: var(--font-primary);
text-align: center;
}
.hero p {
color: #ffffff;
font-weight: 500;
margin-bottom: 25px;
text-align: center;
font-size: 25px;
text-shadow: rgb(25, 81, 34) 1px 0 10px;
}
.hero .btn-primary{
font-weight: 500;
font-size: 14px;
letter-spacing: 1px;
display: inline-block;
padding: 12px 36px;
border-radius: 50px;
transition: 0.5s;
color: #fff;
background: var(--color-primary);
box-shadow: 0 8px 28px rgba(206, 18, 18, 0.2);
}
.hero .btn-primary:hover {
background: rgba(206, 18, 18, 0.8);
box-shadow: 0 8px 28px rgba(206, 18, 18, 0.45);
}
.hero .btn-watch-video {
font-size: 16px;
transition: 0.5s;
margin-left: 25px;
color: var(--font-secondary);
font-weight: 600;
}
.hero .btn-watch-video i {
color: var(--color-primary);
font-size: 32px;
transition: 0.3s;
line-height: 0;
margin-right: 8px;
}
.hero .btn-watch-video:hover {
color: var(--color-primary);
}
.hero .btn-watch-video:hover i {
color: rgba(206, 18, 18, 0.8);
}
@media (max-width: 640px) {
.hero h2 {
font-size: 36px;
}
.hero .btn-get-started,
.hero .btn-watch-video {
font-size: 14px;
}
.hero p {
font-size: 20px;
}
}
/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.footer {
font-size: 14px;
background-color: #77B469;
padding: 25px 0;
color: #fff;
}
.footer .icon {
margin-right: 15px;
font-size: 24px;
line-height: 0;
}
.footer h4 {
font-size: 16px;
font-weight: bold;
position: relative;
padding-bottom: 5px;
color: #fff;
}
.footer .footer-links ul {
list-style: none;
padding: 0;
margin: 0;
}
.footer .footer-links ul li {
padding: 10px 0;
display: flex;
align-items: center;
}
.footer .footer-links ul li:first-child {
padding-top: 0;
}
.footer .footer-links ul a {
color: rgba(255, 255, 255, 0.6);
transition: 0.3s;
display: inline-block;
line-height: 1;
}
.footer .footer-links ul a:hover {
color: #fff;
}
.footer .social-links a {
display: flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
border-radius: 50%;
border: 1px solid rgba(255, 255, 255, 0.2);
font-size: 16px;
color: rgba(255, 255, 255, 0.7);
margin-right: 10px;
transition: 0.3s;
}
.footer .social-links a:hover {
color: #fff;
border-color: #fff;
}
.footer .copyright {
text-align: center;
}
.footer .credits {
padding-top: 4px;
text-align: center;
font-size: 13px;
}
.footer .credits a {
color: #fff;
}
/*--------------------------------------------------------------
# Modal
--------------------------------------------------------------*/
.modal-header{
background-color: var(--color-primary);
color: var(--color-white);
padding: 5px 10px;
}
#error-modal .modal-header{
background-color: var(--color-orange);
color: var(--color-white);
padding: 5px 10px;
}
#warning-modal .modal-header{
background-color: #e8d631;
color: var(--color-white);
padding: 5px 10px;
}
.modal-header i.bi.bi-x{
font-size: 30px;
}
.add-note-modal{
z-index: 99999;
}
.modal.show .modal-dialog {
margin-top: 70px;
}
nav#navbar {
width: 70%;
}
a.txt-logout{
background-color: var(--color-sub);
color: #fff;
padding: 10px 25px !important;
display: block;
border-radius: 30px;
cursor: pointer;
margin-right:15px;
}
a.txt-logout:hover{
background-color: var(--color-primary);
color: #fff;
}
@media (max-width: 1279px) {
a.txt-logout {
display: block;
position: absolute;
cursor: pointer;
transition: 0.5s;
z-index: 9980;
margin-right:10px;
right: 66px;
}
a.txt-user {
display: block;
position: absolute;
cursor: pointer;
transition: 0.5s;
z-index: 9980;
margin-right:25px;
right:166px;
}
}
/*New*/
/*--------------------------------------------------------------
# Configuration Search
--------------------------------------------------------------*/
.form-config-search table.td-search {
width: 100%;
}
.form-config-search table.td-search td{
padding: 10px 0px;
border: 1px solid #eee;
width: 25%;
}
.form-config-search table.td-search tr:last-child td{
border: 0px;
}
.form-config-search table.td-search .td-title{
min-width: 100px;
}
.form-config-search input[type='checkbox']{
width: fit-content;
}
.form-config-search .container-chk {
margin-right: 10px;
margin-left: 10px;
}
/*--------------------------------------------------------------
# Configuration Configuration
--------------------------------------------------------------*/
.form-config-number-search table.td-search {
width: 60%;
}
.form-config-number-search table.td-search td{
padding: 10px 10px;
width: 50%;
}
.form-config-number-search table.td-search .td-title{
min-width: 100px;
}
.form-config-number-search input[type='checkbox']{
width: fit-content;
}
.form-config-number-search .container-chk {
margin-right: 10px;
margin-left: 10px;
}
.config-icon-box{
padding-right:10px;
}
.config-icon-box i{
color: var(--color-gray);
}
table.table-search-report .custom-select {
border: 1px solid #b5b5b5;
border-radius: 3px;
padding: 5px 10px;
width: 100%;
height: 42px;
}
table.table-search-report input{
border: 1px solid #b5b5b5;
border-radius: 3px;
padding: 5px 10px;
}
.btn-search{
height: 42px;
padding: 0px 11px!important;
font-weight: 500;
font-size: 20px;
letter-spacing: 1px;
border-radius: 5px;
transition: 0.5s;
color: #fff;
background: var(--color-primary);
border: 1px solid var(--color-primary);
width: 100%;
display: block;
}
.btn-search:hover{
background: var(--color-sub);
border: 1px solid var(--color-sub);
color:#fff
}
table.table-search-report{
width: 100;
margin-bottom: 20px;
}
table.table-search-report .tb-list th {
background-color: var(--color-primary);
color: var(--color-white);
}
.tb-report td {
border: 1px solid #CECECE;
}
.report-wrap .tb-list tr:hover{
background-color: #fff !important;
}
.tr-list-months th{
font-size: 16px;
}
.tr-list-months th, .tr-list-months td{
text-align: center;
}
.yearly td{
font-size: 10px;
padding: 4px !important;
}
.td-50{
width: 50px;
}
.td-80{
width: 80px;
}
.td-140{
width: 140px;
}
.grid-layout-graph-col-2 {
max-width: 100%;
margin: 0 auto;
display: grid;
gap: .5rem;
}
@media (min-width: 600px) {
.grid-layout-graph-col-2 { grid-template-columns: repeat(1, 1fr); }
}
.border-graph{
border: 1px solid #CECECE;
width: 100%;
/*height: 600px;*/
margin-bottom: 10px;
text-align: center;
}
.margin-top-25{
margin-top: 25px;
}
/* COLOR */
.font-color-1 {
color:#D32F2F;
}
.font-color-2 {
color:#1ABC9C;
}
.font-color-3 {
color:#FBC02D;
}
.font-color-4 {
color:#2979FF;
}
.font-color-5 {
color:#CDDC39;
}
.bg-color-1 {
background-color:#D32F2F;
}
.bg-color-2 {
background-color:#1ABC9C;
}
.bg-color-3 {
background-color:#FBC02D;
}
.bg-color-4 {
background-color:#2979FF;
}
.bg-color-5 {
background-color:#CDDC39;
}
.bg-color-red {
background-color:#D32F2F;
}
.bg-color-black {
background-color:#000000;
}
.bg-color-yellow {
background-color:#FFFF00;
}
/* Normal */
.bg-color-green {
background-color:#1ABC9C;
}
/* Requested */
.bg-color-orange {
background-color:#FBC02D;
}
.bg-color-blue {
background-color:#2979FF;
}
/* Scheduled */
.bg-color-lightgreen {
background-color:#CDDC39;
}
/* Finished */
.bg-color-gray {
background-color:#7B7A7A;
}
.bg-color-user {
background-color:#FFFDD5;
}
/* Normal - Light Pink */
.bg-color-ordered-normal {
background-color:#FF80FF;
}
/* Requested - red */
.bg-color-ordered-requested {
background-color:#FF0000;
}
/* Scheduled - puple */
.bg-color-ordered-scheduled {
background-color:#800080;
}
/* Finished - gray */
.bg-color-ordered-finished {
background-color:#7B7A7A;
}
/* USER */
.error{
color: red;
font-weight: 400;
padding:1em;
font-size: 14px;
}
#myModal .modal-header {
padding:9px 15px;
border-bottom:2px solid #31c233;
background-color: #31c233;
-webkit-border-top-left-radius: 5px;
-webkit-border-top-right-radius: 5px;
-moz-border-radius-topleft: 5px;
-moz-border-radius-topright: 5px;
border-top-left-radius: 5px;
border-top-right-radius: 5px;
}
#myModal .modal-header h4 {
font-size:22px;
color: #fff;
font-weight: bold;
}
#myModal .modal-body p {
margin: 2em 0;
font-size: 19px;
color: #000;
}
#myModal .modal-close {
background-color: #31c233;
font-family: FFMetaProMedium;
color: #fff;
border: none;
padding: 0.65em 1em;
border-radius: 0.3em;
text-align: center;
text-decoration: none;
}
#myModal .modal-close:hover {
background-color: #2BAA2E;
color: #fff;
}
#myModal .btn-send {
background-color: #d5ba85 !important;
}
#myModal .btn-send:hover, .btn-send:active, .btn-send:visited {
background-color: #C8A564 !important;
}
.btn-nearby {
background-color: #0047AB;
}
#search-keyword {
width:100%;
}
#routePlannerModal .draggable-item {
padding:5px;
border-radius: 5px;
margin-bottom: 3px;
background-color:lightgrey;
cursor:pointer;
}
#routePlannerModal .draggable-item:hover {
color:white;
}
#routePlannerModal .draggable-item table {
width:100%;
}
#routePlannerModal .draggable-item table td:nth-child(1) {
width:20px;
}
#routePlannerModal .draggable-item table td:nth-child(2) {
width:230px;
}
#routePlannerModal .draggable-item table td:nth-child(3) {
width:calc(100% - 250px);
}
#routePlannerModal #addressInformationList {
display: none;
}
.overlay-content {
background-color: white;
border: 1px solid #000;
padding: 15px;
position: relative;
}
.overlay-content .close {
position: absolute;
top: 5px;
right: 5px;
pointer-events: auto;
cursor: pointer;
color:var(--color-sub);
font-size: 30px;
font-weight: 700;
}
.overlay-content .close:hover {
color:var(--color-hover);
}
.point-overlay {
position: relative;
background-color:white;
padding: 5px;
border-radius: 5px;
width: 450px;
user-select: none;
transform: none !important;
cursor:default;
position: relative;
pointer-events: auto;
z-index: 9999999999999999;
}
.address-row {
display: flex;
justify-content: space-between;
align-items: stretch;
padding: 0;
margin-bottom: 5px;
}
.address-title {
width: 25%;
padding: 5px 10px;
font-size: 14px;
font-weight: 500;
background-color: var(--color-sub);
color: #fff;
border-right: .5px solid #c9e0d3;
border-left: .5px solid #c9e0d3;
border-bottom: .5px solid #c9e0d3;
display: flex;
align-items: center;
}
.address-content {
width: 75%;
padding: 5px 10px;
font-size: 14px;
color: #fff;
border-right: .5px solid #c9e0d3;
border-bottom: .5px solid #c9e0d3;
display: flex;
align-items: center;
}
.address-link {
text-decoration: underline;
}
#popupMessage {
display: none;
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
min-width: 200px;
background-color: #2A9B56;
color: white;
padding: 20px;
border-radius: 5px;
text-align: center;
z-index: 1000;
}
@media print {
/*body {
overflow-y: visible;
}*/
.pg-location{
overflow-y: visible;
}
header {
visibility: hidden;
}
.floating-filter {
visibility: hidden;
}
.gm-style div > img {position: absolute;}
}
@page { size: landscape; margin:1cm;}
.route-planner-waypoints {
width:100%;
padding:10px;
}
.route-planner-waypoints table {
width:100%;
border: 1px solid #212529;
}
.route-planner-waypoints table tr {
border-bottom: 1px solid #212529;
}
.route-planner-waypoints table tbody tr:last-child {
border-bottom: 0px;
}
.route-planner-waypoints table tr th,
.route-planner-waypoints table tr td {
border-right: 1px solid #212529;
}
.route-planner-waypoints table tr th:last-child,
.route-planner-waypoints table tr td:last-child {
border-right: 0px;
}
.loading-overlay {
position:absolute;
width:100%;
height:100%;
background-color: rgba(0,0,0,0.3);
font-size:14px;
color:white;
font-weight: bold;
display: none;
justify-content: center;
align-items: center;
z-index: 999;
}
/* Install wait list */
.waitlist-scroll {
height: calc(100vh - 260px); /* header + search 고려 */
overflow-y: auto;
}
.wait-card {
border-bottom: 1px solid #eee;
padding: 12px 16px;
cursor: pointer;
}
.wait-card:hover {
background: #f8f9fa;
}
.wait-card.trial-selected {
background: #fff8e1; /* 연한 노랑 */
border-color: #ffc107;
box-shadow: 0 0 0 2px rgba(255,193,7,.25);
}
.wait-card.assigned {
opacity: 0.5;
pointer-events: none;
}
.container-chips {
cursor: pointer;
display: flex;
gap: 6px;
flex-wrap: wrap;
}
.container-chips .chip {
display: inline-flex;
align-items: center;
gap: 4px;
font-size: 12px;
line-height: 1.2;
padding: 3px 8px;
border-radius: 6px;
white-space: nowrap;
background: #e9ecef;
color: #333;
}
.container-chips .chip-company {
background: #e9ecef;
color: #333;
}
.container-chips .chip-restaurant {
background: #fff3cd; /* warning subtle */
color: #664d03;
border: 1px solid #ffecb5;
}
.container-chips .chip-flag {
margin-left: 4px;
padding: 0 6px;
font-size: 11px;
font-weight: 700;
border-radius: 999px;
background: #ffe69c;
color: #664d03;
}
.container-chips .chip-task {
background: #dee2e6;
color: #212529;
}
.container-chips .chip i {
font-size: 13px;
line-height: 1;
}
.container-chips .chip-count {
margin-left: 4px;
font-size: 11px;
font-weight: 600;
color: #495057;
}
.note-line {
display: flex;
gap: 6px;
align-items: flex-start;
}
.note-label {
font-size: 12px;
font-weight: 600;
color: #666;
min-width: 58px;
}
.note-text {
font-size: 12px;
line-height: 1.3;
}
/*modal*/
.modal-body {
overflow: hidden;
padding: 0;
}
.install-wait-viewport {
overflow: hidden;
width: 100%;
}
.install-wait-steps-wrapper {
display: grid;
grid-auto-flow: column;
grid-auto-columns: 100%;
transition: transform 0.35s ease;
}
.install-wait-step {
padding: 1.25rem;
box-sizing: border-box;
display: flex;
flex-direction: column;
}
.install-wait-step > .step-content {
flex: 1;
}
.customer-row.selected {
background-color: #e7f1ff;
border-left: 4px solid #0d6efd;
padding-left: 0.75rem;
}
#btnStep1Next,
#btnStep2Next {
min-width: 48px;
transition: all 0.15s ease;
}
.iw-inline-ctrl {
height: 34px;
}
button.iw-inline-ctrl {
padding: 0 12px;
line-height: 1.2;
}
input.iw-inline-ctrl,
.iw-inline-ctrl input {
padding-top: 4px;
padding-bottom: 4px;
line-height: 1.2;
}
.input-group.iw-inline-ctrl {
display: flex;
align-items: stretch;
}
.input-group.iw-inline-ctrl .form-control {
height: 100%;
}
.iw-toggle-on {
background-color: #e7f1ff;
border-color: #0d6efd;
color: #0d6efd;
}
.iw-toggle-on:hover {
background-color: #dbe9ff;
}
.active-step {
background-color: #e7f1ff;
border-color: #0d6efd;
color: #0d6efd;
}
.active-step:hover {
background-color: #dbe9ff;
transform: translateX(2px);
}
.iw-job-grid {
display: grid;
grid-template-columns: repeat(5, 1fr); /* 항상 한 줄 */
gap: 0.5rem;
}
.iw-job-card {
display: flex;
align-items: center;
justify-content: center;
gap: 0.4rem;
padding: 0.6rem 0.5rem;
font-size: 0.9rem;
background: #fff;
border: 1px solid #dee2e6;
border-radius: 0.375rem;
cursor: pointer;
transition: all 0.15s ease;
}
.iw-job-card i {
font-size: 1rem;
}
.iw-job-card:hover {
background: #f1f5ff;
border-color: #b6c8ff;
}
.iw-job-card.active {
background: #e7f1ff;
border-color: #0d6efd;
color: #0d6efd;
}
.iw-container-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
gap: 0.5rem;
}
.iw-container-card {
border: 1px solid #dee2e6;
padding: 0.5rem;
border-radius: 0.375rem;
cursor: pointer;
text-align: center;
font-size: 0.85rem;
}
.iw-container-card.active {
background: #e7f1ff;
border-color: #0d6efd;
color: #0d6efd;
}
/**/
#iwScheduleDate,
#iwPhotos,
#iwRequestDate,
#iwRequestBy,
#iwSelectCapacity,
#iwRequestNote,
#iwCsNote,
#kwCustomer,
#iwMapDate
{
margin-bottom: 0px !important;
}
#iwSelectCapacity {
width: 75px;
}
#iwRequestBy{
padding-top: 0.875em;
padding-bottom: 0.875em;
}
.iw-action-row {
display: flex;
gap: 12px;
margin-bottom: 12px;
}
.iw-action-row .task-action-box {
flex: 1;
}
.iw-add-btn {
min-width: 70px;
height: 36px;
display: inline-flex;
align-items: center;
justify-content: center;
white-space: nowrap;
}
.iw-name, .customer-name {
display: inline-block;
max-width: 140px; /* 이름 최대 폭 */
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
vertical-align: bottom;
}
.iw-header {
background-color: var(--color-primary);
color: var(--color-white);
}
.iw-ui-control {
height: 36px;
display: flex;
align-items: center;
}
.iw-checkbox-wrap {
display: inline-flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px;
cursor: pointer;
}
.iw-checkbox-wrap input {
transform: scale(1.3);
cursor: pointer;
}
.task-action-box {
flex: 1;
padding: 8px;
border: 1px solid #dee2e6;
border-radius: 6px;
background: #f8f9fa;
}
.task-action-title {
font-size: 12px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.5px;
display: flex;
align-items: center;
gap: 4px;
margin-bottom: 4px;
}
.task-action-title.pickup {
color: #dc3545; /* bootstrap danger */
}
.task-action-title.install {
color: #198754; /* bootstrap success */
}
@media (max-width: 768px) {
.task-actions {
flex-direction: column;
}
}
#filterTwoPerson.active {
background-color: #212529;
color: #fff;
}
.container-card {
border:1px solid #ddd;
border-radius:6px;
padding:10px;
margin-bottom:8px;
background:#fff;
}
.container-card.inactive {
background:#f7f7f7;
opacity:0.85;
}
#containerCardWrap {
display: grid;
gap: 10px;
grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 1200px) {
#containerCardWrap { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
#containerCardWrap { grid-template-columns: repeat(1, minmax(0, 1fr)); }
}
.flag-marker {
position: relative;
padding: 4px 8px;
border-radius: 6px;
font-size: 13px;
font-weight: 700;
white-space: nowrap;
box-shadow: 0 2px 6px rgba(0,0,0,.25);
}
.flag-body {
display: flex;
align-items: center;
gap: 6px;
}
.flag-tail {
position: absolute;
left: 50%;
bottom: -8px;
transform: translateX(-50%);
width: 0;
height: 0;
border-left: 7px solid transparent;
border-right: 7px solid transparent;
border-top: 8px solid;
border-top-color: var(--flag-bg);
}
.flag-order {
font-weight: 800;
}
.flag-icon {
font-size: 12px;
}
.install-map-legend{
position:absolute;
top:12px;
right:12px;
z-index:10;
min-width:140px;
max-width:220px;
background:rgba(255,255,255,0.95);
border:1px solid #dcdcdc;
border-radius:10px;
box-shadow:0 2px 10px rgba(0,0,0,0.08);
padding:10px 12px;
font-size:13px;
}
.install-map-legend-title{
font-weight:700;
margin-bottom:8px;
}
.install-map-legend-item{
display:flex;
align-items:center;
gap:8px;
margin-bottom:6px;
}
.install-map-legend-item:last-child{
margin-bottom:0;
}
.install-map-legend-swatch{
width:14px;
height:14px;
border-radius:50%;
flex:0 0 14px;
border:1px solid rgba(0,0,0,0.15);
}
.reorder-selected-row {
outline: 2px solid red;
}
.summary-bar {
position: relative;
}
.view-toggle {
display: flex;
border: 1px solid #ccc;
border-radius: 8px;
overflow: hidden;
background: #fff;
margin-left: 12px;
}
.view-toggle label {
margin: 0;
cursor: pointer;
}
.view-toggle input[type="radio"] {
display: none;
}
.view-toggle span {
display: flex;
align-items: center;
justify-content: center;
width: 44px;
height: 36px;
color: #666;
font-size: 18px;
background: #f1f1f1;
}
.view-toggle input[type="radio"]:checked + span {
background: #ffca1a;
color: #333;
}
tr.status-P {
background-color: #b9c2c9;
color: #343a42;
text-decoration: line-through;
opacity: 0.75;
}
tr.status-M {
background-color: #fff3cd; /* bootstrap warning light */
border-left: 4px solid #ff9800;
text-decoration: line-through;
opacity: 0.75;
}
tr.status-X {
background-color: #f8d7da; /* bootstrap danger light */
border-left: 4px solid #dc3545;
text-decoration: line-through;
opacity: 0.75;
}
/* ============================
photo
============================ */
.photo-card {
border: 1px solid #ddd;
border-radius: 10px;
padding: 10px;
background: #fafafa;
height: 100%;
}
.photo-header {
font-weight: 600;
font-size: 13px;
margin-bottom: 6px;
}
.photo-card.before .photo-header {
color: #6c757d;
}
.photo-card.after .photo-header {
color: #0d6efd;
}
.photo-body {
min-height: 80px;
display: flex;
flex-wrap: wrap;
gap: 6px;
}
/* 이미지 썸네일 */
.photo-body img {
width: 60px;
height: 60px;
object-fit: cover;
border-radius: 6px;
border: 1px solid #ccc;
}
/* ============================
Segmented Radio Button
============================ */
.radio-segment {
display: flex;
border: 1px solid #ccc;
border-radius: 10px;
overflow: hidden;
width: 100%;
}
/* label = button */
.radio-segment label {
margin: 0;
cursor: pointer;
flex: 1 1 0;
}
.radio-segment input[type="radio"] {
display: none;
}
.radio-segment span {
display: flex;
width: 100%;
text-align: center;
align-items: center;
justify-content: center;
padding: 8px 0;
background: #e7e7e7;
color: #333;
font-weight: 500;
height: 100%;
}
.radio-segment input[type="radio"]:checked + span {
background: #ffca1a;
color: #333;
}
/* horizontal radius */
.radio-segment label:first-child span {
border-radius: 5px 0 0 5px;
}
.radio-segment label:last-child span {
border-radius: 0 5px 5px 0;
}
/* check box */
.radio-segment input[type="checkbox"] {
position: absolute;
opacity: 0;
pointer-events: none;
}
.radio-segment input[type="checkbox"]:checked + span {
background: #ffca1a;
color: #333;
}
.iw-cat-box {
display:flex;
gap:10px;
}
.cat-filter-box {
display:inline-flex;
align-items:center;
padding:6px 10px;
border-radius:10px;
border:1px solid #dcdcdc;
background:#f8f9fa;
gap:6px;
}
.cat-filter-dot-wrap input {
display:none;
}
.cat-filter-dot {
width:24px;
height:24px;
border-radius:50%;
display:inline-block;
background:var(--cat-color);
border:2px solid #999;
cursor:pointer;
opacity:.6;
transition:0.15s;
}
.cat-filter-dot-wrap input:checked + .cat-filter-dot {
opacity:1;
border-color:#333;
transform:scale(1.1);
}
.cat-filter-dot[style*="transparent"] {
background: transparent;
border:2px dashed #aaa;
}
.category-filter {
display:flex;
gap:8px;
}
.iw-cat-btn {
cursor:pointer;
opacity:0.4;
transition:0.15s;
border-color:#333;
}
.iw-cat-btn.active {
opacity:1;
transform:scale(1.25);
border-color:#000000;
}
.iw-cat-btn[data-value="0"] {
background:transparent !important;
border:1px dashed #000000 !important;
}
/* mobile */
@media (max-width: 768px) {
.radio-segment {
flex-direction: column;
width: 100%;
}
.radio-segment label {
width: 100%;
}
.radio-segment label:first-child span {
border-radius: 5px 5px 0 0;
}
.radio-segment label:last-child span {
border-radius: 0 0 5px 5px;
}
}
.tooltip-inner {
text-align: left;
max-width: 300px;
white-space: normal;
}
/* --- Customer History Panel Custom Styles --- */
/* 1. 패널 자체 설정: 넘침 방지를 해제해야 옆구리 버튼이 보입니다 */
#customerInfoCanvas {
width: 35%;
min-width: 450px;
height: 100vh !important;
overflow: visible !important;
border-left: none;
box-shadow: -5px 0 15px rgba(0,0,0,0.1);
}
/* --- 마우스 오버 시에만 나타나는 닫기 버튼 --- */
/* 1. 기본 상태: 투명하게 숨기기 */
.panel-close-tab {
position: absolute;
left: -40px;
top: 50%;
transform: translateY(-50%);
width: 40px;
height: 80px;
background-color: #2A9B56;
color: white;
border: none;
border-radius: 10px 0 0 10px;
box-shadow: -4px 0 8px rgba(0,0,0,0.2);
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
z-index: 9999;
/* [포인트] 처음에는 투명도를 0으로 설정 */
opacity: 0;
/* 부드럽게 나타나도록 애니메이션 추가 */
transition: all 0.3s ease;
}
/* 2. 마우스 오버 상태: 캔버스 전체 혹은 버튼에 마우스가 올라가면 나타남 */
/* #customerInfoCanvas에 마우스가 올라가면(hover), 내부의 .panel-close-tab을 보여줌 */
#customerInfoCanvas:hover .panel-close-tab {
opacity: 1;
left: -40px; /* 위치도 살짝 움직이게 하고 싶다면 조절 가능 */
}
/* 버튼 자체에 마우스가 올라갔을 때 색상 강조 */
.panel-close-tab:hover {
background-color: #1e7a41;
}
/* 화면 오른쪽 중앙에 상시 거치된 탭 버튼 */
.history-quick-tab {
position: fixed;
right: 0; /* 오른쪽 끝에 고정 */
top: 50%;
transform: translateY(-50%);
width: 25px; /* 평소엔 얇게 */
height: 80px;
background-color: #fbc02d; /* HISTORY 버튼과 같은 노란색 (혹은 초록색) */
color: #212529;
border: none;
border-radius: 10px 0 0 10px; /* 왼쪽만 둥글게 */
box-shadow: -2px 0 5px rgba(0,0,0,0.2);
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
z-index: 1040; /* 패널(1050)보다는 낮게 설정 */
transition: all 0.3s ease;
opacity: 0.6; /* 평소엔 살짝 투명하게 */
}
.history-quick-tab:hover {
width: 40px; /* 마우스 올리면 살짝 튀어나옴 */
opacity: 1;
background-color: #f9a825;
}
/* [중요] 패널이 열려 있을 때(show 클래스가 붙었을 때) 탭 버튼을 숨김 */
body.offcanvas-open .history-quick-tab,
#customerInfoCanvas.show ~ .history-quick-tab {
display: none;
}