/* Fonts */

@font-face {
        font-family: 'Golos Text Regular';
        src: url('https://borisfx-com-res.cloudinary.com/raw/upload/v1704216541/new-products/GolosText-Regular.ttf') format('truetype');
        font-weight: normal;
        font-style: normal;
    }

@font-face {
    font-family: 'Golos Text Medium';
    src: url('https://borisfx-com-res.cloudinary.com/raw/upload/v1704216541/new-products/GolosText-Medium.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Golos Text';
    src: url('https://borisfx-com-res.cloudinary.com/raw/upload/v1704216541/new-products/GolosText-Medium.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Golos Text SemiBold';
    src: url('https://borisfx-com-res.cloudinary.com/raw/upload/v1704216541/new-products/GolosText-SemiBold.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Golos Text Bold';
    src: url('https://borisfx-com-res.cloudinary.com/raw/upload/v1704216541/new-products/GolosText-Bold.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Golos Text ExtraBold';
    src: url('https://borisfx-com-res.cloudinary.com/raw/upload/v1704216541/new-products/GolosText-ExtraBold.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Golos Text Black';
    src: url('https://borisfx-com-res.cloudinary.com/raw/upload/v1704216541/new-products/GolosText-Black.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Noto Color Emoji Regular';
    src: url('https://borisfx.com/fonts/NotoColorEmoji/NotoColorEmoji-Regular.ttf');
    font-weight: normal;
    font-style: normal;
}

/* End Fonts */
.hidden{
    display: none;
}

.hidden{
    display: none;
}

.box{
    border: solid 1px rgba(0, 0, 0, 12%);
    border-radius: 8px;
    background-color: white;
}

.box-accent{
    border-color: #157AFF;
    border-width: 1px;
}

.error-banner{
    inset: unset;
    background-color: #ffcccc;
    border: 2px solid #cc2222;
    color: #992222;
    padding: .5rem 2rem;
    min-width: 200px;
    max-width: 60%;
    min-height: 60px;
    position: fixed;
    top: 128px;
    left: 50%;
    opacity: 0;
    transform: translate(-50%, -50%);
    transition: opacity .5s;
    visibility: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 5px;
    z-index: 0;
}

.error-banner.warning{
    background-color: #ffccaa;
    color: #bb6600;
    border-color: #bb6600;
}

.error-banner.show-banner{
    opacity: 100%;
    visibility: visible;
}

.button-group{
    display: flex;
    gap: 8px;
}

.btn-new{
    background-color: #00AEEF;
    color: black;
    width: 100%;
    height: 40px;
    font-size: 20px;
    font-family: "Golos Text";
    line-height: 24px;
    border-radius: 8px;
    border: none;   
    cursor: pointer;
    transition: .1s;
}

.btn-new:hover{
    background-color: #0C6080;
    color: white;
}

.btn-new:hover{
    background-color: #0C6080;
    color: white;
}

.btn-new:disabled{
    background-color:#4fcfff;
    color: #595959;
    cursor: not-allowed;
}

.btn-new:disabled:hover{
    color: #595959;
}

.btn-new-dynamic{
    width: unset!important;
    padding: 0 1rem;
}

.btn-new-compact{
    height: 32px!important;
    font-size: 14px!important;
    line-height: 16px!important;
}

.btn-new-secondary{
    background-color: #E5E5E6;
}

.btn-new-secondary:hover{
    background-color: #BFBFBF;
    color: black;
}

.btn-new-white{
    background-color: white!important;
    border: 1px solid rgba(0, 0, 0, .38)!important;
}

.btn-new-white:hover{
    color: black!important;
    background-color: rgba(0, 0, 0, .12)!important;
}

.btn-new-no-bg{
    background-color: rgba(0, 0, 0, 0)!important;
    border: none!important;
}

.btn-new-no-bg:hover, .btn-new-no-bg:focus, .btn-new-no-bg:focus-visible{
    background-color: rgba(0, 0, 0, 0)!important;
    color: unset!important;
    border: none!important;
    outline: none!important;
}

.btn-google, .btn-facebook{
    background-color: #E5E5E6!important;
    color: black;
}

.btn-google span{
    margin-left: 8px;
    display: inline-block;
    vertical-align: text-bottom;
}

.btn-facebook span{
    margin-left: 8px;
    display:inline-block;
    vertical-align: top;
}

.btn-google::before{
    content: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.045 8.239V12.06H15.49C14.778 14.375 12.843 16.032 10.045 16.032C6.71297 16.032 4.01197 13.331 4.01197 10C4.01197 6.669 6.71297 3.968 10.045 3.968C11.543 3.968 12.911 4.517 13.966 5.421L16.78 2.607C15.003 0.988 12.639 0 10.045 0C4.52097 0 0.0429688 4.477 0.0429688 10C0.0429688 15.523 4.52097 20 10.045 20C18.441 20 20.294 12.15 19.471 8.252L10.045 8.239Z" fill="black" fill-opacity="0.87"/></svg>');
}

.btn-facebook::before{
    content: url('http://localhost:8080/svgs/facebook.svg');
}

.btn-google:hover, .btn-facebook:hover{
    background-color: #c5c5c6!important;
    color: black;
    z-index: 999;
}

.btn-new-dynamic{
    width: unset!important;
    padding: 0 1rem;
}

.payment-method-container{
    padding: 24px 32px;
}

.payment-method-buttons{
    margin-top: 16px;
}

.license-box-container{
    display: flex;
    align-items: center;
    gap: 16px;
}

.license-box{
    border: 2px dashed rgba(0, 0, 0, 38%);
    stroke-width: 1px;;
    border-radius: 8px;
    padding: 10px 24px;
    margin-top: 16px;
}

.license-box span{
    font-size: 14px;
    line-height: 16px;
    letter-spacing: .5px;
}

dialog{
    border: 1px solid #157AFF;
    padding: 24px;
    z-index: 998;
}

dialog::backdrop{
    background-color: rgba(0, 0, 0, 40%);
}

.dialog-close-button{
    position: absolute;
    left: 95%;
    top: 0;
    font-size: 1.25rem;
}

.dialog-close-button a:focus{
    text-decoration: none;
}

.qty-select{
    color: rgba(0, 0, 0, 0.87);
    height: 40px;
    text-align: right;
    font-feature-settings: 'clig' off, 'liga' off;
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    background: transparent;
    border: none;
}

.qty-input{
    font-size: 20px !important;
    font-style: normal;
    font-weight: 600;
    line-height: 32px;
    color: #000;
    padding: 2px 5px !important;
    max-width: 60px !important;
    margin-left: 5px;
}

.topbar .login-modal{
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    position: fixed;
}

.bfx-modal{
    padding: 24px;
}

.login-modal{
    width: 525px;
    padding: 40px;
    border: 1px solid #157AFF;
    border-radius: 8px;
}

.money-back-container{
    display:flex;
    align-items: center;
    gap: 2px;
    border: 1px solid #E5E5E6;
    border-radius: 6px;
    padding: 0 8px 0 4px;
    min-width: 165px!important;
    height: 42px;
}

.money-back-text{
    color: rgba(0, 0, 0, 0.87);
    font-family: "Golos Text Regular"!important;
    font-size: 14px!important;
    text-transform: none!important;
    letter-spacing: 0!important;
    font-style: normal;
    font-weight: 400;
    line-height: 17px;
}

.topbar dialog p, 
.topbar dialog span,
.topbar dialog a{
    line-height: 1.25em!important;
    color: unset;
    letter-spacing: unset;
    text-transform: unset;
}

.topbar dialog div{
    line-height: 1em!important;
    background: rgba(0, 0, 0, .30)!important;
}

@media(max-width: 400px){
    dialog .btn-new{
        font-size: .8rem;
    }
}

.bfx-table td, .bfx-table th{
    border-bottom: 1px solid rgba(0, 0, 0, .38);
    padding: 4px 8px;
    font-size: 14px;
}

.bfx-table thead tr:first-child{
    border-radius: 8px 8px 0 0;
    outline: 1px solid rgba(0, 0, 0, .38);
}

.bfx-table td:first-child, .bfx-table th:first-child{
    padding-left: 16px;
}

.bfx-table tr td:first-child{
    border-left: 1px solid rgba(0, 0, 0, .38);
}
.bfx-table tr td:last-child{
    border-right: 1px solid rgba(0, 0, 0, .38);
}

.bfx-table tr th{
    background-color: #505050;
    color: white;
    font-weight: 400;
}

.bfx-table tr th:first-child{
    border-radius: 8px 0 0 0;
}

.bfx-table tr th:last-child{
    border-radius: 0 8px 0 0;
}


.bfx-table tr td:last-child{
    padding-right: 0;
}

.bfx-table tr:hover td{
    background-color: #e6e8e9;
}

.mobile-visible{
    display: none;
}

@media screen and (max-width: 992px) {
    .bfx-table{
        overflow-x: auto;
    }

    .mobile-hidden{
        display: none;
    }

    .mobile-visible{
        display: unset;
    }
}.form-row{
    display: flex;
    gap: 1.5rem;
}

.form-field, .read-only-field{
    flex-grow: 1;
    width: 100%;
    display:flex;
    flex-direction: column;
}

.form-field > label, .read-only-field > label{
    font-size: .875rem;
    line-height: 1rem;
    letter-spacing: .5px;
    margin-bottom: 8px;
    color: rgba(0, 0, 0, 60%);
}

.form-input, .form-select,
.form-field > input, .form-field > select{
    width: 100%;
    border: 1px solid rgba(0, 0, 0, 38%);
    height: 40px;
    padding: 0 .5rem;
    border-radius: 8px;
}

.form-field .field-footer{
    font-size: 14px;
    color: rgba(0, 0, 0, 38%);
    line-height: 16px;
    margin-top: 8px;
}

.read-only-field span{
    display: block;
}

.stripe-input{
    padding-top: 10px;
    padding-left: 8px;
}

.credit-card-logo{
    height: 28px;
    width: auto;
}

.billing-buttons{
    display: flex;
    justify-content: flex-end;
    gap: .5rem;
    padding-bottom: 32px;
}

.billing-button{
    background-color: #00AEEF;
    padding: 6px 32px;
    font-size: 18px;
    line-height: 24px;
    font-weight: 500;
    border-radius: 6px;
    color: black;
}

.billing-button.back-button{
    background-color: transparent;
}
.billing-button.back-button:hover{
    color: black;
    cursor: pointer;
}

.payment-method-option input{
    width: 24px;
    height: 24px;
    margin-right: 16px;
    vertical-align: middle;
}

.payment-method-option label{
    font-weight: 600;
}

.payment-method-option hr{
    border-top-color: rgba(0, 0, 0, 12%);
    margin: 16px 0;
}

.new-payment-method-container{
 margin-top: 8px;
}

.new-payment-method-container .billing-header,
.new-payment-method-container .billing-address-text-container{
    margin-bottom: 8px
}

.new-payment-method-container a{
    color: #157AFF;
    text-decoration-line: underline;
    font-weight: 600;
}

.new-payment-method-brands{
    margin-left: 40px;
}

.new-payment-method-brands .credit-card-logo{
    margin-right: 8px;
}
.cart .body-small{
    font-family: "Golos Text";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 17px;
}

.cart .h6{
    color: #000;
    font-family: "Golos Text Semibold";
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 24px; /* 150% */
}

.cart .h7{
    color: #000;
    font-feature-settings: 'liga' off, 'clig' off;
    font-family: "Golos Text Semibold";
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 16px; /* 114.286% */
}


.cart {
    position: absolute;
    background-color: white;
    margin-top: -5px;
    max-width: 400px;
    width: 100%;
    right: 0;
    max-height: calc(100vh - 80px);
    border: 1px solid #E6E6E6;
    border-radius: 8px;
}

.cart-content {
    padding-top: 12px;
    padding-bottom: 16px;
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 80px);
    overflow-y: auto;
    font-family: "Golos Text Regular";
}

.cart-content h1, .cart-content h2, .cart-content h3, .cart-content h4{
    font-family: "Golos Text SemiBold";
}

.cart-content a{
    letter-spacing: 0!important;
    font-size: unset;
    font-weight: unset;
    text-transform: none!important;
    height: unset;
}


.cart__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    font-size: 14px;
    font-weight: 400;
    line-height: 16px;
    color: rgba(0, 0, 0, 0.87);
    text-transform: uppercase;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(0,0,0,.1);
    padding-left: 16px;
    padding-right: 16px;
}

.cart__head .closeModal {
    cursor: pointer;
    display: block;
}

.cart__head .closeModal:before {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" ><g clip-path="url(%23clip0_6055_70192)"><path d="M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12L19 6.41Z" fill="%23323232"></path></g><defs><clipPath id="clip0_6055_70192"><rect width="24" height="24" fill="white"></rect></clipPath></defs></svg>');
}

/*
.cart__column {
    border-radius: 8px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    background: #fff;
    padding: 16px 24px 24px 24px;

}
*/

.cart__column.need-margin {
    margin-left: 16px;
    margin-right: 16px;
}

.cart__column .cart-total {
    padding: 16px;
    border-top: 1px solid rgba(0,0,0,.1);
}

.line-item-divider{
    margin-top: 0px;
    margin-bottom: 0px;
    margin-left: 8px;
    margin-right: 8px;
}

.cart-product__head {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 8px 0 2px 0;
    line-height: 1;
}

.cart-product__head img.cart-thumbnail {
    width: auto;
    height: 34px;
    max-width: 100%;
    object-fit: contain;
    object-position: left;
    display: block;
}

.cart-product__head span {
    color: #000;
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
}

.cart-product__head p {
    color: rgba(0, 0, 0, 0.65);
    font-size: 14px;
    font-weight: 500;
    line-height: 17px;
    width: 100%;
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.cart-product__head .cart-product__content {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding-left: 0;
}

.cart-product__content-top {
    position: absolute;
    top: 0;
    right: 0;
}

.cart-product__content-top a {
    font-size: 14px;
    color: #ABABAB;
    text-decoration: underline;
    line-height: 22px !important;
}

.cart-product__remove {
    display: flex;
    position: absolute;
    top: 0;
    right: 0;
    border: none;
    background: none;
    width: 24px;
    height: 22px;
    cursor: pointer;
    padding: 0 0 0 0;
}

.cart-product__remove:before {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><g clip-path="url(%23clip0_6055_70228)"><path d="M6 21H18V7H6V21ZM8 9H16V19H8V9ZM15.5 4L14.5 3H9.5L8.5 4H5V6H19V4H15.5Z" fill="%2300000061"></path></g><defs><clipPath id="clip0_6055_70228"><rect width="24" height="24" fill="white"></rect></clipPath></defs></svg>');
}

.cart-product__remove:hover:before {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><g clip-path="url(%23clip0_6055_70228)"><path d="M6 21H18V7H6V21ZM8 9H16V19H8V9ZM15.5 4L14.5 3H9.5L8.5 4H5V6H19V4H15.5Z" fill="%23F2545B"></path></g><defs><clipPath id="clip0_6055_70228"><rect width="24" height="24" fill="white"></rect></clipPath></defs></svg>');
}

.cart-quantity {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-left: 0;
}

.cart-quantity__main{
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.cart-quantity__inputs{
    display: flex;
    align-items: center;
    gap: 4px;
    height: 28px;
}

.cart-quantity > div {
    display: flex;
    align-items: center;
    gap: 8px;
}

.cart-quantity span {
    color: #000000A6;
    font-size: 16px;
    font-weight: 600;
    line-height: 32px;
}

.cart-quantity span.needButton {
    margin-right: 0;
    margin-left: auto;
}

.cart-qty-btn{
    padding: 6px 8px!important;
}

.cart-qty-btn span{
    font-size: 12px!important;
    line-height: normal!important;
}

.cart-quantity p {
    color: rgba(0, 0, 0, 0.65);
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    padding: 0 0 0 0;
    margin: 0 0 0 0;
}

.cart-quantity p s {
    margin-left: 5px;
    color: #00000061;
}

.cart-quantity__input {
    border: 1px solid rgba(0, 0, 0, 0.12);
    width: 71px;
    height: 40px;
    padding: 0 10px 0 16px;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 16px;
    letter-spacing: 0.5px;
    color: rgba(0, 0, 0, 0.87);
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
}

.cart-quantity__readonly{
    text-align: right;
    margin-right: unset!important;
}

.cart-quantity__select {
    position: relative;
    line-height: 1;
}


.cart-quantity select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid rgba(0, 0, 0, 0.12);
    width: 71px;
    height: 40px;
    padding: 0 16px;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 16px;
    letter-spacing: 0.5px;
    color: rgba(0, 0, 0, 0.87);
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    position: relative;
    z-index: 1;
    background: transparent;
}

.cart-quantity select::-ms-expand {
    display: none;
}

.discount-item {
    position: relative;
    font-size: 14px;
    color: #00000061;
    padding: 4px 30px 4px 8px;
    background: rgba(0, 0, 0, 0.10);
    border-radius: 31px;
    font-weight: 500;
}

.discount-item a {
    position: absolute;
    display: inline-block;
    margin-left: 5px;
    top: 50%;
    transform: translateY(-50%);
    right: 5px;
    width: 24px;
    height: 24px;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><g clip-path="url(%23clip0_6580_114270)"><path d="M18.3007 5.7107C17.9107 5.3207 17.2807 5.3207 16.8907 5.7107L12.0007 10.5907L7.1107 5.7007C6.7207 5.3107 6.0907 5.3107 5.7007 5.7007C5.3107 6.0907 5.3107 6.7207 5.7007 7.1107L10.5907 12.0007L5.7007 16.8907C5.3107 17.2807 5.3107 17.9107 5.7007 18.3007C6.0907 18.6907 6.7207 18.6907 7.1107 18.3007L12.0007 13.4107L16.8907 18.3007C17.2807 18.6907 17.9107 18.6907 18.3007 18.3007C18.6907 17.9107 18.6907 17.2807 18.3007 16.8907L13.4107 12.0007L18.3007 7.1107C18.6807 6.7307 18.6807 6.0907 18.3007 5.7107Z" fill="black" fill-opacity="0.38"/></g><defs><clipPath id="clip0_6580_114270"><rect width="24" height="24" fill="white"/></clipPath></defs></svg>');
}

.discountList {
    line-height: 1;
}

.cart-list-price {
    text-decoration: line-through;
    color: rgba (0, 0, 0, 0.87);
}

.cart-quantity__select::after {
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M10.59 0.590088L6 5.17009L1.41 0.590088L0 2.00009L6 8.00009L12 2.00009L10.59 0.590088Z' fill='black' fill-opacity='0.87'/%3E%3C/svg%3E");
    position: absolute;
    right: 14px;
    top: calc(50% - 2px);
    transform: translateY(-50%);
    height: 10px;
    display: flex;
    align-items: center;
}

.cart__discount {
    display: flex;
    gap: 12px;
    flex-direction: column;
}

.cart__discount .input-group {
    padding: 0 0 0 0;
    display: flex;
    gap: 10px;
    justify-content: space-between;
    align-items: flex-end;
}

.cart__discount .cart-discount-error {
    line-height: 1;
    color: #aa0000;
    font-size: .8rem;
    font-style: italic;
}

.cart__discount label {
    color: rgba(0, 0, 0, 0.60);
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 16px;
    letter-spacing: 0.5px;
    width: 100%;
    margin-bottom: 0;
}

.cart__discount input {
    display: block;
    border: 1px solid rgba(0, 0, 0, .38);
    height: 32px;
    line-height: 32px;
    max-width: 206px;
    width: 100%;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    padding: 0 10px;
    margin-top: 8px;
}

.needButton {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
}

.cart__discount .btn-gray, .needButton .btn-gray {
    appearance: none;
    cursor: pointer;
    height: 32px;
    border-radius: 6px;
    background: #E5E5E6;
    transition: all .3s;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 24px;
    text-align: center;
    color: rgba(0, 0, 0, 0.87);
    border: none;
    max-width: 98px;
    width: 100%;
    text-transform: none;
}

.needButton .btn-gray {
    padding: 12px 16px;
    line-height: 1;
    display: flex;
    align-items: center;
}

.needButton .btn-gray:hover, .cart__discount .btn-gray:hover {
    background-color: #BFBFBF;
    color: rgba(0, 0, 0, 0.87);
}

.cart-total {
    padding: 16px 0 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.cart-discount {
    color: #FF3611!important;
    font-family: 'Golos Text Regular';
    font-size: 14px!important;
}


.cart-total > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.cart-total span {
    color: #000000A6;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 24px;
}

.cart-total p {
    color: rgba(0, 0, 0, 0.65);
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 24px;
    padding: 0 0 0 0;
    margin: 0 0 0 0;
}

.cart-total > div:last-child {
    padding-top: 12px;
    border-top: 1px dashed rgba(0, 0, 0, 0.38);
}

.cart-total > div:last-child span {
    flex-grow:  1;
}

.cart .money-back-container{
    min-height: 54px;
}

.cart .money-back-text{
    font-size: 16px;
}

.cart .btn-blue {
    appearance: none;
    cursor: pointer;
    border-radius: 6px;
    background: #00AEEF;
    padding: 10px 32px;
    text-align: center;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    color: rgba(0, 0, 0, 0.87);
    border: none;
    max-width: 156px;
    transition: all .3s;
    line-height: 1;
    margin-right: 16px;
}

.cart .btn-new:hover{
    background-color: #33BEF2!important;
    color: unset!important;
}

.cart .btn-new:focus{
    background-color: #008BBF!important;
}

.cart .btn-new:disabled{
    background-color: #94C8DB;
    color: #939A9C;
}

.cart__scroll {
    display: flex;
    gap: 2px;
    flex-direction: column;
    overflow-y: scroll;
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 8px;
    padding-bottom: 16px;
    min-height: 0;
    max-height: 388px;
}

.cart__scroll .line-item-divider {
    margin-top: -6px;
    margin-bottom: 2px;
}

.cart__scroll > .cart__column {
    flex-shrink: 0;
}

.cart-global-discount-container{
    padding: 16px 24px; 
}

.cart-global-discount-text{
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(0, 0, 0, .65);
    line-height: 16px!important;
}

.cart-footer{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 16px;
}

.cart-footer--stretch{
    flex: 1;
    flex-direction: column;
    justify-content: flex-end;
    align-items: stretch;
}

.cart-footer--stretch > a{
    flex: 1;
    display: flex;
}

.cart-footer--stretch .money-back-container{
    flex: 1;
    display: flex;
    align-items: center;
    min-height: 54px;
}

.cart-content a{

}

.needButton {

}

.invalid-currency-modal{
    width: 525px;
    padding: 24px;
    border: 1px solid #157AFF;
    border-radius: 8px;
}

.btn-new.cart-checkout-btn{
    height: 54px;
    padding: 15px 30px;
    font-family: "Golos Text Semibold";
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 24px; /* 120% */
}

.cart-quantity-btn{}.login-page-container{
    display: flex;
    justify-content: center;
    align-items: center;
}

.login-page-content{
    width: 600px;
    padding: 40px 40px;
}

.login-panel-container{
    display: flex;
    align-items: center;
    justify-content: center;
}

.login-header{
    font-size: 30px!important;
    text-align: center;
    font-family: "Golos Text Semibold";
    margin-bottom: 24px;
}

.login-panel{
    width: 100%;
    font-family: "Golos Text Regular";
}

.login-select-container, .email-signin-container{
    width:100%;
    margin: 0;
}

.form-row{
    display: flex;
    gap: 1.5rem;
}

.login-field{
    flex-grow: 1;
    width: 100%;
    display:flex;
    flex-direction: column;
}

.login-field label{
    font-size: .875rem;
    line-height: 1rem;
    letter-spacing: .5px;
    margin-bottom: 8px;
    color: rgba(0, 0, 0, 60%);
}

.login-field input, .login-field select{
    width: 100%;
    border: 1px solid rgba(0, 0, 0, 38%);
    height: 40px;
    padding: 0 .5rem; 
    border-radius: 4px;
}

#signup-form .form-row{
    margin-bottom: 16px;
}

.btn{
    background-color: #0BAEFF;
}

.verify-text-container{
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 24px;
}

.verify-text-container h2{
    text-align: center;
    margin-bottom: 8px;
}

.verify-text-container span{
    text-align: center;
}

.verify-box-container{
    display:flex;
    justify-content: center;
    gap: 16px;
    margin: 24px 0;
}

.verify-box{
    height: 64px;
    width: 48px;
    padding: 1rem .75rem;
    border: 1px solid rgba(0, 0, 0, 38%);
    border-radius: 8px;
}

.signin-error{
    color: #CC2222;
    font-size: .85rem;
    font-style: italic;
}

.or-header{
    display: grid;
    grid-template-columns: 1fr max-content 1fr;
    grid-column-gap: 1.2rem;
    align-items: center;
    margin: 40px 0;
}

.or-header em{
    font-size: 14px;
    line-height: 14px;
    vertical-align: middle;
}

.or-header::before,
.or-header::after {
    content: "";
    display: block;
    height: 1px;
    background-color: rgba(0, 0, 0, 38%);
}

.register-link{
    margin-top: 32px;
    font-size: 14px;
    display: flex;
    justify-content: flex-end;
}

.login-box-with-buttons .external-login-buttons {
    margin-top: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: stretch;
}

.login-box-with-buttons .external-login-buttons .btn {
    width: 100%;
}

/* Login form checkout - Figma design */
.login-form-checkout {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

.login-form-checkout__title {
    font-family: 'Golos Text SemiBold', 'proxima-nova', sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 24px;
    color: #000;
    margin: 0 0 0 0;
}

.login-form-checkout__form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.login-form-checkout__field {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.login-form-checkout__field label {
    font-family: 'Golos Text Regular', 'proxima-nova', sans-serif;
    font-size: 14px;
    line-height: 16px;
    color: rgba(0, 0, 0, 0.65);
    letter-spacing: 0.5px;
}

.login-form-checkout__field input {
    height: 40px;
    padding: 0 16px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 6px;
    font-family: 'Golos Text Regular', 'proxima-nova', sans-serif;
    font-size: 14px;
}

.login-form-checkout__field input::placeholder {
    color: rgba(0, 0, 0, 0.65);
}

.login-form-checkout__submit {
    height: 40px;
    padding: 10px 16px;
    background-color: #0baeff;
    border: none;
    border-radius: 6px;
    font-family: 'Golos Text Medium', 'proxima-nova', sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 20px;
    color: rgba(0, 0, 0, 0.87);
    cursor: pointer;
}

.login-form-checkout__submit:hover:not(:disabled) {
    background-color: #0999e6;
}

.login-form-checkout__submit:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

.login-form-checkout__error {
    font-size: 14px;
    color: #cc2222;
    margin: 0;
}

.login-form-checkout__or {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 12px;
    font-family: 'Golos Text Regular', 'proxima-nova', sans-serif;
    font-size: 14px;
    color: rgba(0, 0, 0, 0.6);
    letter-spacing: 0.5px;
}

.login-form-checkout__or::before,
.login-form-checkout__or::after {
    content: '';
    height: 1px;
    background-color: rgba(0, 0, 0, 0.12);
}

.login-form-checkout .google-signin-container .btn-google {
    width: 100%;
    height: 40px;
    background-color: #e5e5e6 !important;
    color: rgba(0, 0, 0, 0.87) !important;
    font-family: 'Golos Text Medium', 'proxima-nova', sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 24px;
    border-radius: 6px;
}

.login-form-checkout__register {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: 'Golos Text Regular', 'proxima-nova', sans-serif;
    font-size: 14px;
    line-height: 16px;
    letter-spacing: 0.28px;
    color: rgba(0, 0, 0, 0.87);
}

.login-form-checkout__register a {
    color: #1876db;
    text-decoration: underline;
}

.login-panel a{
    text-decoration: underline;
}

.forgot-password{
    color: rgba(0, 0, 0, 65%);
    text-decoration: underline;
}

#google-login{
    width: 100%;
}

@media screen and (max-width: 450px){
    .login-page-container{
        width: 100%;
    }
    .login-page-content{
        width: 100%;
        padding: 16px;
    }

    .email-signin-container, .login-select-container{
        width: 100%
    }
}.more-options-menu-container{
    position: relative;
}

.more-options-menu{
    width: 175px;
    position: absolute;
    right: calc(100% - 24px);
    z-index: 999;
}

.more-options-menu-items{
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 14px;
    display: flex;
    flex-direction: column;
}

.more-options-menu-items li{
    padding: 8px 16px;
}

.more-options-menu-items a:not(:last-child){
    border-bottom: 1px solid rgba(0, 0, 0, .32);
}


.more-options-menu-items li:hover{
    background-color: rgba(0,0,0,.12);
}.optics-upsell-container{
    position: relative;
}

.optics-upsell-close{
    position:absolute;
    right: 30px;
    top: 30px;
}

.optics-upsell-close-button{
    border: none;
    width: 35px;
    height: 35px;
}.no-margin{
    margin: 0!important;
}.toast-animate-in {
    animation: toast-in .5s;
}

.toast-animate-out {
    animation: toast-out .75s;
}

.toast-success {
    background-color: green;
    color: white;
    top: 60px;
}

.toast-error {
    background-color: #d0162a;
    color: white;
    top: 60px;
}

@keyframes toast-in {
    0% {
        opacity: 0;
        top: 0px;
    }
    50% {
        opacity: 75%;
    }
    100% {
        opacity: 100%;
        top: 60px;
    }
}

@keyframes toast-out {
    0% {
        opacity: 100%;
        top: 60px;
    }
    100% {
        opacity: 0;
        top: -16px;
    }
}
