@charset "utf-8";
/* CSS Document */
html, body {
    height:100%;
    max-width: 100%;
    overflow-x: hidden;
    -ms-overflow-style: none;  /* Internet Explorer 10+ */
    scrollbar-width: none;  /* Firefox, Safari 18.2+, Chromium 121+ */
} 
.body::-webkit-scrollbar { 
    display: none;  /* Older Safari and Chromium */
}
.safedatabgcolor { background: #282828; padding-top:30px; }
.m-login.m-login--1 .m-login__aside {
    padding: 2px !important;
}
.m-login.m-login--1 .m-login__wrapper {
    padding: 2% 2rem 2rem 2rem !important;
}
.m-login.m-login--1 .m-login__wrapper .m-login__form {
    margin-top: 0rem !important;
}
.m-login.m-login--1 .m-login__wrapper .m-login__form .m-login__form-action {
    margin: 2rem 0 1rem 0;
    text-align: center;
}
.m-login.m-login--5 .m-login__wrapper-2 .m-login__contanier .m-login__form .m-form__group {
    margin: 6px 0 0 0;
}
.m-login.m-login--2 .m-login__wrapper .m-login__container .m-login__form .m-form__group .form-control:focus {
    color:#000 !important;
}
.nfctagmainbody { overflow:scroll; height:600px;  }
/* Hide scrollbar for Chrome, Safari and Opera */
.nfctagmainbody::-webkit-scrollbar {
    display: none;
}
.supplieractive { border-left: 10px solid #567098; } 
.suppliernotactive { border-left: 10px solid #ca1759; }
.supplieredit { border-left: 10px solid #dbb241; }
.stockproductlistcontainer { display: block;overflow: auto;height: 452px; width: 100%; }
.seatingholder { background-color:#F3F3F3; padding:20px; }
.changeuser span, .checkpincode span { position: absolute;right: 12px; top: 12px; }

.selfcalories { color:#FFFFFF;background-color: #2c9d76; padding: 22px;z-index: 9;border-radius: 40px;font-weight: 600;position: absolute;width: 85px;left: -5px;top: -5px;box-shadow: 0 0 50px 15px #FFFFFF; }
.m-nav-sticky {
    bottom: 5px !important;
    top: auto !important;
}
.m-nav-sticky .m-nav-sticky__item>a>i {
    font-size: 2rem !important;
}
.kioskvideobutton { position: absolute;top: 0;left: 0;width: 100vw;height: 100vh; }
#showkioskorderid { font-size: 37px;font-weight: bold; }
.showkioskorderp { position:relative; top:18px; }
.epostimechange { font-size:30px; font-weight:600; }
.inlinestockcss { 
    width: 60px;
    padding: 5px;
    border: 1px solid #CCC;
    margin-right: 10px; border-radius: 6px;
}
.changetopdishes, .requestdbsalesdata, .assigngaloc, .unassigngaloc { cursor:pointer; }
.startsshift, .completeshift {  }
.m-pricing-table-3__item--focus .table-striped tbody tr { background-color:#9e99db; }
.m-pricing-table-3__item--focus .table-striped tbody tr:nth-of-type(odd) { background-color:#f4f5f8; }
/* Hide scrollbar for IE, Edge and Firefox */
.nfctagmainbody {
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;  /* Firefox */
}
#cardactivespinner:before { width: 6.4rem; height: 6.4rem; margin-top: -3.7rem; margin-left: -2.7rem; }
.loaderchangetext { font-size:24px; }
.glow { -webkit-filter: drop-shadow(8px 8px 0px rgba(255,255,255,0.5)); }
.thumbsup { position: relative;right: 74px; }
.registeruser { color:#FFF !important; }
.m-login.m-login--5 .m-login__wrapper-2 .m-login__contanier .m-login__form .m-form__group .form-control { padding: 1rem 12px; }
.m-brand { background:#FFF !important; }
.m-header .m-header__top {background: #FFF !important;}
#sessid, .hidden, .checkavailable, .widgets, .newscreenerror, .addnewclient, #aftercontinue, .savecontreferr, .saveprogress, #aftercomplete, .holdingsupdate, .pairdevice, .httpsreq, .namereqm , .supportsent, .parentscreens, .namereq, #profileform .alert, .dropeight, .passwordresetsuccess, .theitinerary, .hidden, .upgradeoptions, .roomfault , .pointofinterest, #integration-section-settings, .newpromoerror, .copied, .validation, #linkmenu, .eposerror, .unitsoption, .deldays, .disindividualoptions, .discloudoptions, .refundcustomer, .paybycashnow, .eposerror, .reportingbreakdown, .pushpaynow, .pushpaybolt, .pushpaywolt, .pushpayhungrymonkey, .hidecatmessage, #displaybookingerror, #offlinemessage, .paybywastage, .multipleslide, #multiplescreens, .paybylunchpass, .invoicedpaynow, #downloadtaghistory { display:none; }
.table-bordered td, .table-bordered th {
   /* border: none !important;*/
}
.reprintgabarcode {cursor: pointer;} 
.disableeposbuttons { opacity:0.3; }
.posreltop13 { position: relative; top:13px; }
.m-widget17 .m-widget17__stats .m-widget17__items .m-widget17__item { height: 212px !important; margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; }
.slide h6 { position:absolute;top: 20px;left: 20px;z-index:999;width:120px;}
.removetable { position: absolute;left: 100px;top: -27px; cursor: pointer;}
.tabexists { background-color:transparent;width:120px;height:120px;border-radius:100px;box-shadow: 0 0 8px #ea4c89, inset 0 0 8px #ea4c89;-webkit-animation: pulse 2s linear 1s infinite; }
.tabletooltip { position: absolute;width: 100px;background: #222222;color: #FFF;padding: 3px 9px;top: 45px;left: 10px;z-index: 99999;border-radius: 10px; text-align: center; }
#allergenclick { cursor: pointer; }
.fc-content a { position: absolute; right: 4px; top: 6px; cursor: pointer; }
.positionofleader { font-size: 50px;font-weight: 600; background-color: #FFFFFF; border-radius: 50%; width: 79px; margin: auto; }
#offlinemessage, #multiplescreens {  position: absolute !important;bottom: 0px;z-index: 999999 !important;left: 0; border-radius:0px !important; }
.classicitemscontainer { max-height:68vh; overflow:auto; }
.buttonselected { background-color:#D79025 !important }
.eposerror, .eposnotice { margin:0px !important; }
.nottracked { background-color:#F43E41; }
.tracked { background-color:#77994A; }
.trackednopayment { background-color:#D79025; }
.brandedschool { background-image:url('/assets/safedata/images/hdscloudapps/school.png'); background-size:cover; opacity:0.85; }
.allergenitem { cursor: pointer; background-color:#F3F3F3; text-align:center;padding:10px; }
.allergenitem:hover { border:2px solid #000000; }
.allergenitemactive { background-color:#F9F8B1 !important; border:2px solid #000000; }
.selfserveallergenlist { positon:relative; }
.selfserveallergenlist img { float:left; margin:8px; }
#lastreceipt { display:none; }
#roomtypeselection {  }
#roommoniesselection p { font-size:20px; }
.checkprice { border-left:3px solid #B42E2E !important; }
.m-brand__logo img { max-height: 70px !important; }
.btn { cursor: pointer !important; }
.m-header .m-header__top { background-color:#FFF;  }
.m-brand__logo-wrapper img { height:70px; }
.m-topbar .m-topbar__nav.m-nav > .m-nav__item > .m-nav__link .m-nav__link-icon.m-nav__link-icon--aside-toggle .m-nav__link-icon-wrapper > i {
    color: #222;
}
.m-topbar .m-topbar__nav.m-nav > .m-nav__item > .m-nav__link .m-nav__link-icon:hover .m-nav__link-icon-wrapper {
    background: #FFF;
}
.rotate-90 {
  writing-mode: vertical-lr; /* Rotates the text flow 90 degrees */
  white-space: nowrap;      /* Prevents "Fresh" and "Coffee" from stacking */
  transform: rotate(180deg); /* Optional: Flip it so it reads bottom-to-top */
  vertical-align: middle;    /* Keeps it centered in the cell */
  text-align: left;
}
.matrix-row:hover {
    background-color: rgba(0, 0, 0, 0.1) !important;
}
.matrix-scroll-container {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    border: 1px solid #ebedf2;
    border-radius: 4px;
    background: #fff;
    margin-bottom: 20px;
    /* Smooth scrolling for touch devices */
    -webkit-overflow-scrolling: touch; 
}

/* 2. Scrollbar Styling (Webkit browsers) */
.matrix-scroll-container::-webkit-scrollbar {
    height: 8px; /* Height of horizontal scrollbar */
}

.matrix-scroll-container::-webkit-scrollbar-track {
    background: #f4f5f8; 
    border-radius: 10px;
}

.matrix-scroll-container::-webkit-scrollbar-thumb {
    background: #c5c5d1; /* Soft grey thumb */
    border-radius: 10px;
    border: 2px solid #f4f5f8; /* Adds a little "padding" around the thumb */
}

.matrix-scroll-container::-webkit-scrollbar-thumb:hover {
    background: #a1a1b5; /* Darker grey on hover */
}

/* 3. Table Layout Fix */
.matrix-table {
    margin-bottom: 0 !important; /* Remove bottom margin to keep scrollbar close */
    width: max-content; /* Ensures table doesn't compress to fit screen */
    min-width: 100%;
}

/* Make the first column sticky */
.matrix-table th[scope="row"] {
    position: sticky;
    left: 0;
    z-index: 2;
    background-color: #fff !important;
    box-shadow: 2px 0 5px rgba(0,0,0,0.05); /* Subtle shadow to show it's "above" the scroll */
    min-width: 150px;
}

/* Ensure the top-left empty cell is even higher z-index */
.matrix-table thead th:first-child {
    position: sticky;
    left: 0;
    z-index: 3;
    background-color: #f4f5f8 !important;
}

/* Class added by JS to highlight the vertical column */
.column-highlight {
    background-color: rgba(0, 0, 0, 0.1) !important;
}

/* Optional: Make the hovered cell slightly darker to act as the 'pointer' */
.matrix-table td:hover {
    background-color: rgba(0, 0, 0, 0.2) !important;
}

.matrix-table tr:hover td {
    background-color: rgba(0, 0, 0, 0.05);
}

/* 2. Highlight the current column (class added by JS) */
.column-highlight {
    background-color: rgba(0, 0, 0, 0.05);
}

/* 3. Make the specific cell you are hovering over stand out more */
.matrix-table td:hover {
    background-color: rgba(0, 0, 0, 0.2) !important;
    cursor: pointer;
}

.rotatetext { width: 25px; transform: rotate(45deg); padding-bottom:5px; }
.quickcash button { width:100%; height:80px; font-size:18px; }
.conciergehubgreen { background-color:#252525; color: #32cd32; }
.top-10 { margin-top:10px; }
.previewbox { position:relative; border: 0px !important; }
.templatebox { max-height:230px; text-align: center; padding: 0px !important; }
.nobold { font-weight:300; }
.menubox { text-align: center; padding: 0px !important; }
.templatebox, .menubox [class*=" la-"], [class^="la-"] { font-size:6.3rem !important; padding-top:20px; position: relative; }
.templatebox span { position: absolute;left: 12px ;top: -13px; width:90%; padding:0 20px 0 20px; border:1px solid #666; }
.templatebox a, .menubox a { color:#c4c5d6; text-decoration:none; }
.templatebox a:hover, .menubox a:hover { color:#464646; }
.assetstatus { /*position:absolute; top:8px; right:8px;*/ }
.assettitle { /*position:absolute; top:8px; left: 8px;*/ }
.checkavailable { margin: 5px 0 5px 0 }
.tagallowancesuccess, .tagallowanceerror { font-size:30px; }
.modal-lg {
    max-width: 1000px;
}
.m-nav-sticky {
    background: #fff;
    -webkit-box-shadow: 0 0 15px 1px rgb(81 77 92 / 20%);
    -moz-box-shadow: 0 0 15px 1px rgba(81,77,92,.2);
    box-shadow: 0 0 15px 1px rgb(81 77 92 / 81%);
}
.topupmem, .topuptag { color: #FFF !important;font-size: 30px;font-weight: 600; }
#eposoptlist, #eposextlist, #eposaddlist, #epos_checkout { max-height: 300px !important;overflow: hidden !important;overflow-y: scroll !important; }
#retail_checkout { min-height: 50vh !important;overflow: hidden !important;overflow-y: scroll !important; }
#eposoptlist::-webkit-scrollbar, #eposextlist::-webkit-scrollbar, #epos_checkout::-webkit-scrollbar, #retail_checkout::-webkit-scrollbar, #eposaddlist::-webkit-scrollbar {
    display: none !important;
}
.orderboardpage .nodisplay { display:none !important }
.greyback { background-color:#f3f3f3; }
.m-widget27 .m-widget27__pic::before {background: #666;}
.displaycontent .m-portlet__body { margin-top: 0 !important; }
.m-portlet__body { position:relative;}
.m-widget27__logo { margin: auto;
  position: absolute;
  top: 0; left: 50px; bottom: 0; right: 0; height:200px; }
.displayheader, .displayfooter { display:none; }
.dropzone .dz-preview .dz-remove:hover {
    text-decoration: none;
}
#txtpicker { width: 223px; margin-top: 17px; }
.m-widget7 .m-widget7__desc { margin-top:0 !important; }
.m-widget7 .m-widget7__button { margin-bottom: 7.2rem !important; }
.layout3images { margin-top:10px; }
.layout3images img { max-width:100%; }
.displaytime { font-size:44px; text-align:right; font-weight:600; }
.displayschedule img, .displaynews img  { width:100%; }
.displaynews { padding: 10px; }
.feedbox { margin-bottom:10px;  }
.col-lg-8 {

    flex: 0 0 64.667%;
    max-width: 66.66667%;

}
.offline { background-color:#FFCFD0; }
.communalfooter div { padding: 10px; font-size:18px; }
.holdingtitle { text-align: center; padding:20px; }
.templatecenter { text-align: center; }
.m-timeline-3 .m-timeline-3__item .m-timeline-3__item-desc { padding-top:10px; }
.nospace div { padding:0; height:100vh !important; }
.replacecontent .nospace div { padding: 0 0 0 15px; }

#carousel-wrapper { text-align: center; }
#carousel-wrapper .item { display:none;}
#carousel-wrapper .active { display:block; }
#carousel-wrapper .active img { display:block; margin:auto; }
.control-left { position: absolute;top: 40%;left: 0px; text-decoration: none; }
.control-right { position: absolute;top:40%;right: 0px; text-decoration: none; }
.control-left i, .control-right i { font-size: 5rem !important; color:#282828; text-decoration: none; }
.templates .m-widget7 .m-widget7__button { margin-bottom:0px !important; }
.m-portlet.m-portlet--skin-dark { background-color:#CCCCCC; }
.templates .m--bg-accent { background-color:#FFFFFF !important; }
.m--bg-safedata { background-color:#282828 !important; }
.templates .m-portlet { position: relative; }
.templates .m-portlet i { position: absolute;top: -93px;right: -10px;color: #282828;font-size: 2.1rem; cursor: pointer; }
.m-portlet.m-portlet--skin-dark .m-portlet__head .m-portlet__head-text { color:#282828; }
.templates .m-widget7 .m-widget7__user { margin-bottom: -1rem !important; }
.templates .btn.btn-outline-warning { background-color:#FFF; color:#282828; border-color:#282828; }
.addslider { display:none; }
.slide img {  }
.slide img.noborder { box-shadow:0 0 0 0 !important; margin-top:50px; }
	
.spacer { margin-bottom:20px; }
.closeslide { position: absolute;right: 35px;top: 20px; cursor: pointer; }
.closeslide [class*=" la-"], [class^="la-"] {
    font-size: 2.3rem !important;
}
.slidecliose { position:relative; }
.emoji { text-align: center; font-size: 15rem; height:100vh; }
.emoji i { margin:40% auto; }
.m-login.m-login--1 .m-login__wrapper .m-login__logo {
    text-align: center;
    margin: 0 auto 2rem auto;
}
.m-login.m-login--1 .m-login__wrapper {
    overflow: hidden;
    padding: 10% 2rem 2rem 2rem;
}
#customerrating { min-height:40px !important; }
#customerrating .fa { font-size:40px !important; }
.onetimecode, .accountnotexists, .accountexists, #onehid { display:none; }
.m-timeline-3 .m-timeline-3__item::before { left: 6.1rem; }
.m-timeline-3 .m-timeline-3__item .m-timeline-3__item-time { width: 5.57rem  !important; }
.walkaround .m-timeline-3__item::before { left: 10rem !important; }
.walkaround .m-timeline-3__item .m-timeline-3__item-time { width: 9rem  !important; }
.walkaround .m-timeline-3__item .m-timeline-3__item-desc { padding-left: 12rem !important; } 
.star { color: #ffb822 }
.m-list-settings .m-list-settings__group .m-list-settings__item .m-list-settings__item-label {
    vertical-align: top !important;
}
#availdevices { padding: 0.2px !important; }
#onecode { background: transparent;font-size: 80px;width: 280px;color: #00f8ff;border: 0; font-weight:600; padding:0 !important }
.footermenu { background-color:#282828; }
.chubbox { padding:60px; background-color:rgb(0,0,0,0.8); }
#schedscreenvideo, #schedscreenfeedback, #schedscreencontent { display:none; }
.choice i {  font-size:8rem; margin-top:20px !important; color:#44ca87; }

.m-accordion.m-accordion--section .m-accordion__item .m-accordion__item-body { background-color:#FFFFFF !important; }

.m--bg-safedata { background-color: #282828!important; margin-bottom:0px !important; }
.m--bg-safedata .m-widget7__user { margin-bottom: 3rem !important; }
.m--bg-safedata .m-widget7--skin-dark { margin-top: 2rem !important; }
.btn-white { background-color:#FFF; border-color:#282828; color:#282828; }
.schedulescreennow, .resetblock, .scheduleblock { display:none; }
#selvideo, #selfeed  { display:none !important; }
video#backgroundvid { 
position: fixed; right: 0; bottom: 0;
min-width: 100%; min-height: 100%;
width: auto; height: auto; z-index: -100;
background: url(/tmp/company/1/safedata.png) no-repeat;
background-size: cover; 
}
.qrcode { position: absolute; bottom:30px; left:30px; }
.qrcode img { width:200px; height:200px; }
.top20 { margin-top:20px !important; }
.bottom30 { padding-botto:30px !important; }
#generatedroomqr .qrcode { position:relative; top:0; left:0; }
.deletegatecontrol { padding-top: 0px !important; }
.safedatablack { background-color:#282828; }
.controlbox { position:relative; }
.controlbox .deleteblob { position:absolute; top:0px; right:-8px; z-index: 99999;}
.deleteblob .flaticon-cancel { font-size:3rem; color:#FFF; background-color:#282828; padding:10px 20px 10px 20px; }
.controlimg { padding:25px 10px; }
#m-dropzone-four { margin-bottom:30px; }
.controlbox .m-portlet__body .m-widget7 .m-widget7__user {
    margin-bottom: 0rem !important;
}
.filter span { cursor:pointer; }
.selected .m-widget7__user-img::before { position: absolute;
  left: 0%;
  bottom: 30%;
  right: 0;
  content: url('/assets/safedata/images/patterns/tick.png'); }
/*.selected .m-widget7__user-img::after { background-color:rgb(0,0,0,0.6); position: absolute;top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  content: url(); }*/
.displayonscreen { position: relative; z-index:999999; }
.highlight { color:#dd0000 !important; }
.selected { color:#34bfa3 !important; font-weight:600 !important; }
.m-widget4 .m-widget4__item .m-widget4__img.m-widget4__img--pic img { border-radius:6% !important; width: 5rem; }
.m-widget4 .m-widget4__item .m-widget4__ext { text-align:right; }
.m-widget4 .m-widget4__item .m-widget4__avail {
    display: table-cell;
    vertical-align: middle;
}
.m-widget4 .m-widget4__item .m-widget4__avail i { font-size: 3.3rem; color:#34bfa3; padding:0 0 0 20px; }
.m-widget4 .m-widget4__item .danger i { color:#f4516c !important; }
#downloadqrcode { color:#FFF; }
.m-demo .m-demo__preview { border:0px; }
.m-header--fixed .nopaddingtop  {
    padding-top: 0px !important;
}
.orderboard { background-color:#F3F3F3; }
.ipremove::before { position: relative !important; top: 26px !important;left: -20px !important; }
.m-bootstrap-select {
    opacity: 1 !important;
}
#qtitle{ font-weight:600; }
.m-topbar .m-topbar__nav.m-nav > .m-nav__item.m-topbar__user-profile.m-topbar__user-profile--img.m-dropdown--arrow .m-dropdown__arrow {
    color: #494949 !important;
}
.m-card-user.m-card-user--skin-dark .m-card-user__details .m-card-user__name { color:#FFF !important; } 
.previewbox { background-color:#F3F3F3 !important; min-height: 157px !important; }
.previewbox .m-badge--success { margin-top: 5px !important; }
.removescreen i{
	position: absolute;
	right: 23px;
	top: 17px;
	padding-top: 13px;
	color: #282828;
	cursor:pointer;
}
.androidblock { background-color:#282828; }
#androidlogin input[type="text"], #androidlogin input[type="password"] { /*border-radius: 10px !important; padding: 1rem 13px !important;*/ }
#androidgolflogin input[type="text"], #androidgolflogin input[type="password"] { /*border-radius: 10px !important; padding: 1rem 13px !important;*/ }
#androidtablelogin input[type="text"], #androidtablelogin input[type="password"] { /* border-radius: 10px !important; padding: 1rem 13px !important; */ }
.resetgallery { position:relative;top:28px; }
.container { padding:30px; }
.m-portlet.m-portlet--skin-dark .m-portlet__head-text { color:#282828; }
.menu h1 { font-size: 4.8rem; }
.menu h2 { font-size: 4.5rem; }
.menu h3 { font-size: 4rem; }
.menu h4 { font-size: 3rem; }
.menu p span { font-size:25px; }
#bootstrap-switch-id-epostipmisc { display:block !important; }
.m-login__border div { background:none !important; }
.m-login.m-login--5 .m-login__wrapper-2 {
    padding-top: 6% !important; 
}

.m-page-loader.m-page-loader--base {
	background-color: rgba(255,255,255,.8) !important;
}

.ribbon-target { top: 56px; }
.ribbon-target {
    left: -10px;
}
.ribbon-target {
    border-top-right-radius: 0.42rem;
    border-bottom-right-radius: 0.42rem;
}
.ribbon-target {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 5px 10px;
    position: absolute;
    z-index: 1;
    background-color: #1BC5BD;
    -webkit-box-shadow: 0px -1px 5px 0px rgb(0 0 0 / 10%);
    box-shadow: 0px -1px 5px 0px rgb(0 0 0 / 10%);
    color: #FFFFFF;
}
.ribbon-target > .ribbon-inner {
    z-index: -1;
    position: absolute;
    padding: 0;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.ribbon-target .ribbon-inner:before, .ribbon-target .ribbon-inner:after {
    content: '';
    position: absolute;
    border-style: solid;
    border-color: transparent !important;
    bottom: -10px;
}
.ribbon-target .ribbon-inner:before {
    border-width: 0 10px 10px 0;
    border-right-color: #212121 !important;
    left: 0;
}

.replacecontent .menu h1 { font-size: 2.5rem; }
.replacecontent .menu h2 { font-size: 2rem; }
.replacecontent .menu h3 { font-size: 1.75rem; }
.replacecontent .menu h4 { font-size: 1.5rem; }
.replacecontent .menu p span { font-size: 16px; }

.slide { margin:0 0 0 0; /*height:100vh;*/}
.slideshow { width:100% !important; }
.m-tabs-line .m-tabs__item { margin-right: 17px; }
.available { background-color:#44ca87; font-family:'Roboto'; }
.table-condensed .available { background-color:#F3F3f3; }
.busy { background-color:#EB484A; font-family:'Roboto'; }
.calendarheader { height:100vh !important; position:relative; background-image:url("images/devices/background.png"); background-size: cover; }
.occupied { text-align:left; color:#FFF; font-size:150px; font-weight:400; padding-left:70px; position: relative;top: -30px; }
.dateandtime { color:#FFF; text-align:right; font-weight:400; font-size:25px; padding:20px 27px 0 0 !important; }
.whatsonnext { background-color:#FFF; }
.busytitle { color:#FFF; font-weight:400; font-size:40px; padding: 0 0 0 78px; position: relative;top: -30px; }
.roomtitle { text-align:left; color:#FFF; font-size:80px; font-weight:400; padding-left:70px; text-transform:uppercase }
.displaylogo { padding:20px 20px; }
.displaytable {  }
.displaytable tr td { padding:10px; font-size:18px !important; }
.m-stack--demo.m-stack--hor .m-stack__demo-item, .m-stack--demo.m-stack--ver .m-stack__item { border:0; background-color:#FFF; }
.slick-arrow { display:none !important; }

.nopaddingtop {padding-top: 0px !important;}
.nopaddingtop .m-page__container, .nopaddingtop .m-content { padding:0px !important; }
.deleteicon i { position: absolute;
    right: 17px;
    top: 30px;
    background: #FFF;
    padding: 5px; }
.heroitemstar { position: absolute;
    font-size: 30px;
    top: 10px;
    left: -40px;
	color:#41d9de;
}
.feedbitem { position: absolute;
    font-size: 30px;
    top: 50px;
    left: -40px;
	color:#fada11;
}
.cancelmeetingroom { position: relative;top: 27px; }
#displayvideo { width:100%; }
#eposvideo {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%; 
  overflow: hidden;
}

#eposvideo video { 
  /* Make video to at least 100% wide and tall */
  min-width: 100%; 
  min-height: 100%; 

  /* Setting width & height to auto prevents the browser from stretching or squishing the video */
  width: auto;
  height: auto;

  /* Center the video */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}

.copyclipboard { color:#282828 !important; margin-top:10px;}
.dark { color:#282828 !important; margin-bottom:10px !important; }
.darkfooter { background-color:#282828; }
.hide { opacity: 0;height: 0px; }

.bagsdonated { background-color: #282828; border-radius: 100px; width: 150px; height: 150px; position: relative; margin-top:20px; }
.bagscount { font-weight: 600; color: #FFF;position: absolute;top: 36%;left: 24%;font-size: 26px; }
.m-subheader {
    padding: 30px 20px 0 0px;
}
.clientsdbutton { margin: 26px 20px; }
.checked { background-color:#CBFFB5; }

.m-invoice__table .table { margin-bottom: 2rem !important; }
.subtotaltable { margin-bottom: 0rem !important; }
#grandtotalepos { font-size: 3.8rem !important; }

#orderswaiting { border-right:1px solid #777777; }
.m--bg-waiting { background-color:#E48E02 !important; }

/*.m-header--fixed-mobile .m-topbar {
	top: 0px;
	position: absolute;
	right: 0px;
	z-index: 999999;
	box-shadow: none;
	width: 200px !important;
}*/

.m-stack.m-stack--general.m-stack--ver.m-stack--demo {
    height: 56px !important;
}

.holesinput { margin-bottom:10px; }
.setholes { color:#FFF !important; }
.emerscreen { background-color:#f4516c; color:#FFF; text-align:center !important; height:100vh; padding-top:30px; }
.emerscreen h2 { text-transform: uppercase; font-size:50px; text-decoration:underline; font-weight:600;}
.emerscreen h3 { font-size:40px; padding: 0 40px 0 40px !important; }
.spinner { width:30px; display:none; }
#myVideo { height:100vh; }
#previewcontent #myVideo { height:100%; }
.inlineinput { border:0px; width:150px; }
.tab-content > .tab-pane { padding:20px !important; }
.qrlink { color:#282828 !important; text-decoration: none !important; }
.table { margin-bottom: 6rem !important; }
.table-responsive {
    overflow: inherit !important;
}
.orderitems { margin-bottom: 0rem !important; }
.table-responsive { overflow:inherit !important }
#coursereset { color:#FFF !important; margin-top:26px; }
.golforderhead { line-height:1.8rem; }
.orderboard tbody tr td span { margin: 2px 0 2px 0; }
.card-black { padding:10px; background-color:#f3f3f3; margin:10px; }
.m-portlet__head-label small { font-size:10px; }
.m-portlet__head-label span { padding:5px 0 5px 0; }

.lightspeedicon { position:absolute; top:10px; right:-50px; z-index: 9!important }
.lightspeedicon img { width:50%; }

.fade-line {
  border: 0;                /* Remove default browser styling */
  height: 1px;              /* Set the thickness of the line */
  background-image: linear-gradient(
    to right, 
    rgba(0, 0, 0, 0),       /* Transparent start */
    rgba(0, 0, 0, 0.75),    /* Solid center (adjust opacity/color here) */
    rgba(0, 0, 0, 0)        /* Transparent end */
  );
  margin: 20px 0;           /* Optional: adds spacing above/below */
}

/* New Licence */

.transition-all { transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); }
    
    /* Stepper Connector Bar Baseline Line */
    .step-indicator::before {
        content: "";
        position: absolute;
        top: 18px;
        left: 5%;
        right: 5%;
        height: 3px;
        background-color: #e9ecef;
        z-index: 1;
    }
    
    .step-item { z-index: 2; position: relative; }
    
    /* Numeric Bubble Default Styles */
    .step-num {
        width: 38px;
        height: 38px;
        line-height: 36px;
        display: inline-block;
        border-radius: 50%;
        background: #fff;
        border: 2px solid #e9ecef;
        color: #adb5bd;
        font-weight: 700;
        transition: all 0.3s ease;
    }
    
    /* Finished & Active Stepper Variations */
    .step-item.active .step-num {
        background-color: #007bff;
        border-color: #007bff;
        color: #fff;
        box-shadow: 0 4px 10px rgba(0,123,255,0.25);
    }
    
    .step-item.completed .step-num {
        background-color: #28a745;
        border-color: #28a745;
        color: #fff;
    }
    
    .step-item.active .step-title { color: #007bff !important; }
    .step-item.completed .step-title { color: #28a745 !important; }

    /* Cleaner Rounded Dynamic Badge Controls */
    .dynamic-pill {
        border-radius: 20px !important;
        font-size: 0.88rem;
        font-weight: 500;
        transition: all 0.2s ease-in-out;
        cursor: pointer;
    }
    .dynamic-pill:hover {
        background-color: #e2e6ea !important;
    }
    .dynamic-pill.active, .dynamic-pill:has(input:checked) {
        background-color: #007bff !important;
        color: #fff !important;
        box-shadow: 0 3px 8px rgba(0,123,255,0.2);
    }
    
    /* Global Clean Form input normalization overrides */
    .form-control:focus, select:focus {
        background-color: #fff !important;
        border-color: #80bdff !important;
        outline: 0;
        box-shadow: 0 0 0 0.2rem rgba(0,123,255,.15);
    }

/* EPOS */

.epos-button, .epos-item-button, .epos-item-button-inline { margin:5px; max-width: 100%; cursor:pointer; }
.epos-qty { margin:2px; max-width:8%; }
.epos-options, .indiv-options, .epos-indiv-options {  margin:5px; max-width: 100%; }
.eposlabels span {font-size:13px !important; }
.eposnotactive { opacity: 0.4; filter: alpha(opacity=40); /* msie */}
.m-invoice__footer {
    margin-top: 0rem !important;
    padding: 0 !important;
}
.paybycash { display:none; }
.m-invoice-2 .m-invoice__wrapper .m-invoice__body.m-invoice__body--centered { width:90% !important; }
.checkoutprice { padding: 12px 10px 0 10px !important; font-weight:600 !important; }
.tender { margin:3px; }
.seldiscount { margin:3px; }
.promodisc { margin:3px; }
.fixeddiscount { margin:3px; }
#tillpoint span, #selorderboard span { color: #FFFFFF !important; font-size: 14px !important; }
.nodashed {
    border-bottom: 0px !important;
}
.poscheckbox { position: relative; top: -15px; }
.hdstab { padding: 1.1em 1.4em !important; }
.changeuser:hover { background-color:#00c5dc !important; cursor:pointer; max-width:24% !important }
.changeuser i:hover { color:#FFFFFF; }
.repeatedit { margin-left:0px!important; margin-right:0px!important; }

#tablistdisplay { display: inline-block !important; }
#eposnav li div { display: inline-table !important; }
.viewtab {  }
#eposlogo { 
   margin: 0 auto;
   left: 5%;
   position: absolute;
   top: 5%;
}
#eposlogo img {  width:180px !important; height:auto !important; }
.m-invoice-2 .m-invoice__wrapper .m-invoice__footer .m-invoice__table.m-invoice__table--centered {
    width: 90% !important;
    padding-bottom:20px !important;
}
.epossetlocation { }

.printbill, .paybycashnow, .payonaccount, .pushtoroom, .paypartbycashnow, .paypartbycardnow, .paybycashnow, .pushpaynow, .pushpaybolt, .pushpaywolt, .pushpayhungrymonkey, .sendcheckout, .payonvoucher, .changetoeuro { margin-bottom:3px; }
.paybycashnow, .pushpaynow, .pushpayhungrymonkey, .pushpaybolt, .pushpaywolt, .payonaccount, .pushtoroom, .paypartbycashnow, .paypartbycardnow, .payonvoucher, .paybywastage, .paybylunchpass, .payontaglist, .invoicedpaynow { margin:10px 0 14px 0; padding:39px; }

.deletecart { margin-bottom:3px; margin-left: 3px; }

.deleteitemepos, .discitemepos { color:#222222; text-decoration: none !important; }
.deleteitemepos i, .discitemepos i { font-size: 2.3rem !important; }

.blurr { color: transparent !important; text-shadow: 0 0 5px rgba(0,0,0,0.5); }

.shake {
  display: inline-block;
  animation: shake 2.5s infinite;
  background-color: #ffb822;
  border-color:#ffb822;
  color:#222222;
}

#colorcatset_e { padding: 0;
    margin-top: 6px; }

.m-nav::-webkit-scrollbar {
    width: 0;  /* Remove scrollbar space */
    background: transparent;  /* Optional: just make scrollbar invisible */
}

/*  EPOS  */
.eposgrid>.m-stack__item {
    display: table-cell;
    vertical-align: top;
    height: 130px;
    border: 3px solid #FFF !important;
    border-radius: 10px;
	color:#FFFFFF;
	cursor: pointer;
	font-size:16px;
}
.eposfilter>.m-stack__item {
    display: table-cell;
    vertical-align: top;
    height: 130px;
    border: 3px solid #FFF !important;
    border-radius: 10px;
	color:#FFFFFF;
	cursor: pointer;
	font-size:14px;
}
.eposgrid>.active {
	background-color:#ffb822!important;
	color:#000000;
}
.eposfilter>.active {
	background-color:#ffb822!important;
	color:#000000;
}
.eposnumbers>.m-stack__item, .eposmeasures>.m-stack__item, .packages>.m-stack__item, .build>.m-stack__item {
    display: table-cell;
    vertical-align: top;
    height: 130px;
    border: 3px solid #FFF !important;
    border-radius: 10px;
	color:#FFFFFF;
	cursor: pointer;
	font-size:20px;
}
.eposnumbers>.active, .eposmeasures>.active, .packages>.active, .build>.active {
	background-color:#ffb822!important;
	color:#000000;
}
.eposcqty { border:2px solid #FFFFFF; }
.eposclassictotals { height:400px; overflow:scroll !important; overflow-x: hidden; }
.eposclassictotals::-webkit-scrollbar {
    width: 0;  /* Remove scrollbar space */
    background: transparent;  /* Optional: just make scrollbar invisible */
}
.eposclassictotals::-webkit-scrollbar-thumb {
    background: #FF0000;
}
.m-nav-grid>.m-nav-grid__row>.changecustomer {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    padding: 0.75rem .75rem !important;
}
.clearboarddown { margin-left:20px; }
.changecustomer { 
    margin: 0px;
    cursor: pointer;
    border: 2px solid #FFF;
    border-radius: 5px; }

.catdisabled { box-shadow: 5px 5px 5px red; }
.selfimage { border-radius:10px; position: relative; 
    height: 80px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center; background-size: cover; border: 5px solid #FFF;}
.selfimage p { color:#FFF; font-weight:600; font-size:20px; position: relative; }
.selfimage:before {
   content: "";
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    background-color: rgba(0,0,0,0.50);
	border-radius:10px;
}
#selfcheckout {
    position: fixed;
    top: 100px;
    right: -824px; 
	width:800px;
	border-radius:10px;
	-webkit-box-shadow: -8px 7px 15px 5px #000000; 
	box-shadow: -8px 7px 15px 5px #000000;
	z-index:99;
}
#selfcheckout table tr td { font-size:20px !important; }
.selfservecardpayment, .closeselfservecheckout, .addselfservevoucher { font-size:22px !important; font-weight:600 !important; padding: 1.65rem 3rem!important }
.selfserveasel, selfservecatsel { text-decoration:none; color:#FFF; }
.selfserveasel:hover, selfservecatsel:hover { text-decoration:none;  }
.selfservechecfoot { border-bottom-left-radius: 10px; }
.selfservemodal { position:absolute; top:60px; left:5px; }
.selfservemodal .m-stack__item { background-color:transparent !important; }
.selfservemodal .minusself, .selfservemodal .plusself { font-size:7.3rem !important; color:#FFF; }
.selfserveqty h4 { color:#FFF; font-size: 6.5rem !important; }
.selfserveqty p { font-size: 3.5rem; color: #FFF;font-weight: 600; }
.imageoverlay { width:100%; height:300px; }
#selserveoptions { margin-top:50px; clear:both; }
#selfoptionimage { width:100%; border-radius:10px; }
.imageoverlay:after {
    content: '\A';
    position: absolute;
    width: 100%; height:300px;
    top:0; left:0;
    background:rgba(0,0,0,0.6);
    opacity: 1;
    transition: all 1s;
    -webkit-transition: all 1s;
}
h6 { font-size:12px; font-weight:600; }
#selfcartbody .m-badge { background-color: #222 !important;border-radius: 0!important; margin-bottom: 5px!important; text-align:left; }
#selfcartbody .table { display: block;height: 385px;overflow-y: scroll; }
#selfcartbody .table::-webkit-scrollbar { 
    display: none;  /* Safari and Chrome */
}

@media (max-width: 768px) {
    .m-invoice-2 .m-invoice__wrapper .m-invoice__body.m-invoice__body--centered {
        padding: 1rem 1rem 0 1rem;
        width: 100% !important;
    }
}

/*EPOS Retail*/
.retailbutton { color:#FFFFFF;margin-bottom:15px;position:relative; }
#retailbuttontitle { background-color: #222;
    padding: 0 10px;
    width: 100px;
    position: absolute;
    top: -10px;
    z-index: 999;
    left: 7px;
	color:#FFF;
}
.retail-item-button { margin-bottom:20px; }
.weightbar { background-color: #222; height: 47px; color: #fff; padding: 0px; text-align: center; font-size:17px; }
.weightbar span { font-size: 30px !important; margin-right:20px; }
.exreportingarea { background: #f3f3f3; border-top: 4px solid #222; position: absolute;width: 100%;top: 260px;height: 215px;left: 17px; }
.savingarea { height: 120px; background: #ffc241; position: absolute; width: 100%; bottom: 250px; left: 17px; adding: 10px 0; font-weight: 600; }
.retailbuttons { width: 100%; height: 60px; font-size: 27px !important; }
.retailbuttons i { font-size: 30px !important; }
.paymentarea { background: #309d76; height: 250px; color: #FFF; font-weight: 600; padding: 10px 0; position: absolute; bottom: 0; width: 100%; left: 17px; }
.retailsavingcontainer { padding: 10px 0; }
#retailcarttotal, #retailcartsavings { font-size: 60px; }
.retailpaybutton { font-size:40px; font-weight:600; }
.highlightbox { box-shadow: 3px 3px 2px 1px rgba(0, 0, 90, 0.1); background-color: #FFF;padding: 10px; }
.highlightboxsub { box-shadow: 3px 3px 2px 1px rgba(0, 0, 90, 0.1); background-color: #FFF;padding: 10px; border-bottom: 1px dotted #ccc; }
.highlightimage {position:relative; left:-13px; }
.highlightprice { font-size: 50px; font-weight: 600; }
.highlightqty { padding-top:11px; }
.highlighttitle, .highlightprice { padding-top:17px; }
.highlightprice h3 { font-size:40px !important; font-weight:600; }
.highlightsubprice h3 { font-size:30px !important; font-weight:600; }
.retailqtycart { padding: 10px; font-size: 20px; }
.retailholdingsection { text-align:center; }
.retailpaymenttype { font-size: 100px;font-weight: 600;padding: 20px; }
.retailsubspan { font-size:20px; }
.retailsubfooter { text-align: right; padding: 20px !important; background-color: #222; }
.retailholdingleftlink {width: 400px;height: 400px;position: absolute;left: 132px;z-index: 99999;top: 211px;  }
.pulscontainer {  
  width: 300px;
  height: 100%;
  margin: 0 auto 0;
  -webkit-perspective: 1000;
  -webkit-backface-visibility: hidden; 
}

.pulse-button {
  position: relative;
  top: 24%;
  left: 31%;
  margin-left: -50px;
  margin-top: -50px;
  display: block;
  width: 500px;
  height: 500px;
  font-size: 4.0em;
  font-weight: light;
  text-transform: uppercase;
  text-align: center;
  line-height: 100px;
  letter-spacing: -1px;
  color: white;
  border: none;
  border-radius: 50%;
  background: #5a99d4;
  cursor: pointer;
  box-shadow: 0 0 0 0 rgba(#5a99d4, .5);
  -webkit-animation: pulse 1.5s infinite;
	padding-top:203px;
}
.pulse-button:hover {
  -webkit-animation: none;
}

.selserve .m-brand { padding: 0px 0px !important; }

.webctotal h4 { padding-top:7px; display:inline-block; }
.webcbasket { display:inline-block; padding-left:20px; padding-right:20px; margin-left:10px; }
.fullwidth { min-width:50% !important; }

.selfservebtn { width: 400px;
    height: 400px;
    border-radius: 200px !important;
    padding: 12rem 1.5rem;
    margin-bottom: 30px;
    font-size: 50px;
    font-weight: 600; }

@-webkit-keyframes pulse {
  0% {
    @include transform(scale(.9));
  }
  70% {
    @include transform(scale(1));
    box-shadow: 0 0 0 50px rgba(#5a99d4, 0);
  }
    100% {
    @include transform(scale(.9));
    box-shadow: 0 0 0 0 rgba(#5a99d4, 0);
  }
}

.ssoptions_container {  }
.ssoptions_container .box { position:relative; width: 110px;height: 72px;float: left;border: 3px solid #828282;border-radius: 5px;padding: 5px; margin:11px; cursor:pointer; background:rgb(255,255,255); }
.ssoptions_container .active { border: 3px solid #20bbd2; background: rgb(2,0,36);
background: linear-gradient(90deg, rgba(2,0,36,1) 0%, rgba(227,255,254,1) 0%, rgba(0,212,255,1) 100%); }
.ssoptions_container .box span { position: absolute; right: 5px; bottom: 5px; min-height: 10px !important; min-width: 10px !important; }

.highlighttextbox { border: 4px solid #ed1d40; }

/* PMS */
.m-nav-grid__item { vertical-align: top!important; }
.m-nav-grid__item .alignleft { margin-bottom:10px; }
.m-nav-grid__item .alignleft div { text-align:left !important; }

.m-widget4.m-widget4--progress .m-widget4__progress .m-widget4__progress-wrapper .progress {
    display: flex;
}
.walkarounditem { background:#e5e3e3 !important; padding:5px; border-right:5px solid #FFF !important; border-top:5px solid #FFF !important; }
.areaselection { cursor: pointer; }
.areaselection:hover { background-color:#f3f3f3 !important; }

/* Calendar */

.cal tr th { padding:10px; background-color:#222222; color:#ffffff; }
.cal tr td { padding:10px; border-right:1px solid #000000; border-bottom:1px solid #000000; border-top:1px solid #000000; }
.weekend { background-color:#FCF5BD; }
.today { background-color:#CCCCCC; }

.connected {
    border-color: #349032;
}

.dw_cardpreview { width:400px; border-radius:30px; padding:20px; min-height:660px; position:relative; }
.dw_logo { max-height:44px; }
.dw_logo img { height:auto; width:44px; }
.dw_title { color: #FFFFFF; font-weight: 600; font-size: 25px; padding-top: 20px; text-align:center; }
.dw_description { color: #FFFFFF; font-size: 22px; text-align: center; padding-top:20px; }
.dw_qr { padding-top: 50px;padding-bottom: 20px;text-align: center; }
.dw_qr img { border-radius:10px; width:170px; }
.dw_barcode { color:#FFFFFF; text-align:center; }
.dw_strip img { width: 400px;position: absolute;bottom: 0px;left: 0px;border-bottom-left-radius: 20px;border-bottom-right-radius: 20px; }
@media (min-width: 1025px) {
    .m-dropdown.m-dropdown--large .m-dropdown__wrapper {
        width: 400px !important;
    }	
    .m-page .m-page__container {
        padding: 0 20px;
    }
}

@media (min-width: 576px) {
    .tablecategories {
        padding-left:26px;
    }
}

@media (min-width: 1400px) {
	.m-container.m-container--responsive.m-container--xxl {
		width: 100% !important;
	}
}

/* Portrait and Landscape */
@media only screen 
  and (min-device-width: 375px) 
  and (max-device-width: 667px) 
  and (-webkit-min-device-pixel-ratio: 2) { 
	#eposnav li div button { margin-top: 3px; }
  .epos-qty {
		margin: 2px;
		max-width: 16%;
	}  
}

@media only screen 
  and (min-device-width: 768px) 
  and (max-device-width: 1024px) 
   and (-webkit-min-device-pixel-ratio: 1) {
	#eposnav li div button { margin-top: 3px; }
}

@media (max-width: 768px) {
	  .clientsdbutton { display:none; }
}

@media print {
  @page { margin: 0; }
  body { margin: 1.6cm; }
}

@keyframes shake {
    0% { transform: rotate(0deg); }
   80% { transform: rotate(0deg); }
   85% { transform: rotate(5deg); }
   95% { transform: rotate(-5deg); }
  100% { transform: rotate(0deg); }
}

@-webkit-keyframes pulse {
  0% { box-shadow:0 0 8px #ea4c89, inset 0 0 8px #ea4c89; }
  50% { box-shadow:0 0 16px #ea4c89, inset 0 0 14px #ea4c89; }
  100% { box-shadow:0 0 8px #ea4c89, inset 0 0 8px #ea4c89; }
}

.pulse-alert {
  animation: pulsate 2s infinite;
}

@keyframes pulsate {
  0% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(220, 53, 69, 0.7); /* Match alert-danger color */
  }
  70% {
    transform: scale(1.02);
    box-shadow: 0 0 0 10px rgba(220, 53, 69, 0);
  }
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(220, 53, 69, 0);
  }
}

.gemini-floating-btn {
    position: relative;
    bottom: -12px;
    right: 0px;
    width: 60px;
    height: 60px;
    /* Gemini Brand Gradient */
    background: linear-gradient(135deg, #1ba1e2 0%, #9b72cb 50%, #f06292 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 10px 25px rgba(155, 114, 203, 0.4);
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.gemini-floating-btn:hover {
    transform: scale(1.15) rotate(5deg);
    box-shadow: 0 15px 30px rgba(155, 114, 203, 0.6);
}

.gemini-icon {
    width: 32px;
    height: 32px;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.1));
}

/* The Pulse/Ripple Effect */
.gemini-ripple {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: rgba(155, 114, 203, 0.5);
    z-index: -1;
    animation: gemini-pulse 2.5s infinite;
}

@keyframes gemini-pulse {
    0% {
        transform: scale(1);
        opacity: 0.8;
    }
    100% {
        transform: scale(1.9);
        opacity: 0;
    }
}

/* Floating animation */
.gemini-floating-btn {
    animation: gemini-float 4s ease-in-out infinite;
}

@keyframes gemini-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-12px); }
}