.cart {
    position: fixed;
    bottom: 40px;
    right: 40px;
    width: 65px;
    height: 65px;
    border-radius: 40px;
    background-color: var(--main-color);
    color: #fff;
    text-align: center;
    justify-content: center;
    align-items: center;
    display: flex;
    z-index:998;
    cursor: pointer;
    box-shadow: 0px 0px 20px 0px #777
}


.cart_info {
    position: relative;
    width: 100%;
    color: #fff;
}

.cart_info p {
    color: #fff;
}

#center-text {
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
}

#cart-circle {
    position: fixed;
    bottom: 50px;
    right: 50px;
    background: #5A5EB9;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    color: white;
    padding: 28px;
    cursor: pointer;
    box-shadow: 0px 3px 16px 0px rgba(0, 0, 0, 0.6), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
}

.btn#my-btn {
    background: white;
    padding-top: 13px;
    padding-bottom: 12px;
    border-radius: 45px;
    padding-right: 40px;
    padding-left: 40px;
    color: #5865C3;
}

#cart-overlay {
    background: rgba(255, 255, 255, 0.1);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    display: none;
}


.cart-box {
    display: none;
    background: #efefef;
    position: fixed;
    right: 40px;
    bottom: 50px;
    width: auto;
    max-width: 85vw;
    max-height: 100vh;
    border-radius: 5px;
    box-shadow: 0px 0px 61px -10px #000;
    z-index:9999999999;
}

.cart.bounce {
    animation: bounce .5s infinite alternate;
    -webkit-animation: bounce .5s infinite alternate;
}

.cart-table {
    border-collapse: collapse;
    width: 800px;
}

.cart-prediction {
    border-bottom: 1px solid #888;
    padding-bottom:0px;
}

.cart-prediction th {
    padding: 15px 15px;
    text-align: center;
    justify-content: center;
}

.cart-prediction td {
    padding-bottom: 15px;
    padding-top: 15px;
}

.cart-box-toggle {
    float: right;
    margin-right: 15px;
    cursor: pointer;
    color: #fff;
    font-size:18px;
}

.prediction-close {
    color: var(--main-color);
    cursor: pointer;
}

.cart-box-header {
    background: var(--main-color);
    height: 40px;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    color: white;
    text-align: center;
    /* font-size: 20px; */
    padding-top: 5px;
}

.cart-box-body {
    position: relative;
    height: 370px;
    width:100%;
    max-height: 40vh;
    overflow-y: auto;
}

.cart-box-body:after {
    content: "";
    background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgdmlld0JveD0iMCAwIDIwMCAyMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAgOCkiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PGNpcmNsZSBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS4yNSIgY3g9IjE3NiIgY3k9IjEyIiByPSI0Ii8+PHBhdGggZD0iTTIwLjUuNWwyMyAxMW0tMjkgODRsLTMuNzkgMTAuMzc3TTI3LjAzNyAxMzEuNGw1Ljg5OCAyLjIwMy0zLjQ2IDUuOTQ3IDYuMDcyIDIuMzkyLTMuOTMzIDUuNzU4bTEyOC43MzMgMzUuMzdsLjY5My05LjMxNiAxMC4yOTIuMDUyLjQxNi05LjIyMiA5LjI3NC4zMzJNLjUgNDguNXM2LjEzMSA2LjQxMyA2Ljg0NyAxNC44MDVjLjcxNSA4LjM5My0yLjUyIDE0LjgwNi0yLjUyIDE0LjgwNk0xMjQuNTU1IDkwcy03LjQ0NCAwLTEzLjY3IDYuMTkyYy02LjIyNyA2LjE5Mi00LjgzOCAxMi4wMTItNC44MzggMTIuMDEybTIuMjQgNjguNjI2cy00LjAyNi05LjAyNS0xOC4xNDUtOS4wMjUtMTguMTQ1IDUuNy0xOC4xNDUgNS43IiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS4yNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PHBhdGggZD0iTTg1LjcxNiAzNi4xNDZsNS4yNDMtOS41MjFoMTEuMDkzbDUuNDE2IDkuNTIxLTUuNDEgOS4xODVIOTAuOTUzbC01LjIzNy05LjE4NXptNjMuOTA5IDE1LjQ3OWgxMC43NXYxMC43NWgtMTAuNzV6IiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS4yNSIvPjxjaXJjbGUgZmlsbD0iIzAwMCIgY3g9IjcxLjUiIGN5PSI3LjUiIHI9IjEuNSIvPjxjaXJjbGUgZmlsbD0iIzAwMCIgY3g9IjE3MC41IiBjeT0iOTUuNSIgcj0iMS41Ii8+PGNpcmNsZSBmaWxsPSIjMDAwIiBjeD0iODEuNSIgY3k9IjEzNC41IiByPSIxLjUiLz48Y2lyY2xlIGZpbGw9IiMwMDAiIGN4PSIxMy41IiBjeT0iMjMuNSIgcj0iMS41Ii8+PHBhdGggZmlsbD0iIzAwMCIgZD0iTTkzIDcxaDN2M2gtM3ptMzMgODRoM3YzaC0zem0tODUgMThoM3YzaC0zeiIvPjxwYXRoIGQ9Ik0zOS4zODQgNTEuMTIybDUuNzU4LTQuNDU0IDYuNDUzIDQuMjA1LTIuMjk0IDcuMzYzaC03Ljc5bC0yLjEyNy03LjExNHpNMTMwLjE5NSA0LjAzbDEzLjgzIDUuMDYyLTEwLjA5IDcuMDQ4LTMuNzQtMTIuMTF6bS04MyA5NWwxNC44MyA1LjQyOS0xMC44MiA3LjU1Ny00LjAxLTEyLjk4N3pNNS4yMTMgMTYxLjQ5NWwxMS4zMjggMjAuODk3TDIuMjY1IDE4MGwyLjk0OC0xOC41MDV6IiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS4yNSIvPjxwYXRoIGQ9Ik0xNDkuMDUgMTI3LjQ2OHMtLjUxIDIuMTgzLjk5NSAzLjM2NmMxLjU2IDEuMjI2IDguNjQyLTEuODk1IDMuOTY3LTcuNzg1LTIuMzY3LTIuNDc3LTYuNS0zLjIyNi05LjMzIDAtNS4yMDggNS45MzYgMCAxNy41MSAxMS42MSAxMy43MyAxMi40NTgtNi4yNTcgNS42MzMtMjEuNjU2LTUuMDczLTIyLjY1NC02LjYwMi0uNjA2LTE0LjA0MyAxLjc1Ni0xNi4xNTcgMTAuMjY4LTEuNzE4IDYuOTIgMS41ODQgMTcuMzg3IDEyLjQ1IDIwLjQ3NiAxMC44NjYgMy4wOSAxOS4zMzEtNC4zMSAxOS4zMzEtNC4zMSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjEuMjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvZz48L3N2Zz4=');
    opacity: 0.1;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    height: 100%;
    position: absolute;
    z-index: -1;
}

#cart-input {
    background: #f4f7f9;
    width: 100%;
    position: relative;
    height: 47px;
    padding-top: 10px;
    padding-right: 50px;
    padding-bottom: 10px;
    padding-left: 15px;
    border: none;
    resize: none;
    outline: none;
    border: 1px solid #ccc;
    color: #888;
    border-top: none;
    border-bottom-right-radius: 5px;
    border-bottom-left-radius: 5px;
    overflow: hidden;
}

.cart-input {
    height:50px;
}

.cart-input>form {
    margin-bottom: 0;
}

#cart-input::-webkit-input-placeholder {
    /* Chrome/Opera/Safari */
    color: #ccc;
}

#cart-input::-moz-placeholder {
    /* Firefox 19+ */
    color: #ccc;
}

#cart-input:-ms-input-placeholder {
    /* IE 10+ */
    color: #ccc;
}

#cart-input:-moz-placeholder {
    /* Firefox 18- */
    color: #ccc;
}

.cart-submit {
    position: absolute;
    bottom: 10px;
    right: 15px;
    box-shadow: none;
    background-color: var(--main-color);
    border:none;
    font-size:14px;
}

.cart-submit:hover {
    background-color: #80211e;
}

.cart-logs {
    padding: 15px;
    min-height: 100px;
    height: auto;
    /*overflow-y: scroll;*/

}

.cart-logs::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
    background-color: #F5F5F5;
}

.cart-logs::-webkit-scrollbar {
    width: 5px;
    background-color: #F5F5F5;
}

.cart-logs::-webkit-scrollbar-thumb {
    background-color: #5A5EB9;
}



@media only screen and (max-width: 500px) {
    .cart-logs {
        height: 40vh;
    }
}

.cart-msg.user>.msg-avatar img {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    float: left;
    width: 15%;
}

.cart-msg.self>.msg-avatar img {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    float: right;
    width: 15%;
}

.cm-msg-text {
    background: white;
    padding: 10px 15px 10px 15px;
    color: #666;
    max-width: 75%;
    float: left;
    margin-left: 10px;
    position: relative;
    margin-bottom: 20px;
    border-radius: 30px;
}

.cart-msg {
    clear: both;
}

.cart-msg.self>.cm-msg-text {
    float: right;
    margin-right: 10px;
    background: #5A5EB9;
    color: white;
}

.cm-msg-button>ul>li {
    list-style: none;
    float: left;
    width: 50%;
}

.cm-msg-button {
    clear: both;
    margin-bottom: 70px;
}

.cart-number {
    position:relative;
    bottom:100px;
    right:-30px;
    border-radius:45px;
    background: #00aabb;
}

.cart-number:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 0;
	height: 0;
	border: 54px solid transparent;
	border-top-color: #00aabb;
	border-bottom: 0;
	margin-left: -54px;
	margin-bottom: -54px;
}

.bubble
{
    display:none;
    position: fixed;
    bottom: 128px;
    right: 48px;
    width: 55px;
    height: 40px;
    padding: 0px;
    background: #CF5858;
    -webkit-border-radius: 7px;
    -moz-border-radius: 7px;
    border-radius: 7px;
}

.bubble.bounce {
    animation: bounce .5s infinite alternate;
    -webkit-animation: bounce .5s infinite alternate;
}

.bubble .text-inside {
  display:flex;
  justify-content:center;
  align-self: center;
  align-items: center;
  font-size:1.6rem;
  color:#fff;
}

.bubble:after
{
    content: '';
    position: absolute;
    border-style: solid;
    border-width: 23px 14px 0;
    border-color: #CF5858 transparent;
    display: block;
    width: 0;
    z-index: 1;
    bottom: -17px;
    left: 15px;
}


.invalid-notice {
    pointer-events: none;
    cursor: not-allowed;
    background-color: #cecece;
    color:#222;
    /* transition: .35s all ease-in-out; */
    animation: negative .9s both;
    /* animation-play-state: running;
    animation-iteration-count: infinite; */
}

@keyframes negative {
    0% {
        transform: translateX(0px);
    }
    15% {
        transform: translateX(-4px)
    }
    30% {
        transform: translateX(4px)
    }
    45% {
        transform: translateX(0px);
    }
}

@keyframes bounce {
    from {
      transform: translateY(0px);
    }
    to {
      transform: translateY(-15px);
    }
  }
  @-webkit-keyframes bounce {
    from {
      transform: translateY(0px);
    }
    to {
      transform: translateY(-15px);
    }
  }
