

.background-default {
    /*background: url("../Style/Img/bg.webp") no-repeat center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;*/
}
.background-page {
    background: var(--bs-page-bg) !important;
}
select { resize: auto; }
.d-flex li{
    list-style: none;
}


.loader_msg {
    max-width: 120px;
    position: relative;
    border-style: solid;
    box-sizing: border-box;
    border-width: 40px 60px 30px 60px;
    border-color: var(--bs-primary-bg) var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-secondary-bg);
    animation: envFloating 1s ease-in infinite alternate;
}

.loader_msg:after {
    content: "";
    position: absolute;
    right: 62px;
    top: -40px;
    height: 70px;
    width: 50px;
    background-image: linear-gradient(var(--bs-body-color) 45px, transparent 0),
    linear-gradient(var(--bs-body-color) 45px, transparent 0),
    linear-gradient(var(--bs-body-color) 45px, transparent 0);
    background-repeat: no-repeat;
    background-size: 30px 4px;
    background-position: 0 11px , 8px 35px, 0 60px;
    animation: envDropping 0.75s linear infinite;
}

@keyframes envFloating {
    0% {
        transform: translate(-2px, -5px)
    }

    100% {
        transform: translate(0, 5px)
    }
}

@keyframes envDropping {
    0% {
        background-position: 100px 11px , 115px 35px, 105px 60px;
        opacity: 1;
    }

    50% {
        background-position: 0 11px , 20px 35px, 5px 60px;
    }

    60% {
        background-position: -30px 11px , 0 35px, -10px 60px;
    }

    75%, 100% {
        background-position: -30px 11px , -30px 35px, -30px 60px;
        opacity: 0;
    }
}


.card_qr {
    width: 100%;
    height: 100%;
    border-radius: 20px;
    background: #f5f5f5;
    position: relative;
    padding: 1.8rem;
    border: 2px solid #c3c6ce;
    transition: 0.5s ease-out;
    overflow: visible;
}

.card-details {
    color: black;
    height: 100%;
    gap: .5em;
    display: grid;
    place-content: center;
}

.card-button {
    transform: translate(-50%, 125%);
    width: 60%;
    border-radius: 1rem;
    border: none;
    background-color: var(--bs-primary-bg);
    color: var(--bs-primary-text);
    font-size: 1rem;
    padding: .5rem 1rem;
    position: absolute;
    left: 50%;
    bottom: 0;
    opacity: 0;
    transition: 0.3s ease-out;
}
.card-button:hover {
    color: var(--bs-primary-text)  ;
}
.text-body {
    color: rgb(134, 134, 134);
}

/*Text*/
.text-title {
    font-size: 1.5em;
    font-weight: bold;
}

/*Hover*/
.card_qr:hover {
    border-color:  var(--bs-primary-bg);
    box-shadow: 0 4px 18px 0 rgba(0, 0, 0, 0.25);
}

.card_qr:hover .card-button {
    transform: translate(-50%, 50%);
    opacity: 1;
}


select { resize: auto; }
.d-flex li{
    list-style: none;
}
.img-contain{
    object-fit: contain !important;
}
.img-cover{
    object-fit: cover !important;
}
.img-scale-down{
    object-fit: scale-down !important;
}
.img-fill{
    object-fit: fill !important;
}
.pull-right{
    float: right !important;
}
.pull-left{
    float: left !important;
}
.dropdown-menu-right {
    right: 0;
    left: auto;
}
.height-auto{
    height: auto !important;
}

.img-contain{
    object-fit: contain !important;
}
.img-cover{
    object-fit: cover !important;
}
.img-scale-down{
    object-fit: scale-down !important;
}
.img-fill{
    object-fit: fill !important;
}
.pull-right{
    float: right !important;
}
.pull-left{
    float: left !important;
}
.dropdown-menu-right {
    right: 0;
    left: auto;
}
.pagination li{
    padding: 0!important;

}
.height-auto{
    height: auto !important;
}
.emojionearea .emojionearea-editor {
    height: auto !important;
}
/*region Inputs*/

.input-group .form-floating{
    width: 100%;
}
.input-group .form-floating .form-control{
    padding-right: 55px;
}
.input-group .input-group-btn{
    position: absolute;
    right: 5px;
    top:10px;
}
.input-group-btn .btn{
    height: 100%;
}
/*endregion*/

/*region Send Button*/
.btn-send {
    font-family: inherit;
    background: royalblue;
    color: white;
    padding: 0.7em 1em;
    padding-left: 0.9em;
    display: inline-flex;
    align-items: center;
    border: none;
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.2s;
}

.btn-send span {
    display: block;
    margin-left: 0.3em;
    transition: all 0.3s ease-in-out;
}

.btn-send svg {
    display: block;
    transform-origin: center center;
    transition: transform 0.3s ease-in-out;
}

.btn-send:hover .svg-wrapper {
    animation: fly-1 0.6s ease-in-out infinite alternate;
}

.btn-send:hover svg {
    transform: translateX(1.2em) rotate(45deg) scale(1.1);
}

.btn-send:hover span {
    transform: translateX(5em);
}

.btn-send:active {
    transform: scale(0.95);
}

@keyframes fly-1 {
    from {
        transform: translateY(0.1em);
    }

    to {
        transform: translateY(-0.1em);
    }
}


/*endregion*/

.chat-list li a {
    padding: 5px 10px !important;
}
.side-menu-nav .nav-item {
     margin: 0 !important;
}
.center-body-vertical{
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex !important;
    align-items: center ;
    justify-content: center !important;
}

.center-body{
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    align-items: center !important;
    justify-content: center !important;
}
.center-body2{
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    justify-content: center !important;
}
@media only screen and (max-height: 400px) {
    .center-body{
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        align-items: normal !important;
        justify-content: center !important;
    }

}
@media only screen and (max-height: 300px) {
    .center-body2{
        display: unset;
        justify-content: unset !important;
    }
}

.top-overlay {
    position: absolute;
    display: none;
    width: 100%;
    top: 0;
    left: 0;
    right: 0;
    background-color: rgba(0,0,0,0.5);
    z-index: 2;
    cursor: pointer;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    align-items: center;
    justify-content: center;
}

/*region BTN*/

.btn-app-special {
    border-radius: 10px; !important;
    margin:  5px !important;
    padding: 5px !important;
}

.btn-app-mini {
    border-radius: 3px;
    border: 1px solid var(--bs-primary-bg);
    font-size: 7pt !important;
    height: 60px ;
    margin: 0 0 5px 5px ;
    min-width: 50px !important;
    padding: 5px 2px;
    position: relative;
    text-align: center;
}

.btn-app {
    border-radius: 3px;
    border: 1px solid var(--bs-primary-bg);
    font-size: 9pt !important;
    height: 65px;
    margin: 0 0 10px 10px;
    min-width: 80px;
    padding: 15px 5px;
    position: relative;
    text-align: center;
}

.btn-app-mini > .fa,
.btn-app-mini > .fas,
.btn-app-mini > .far,
.btn-app-mini > .fab,
.btn-app-mini > .fal,
.btn-app-mini > .fad,
.btn-app-mini> .svg-inline--fa,
.btn-app-mini > .ion {
    display: block;
    font-size: 15px;
}

.btn-app > .fa,
.btn-app > .fas,
.btn-app > .far,
.btn-app > .fab,
.btn-app > .fal,
.btn-app > .fad,
.btn-app > .svg-inline--fa,
.btn-app > .ion {
    display: block;
    font-size: 20px;
}

.btn-app > .svg-inline--fa {
    margin: 0 auto;
}

.btn-app:hover {
    background-color: #f8f9fa;
    border-color: #aaaaaa;
    color: #444;
}

.btn-app:active, .btn-app:focus {
    box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}

.btn-app > .badge {
    font-size: 10px;
    font-weight: 400;
    position: absolute;
    right: -10px;
    top: -3px;
}

/*endregion*/


/*region Upload*/
/*
*
* ==========================================
* CUSTOM UTIL CLASSES
* ==========================================
*
*/
.Bold-Upload {
    opacity: 0;
}

.Bold-Upload-Label {
    position: absolute;
    top: 50%;
    left: 1rem;
    transform: translateY(-50%);
}

.image-area {
    border: 2px dashed rgba(255, 255, 255, 0.7);
    padding: 1rem;
    position: relative;
}

.image-area::before {
    content: '';
    color: #fff;
    font-weight: bold;
    text-transform: uppercase;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 0.8rem;
    z-index: 1;
}

.image-area img {
    z-index: 2;
    position: relative;
}
/*endregion*/

/*region Location Loader*/
.location_loader {
    width: 44.8px;
    height: 44.8px;
    position: relative;
    transform: rotate(45deg);
}

.location_loader:before,
.location_loader:after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50% 50% 0 50%;
    background: #0000;
    background-image: radial-gradient(circle 11.2px at 50% 50%,#0000 94%, #ff4747);
}

.location_loader:after {
    animation: pulse-ytk0dhmd 1s infinite;
    transform: perspective(336px) translateZ(0px);
}

@keyframes pulse-ytk0dhmd {
    to {
        transform: perspective(336px) translateZ(168px);
        opacity: 0;
    }
}


/*endregion*/

/*region Flip Card*/
.flip-card {
    background-color: transparent;
    min-width: 245px;
    min-height: 270px;
    perspective: 1000px;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.flip-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 0.6s;
    transform-style: preserve-3d;
}

.flip-card-front, .flip-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    padding: 5px;
    border-radius: 2em;
    backface-visibility: hidden;
}

.flip-card-front {

}

.profile-image {
    background-color: transparent;
    border: none;
    margin-top: 15px;
    border-radius: 5em;
    width: 120px;
    height: 120px;
    margin-left: 50px;
}

.pfp {
    border-radius: 35em;
    fill: #c143da;
}

.name {
    margin-top: 15px;
    font-size: 27px;
    color: #c143da;
    font-weight: bold;
}

.flip-card-back {

}

.description {
    margin-top: 10px;
    font-size: 14px;
    letter-spacing: 1px;
    color: white
}

.socialbar {
    background-color: transparent;
    border-radius: 3em;
    width: 90%;
    padding: 14px;
    margin-top: 11px;
    margin-left: 10px;
    word-spacing: 24px;
    color: white;
}

.socialbar svg {
    transition: 0.4s;
    width: 20px;
    height: 20px;
    color: #c143da
}

.socialbar svg:hover {
    color: white;
}

.flip-card:hover .flip-card-inner {
    transform: rotateY(180deg);
}

/*endregion*/

/*region User Card*/
.user-card {
    width: 100%;
    border-radius: 2em;
    padding: 10px;
    background-color: #191919;
    box-shadow: 5px 5px 30px rgb(4, 4, 4),
    -5px -5px 30px rgb(57, 57, 57);
}

.profileimage {
    background-color: transparent;
    border: none;
    margin-top: 20px;
    border-radius: 5em;
    width: 100px;
    height: 100px;
}

.pfp {
    border-radius: 35em;
    fill: white;
}

.user-card .Name {
    color: white;
    font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
    padding: 15px;
    font-size: 20px;
    margin-top: 10px;
}

.user-card a {
    transition: 0.4s;
    color: white
}

/*endregion*/

/*region Multiple Select*/

.multi-select-container {
    display: inline-block;
    position: relative;
}

.multi-select-menu {
    z-index: 9;
    position: absolute;
    left: 0;
    top: 0.8em;
    float: left;
    min-width: 100%;
    background: #fff;
    margin: 1em 0;
    padding: 0.4em 0;
    border: 1px solid #aaa;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    display: none;
}

.multi-select-menu input {
    margin-right: 0.3em;
    vertical-align: 0.1em;
}


.multi-select-button {
    display: inline-block;
    font-size: 0.875em;
    padding: 0.2em 0.6em;
    max-width: 20em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: -0.5em;
    background-color: #fff;
    border: 1px solid #aaa;
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    cursor: default;
}

.multi-select-button:after {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.4em 0.4em 0 0.4em;
    border-color: #999 transparent transparent transparent;
    margin-left: 0.4em;
    vertical-align: 0.1em;
}

.multi-select-container--open .multi-select-menu { display: block; }

.multi-select-container--open .multi-select-button:after {
    border-width: 0 0.4em 0.4em 0.4em;
    border-color: transparent transparent #999 transparent;
}
/*endregion*/

/*region Card*/
.profile-card {
    max-width: 100%;
    padding: 1rem;
    background-color: #fff;
    border-radius: 10px;
    border: 1px solid #999999;
    box-shadow: 20px 20px 30px rgba(0, 0, 0, .05);
}

.profile-card .title {
    font-weight: 600;
    color: rgb(31 41 55);
}

.profile-card .description {
    margin-top: 1rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    color: rgb(75 85 99);
}


.profile-card .description a:hover {
    -webkit-text-decoration-line: underline;
    text-decoration-line: underline;
}

.profile-card .actions {
    width: 100%;
    align-items: center;
    justify-content: space-between;
    margin-top: 1rem;
    -moz-column-gap: 1rem;
    column-gap: 0.5rem;
    flex-shrink: 0;
}


/*region Blink*/
.blink {
    animation: blink-animation 1s steps(5, start) infinite;
    -webkit-animation: blink-animation 1s steps(5, start) infinite; /* For older browsers */
}

@keyframes blink-animation {
    to { visibility: hidden; }
}

@-webkit-keyframes blink-animation {
    to { visibility: hidden; }
}
/*endregion*/

.profile-card .btn {
    font-size: 0.75rem;
    line-height: 1rem;
    font-weight: 500;
    margin: 0.5em;
    border-radius: 0.5em;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    transition: all .15s cubic-bezier(0.4, 0, 0.2, 1);
}


.profile-card .btn:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
}


.social-card {
    display: flex;
    flex-direction: column;
    max-height: 330px;
    background-color: var(--white);
    border-radius: 10px;
    box-shadow: 0px 10px 12px rgba(0, 0, 0, 0.08),
    -4px -4px 12px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    transition: all 0.3s;
    cursor: pointer;
    box-sizing: border-box;
    padding: 10px;
}

.social-card:hover {
    transform: translateY(-10px);
    box-shadow: 0px 20px 20px rgba(0, 0, 0, 0.1),
    -4px -4px 12px rgba(0, 0, 0, 0.08);
}

.card-image-container {
    width: 100%;
    padding-bottom: 12px;
    object-fit: scale-down;
    overflow: hidden;
    background-color: rgb(165, 165, 165);
    display: flex;
    align-items: center;
    justify-content: center;
}

.image-icon {
    font-size: 40px;
}

.social-card-title {
    margin: 0;
    font-size: 17px;
    font-family: "Lucida Sans", "Lucida Sans Regular", "Lucida Grande",
    "Lucida Sans Unicode", Geneva, Verdana, sans-serif;
    font-weight: 600;
    color: #1797b8;
    cursor: default;
    -webkit-box-orient: vertical;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    line-clamp: 1;
}

.social-card-des {
    -webkit-box-orient: vertical;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    margin: 0;
    font-size: 13px;
    font-family: "Lucida Sans", "Lucida Sans Regular", "Lucida Grande",
    "Lucida Sans Unicode", Geneva, Verdana, sans-serif;
    color: #1797b8;
    cursor: default;
}

/*endregion*/

/*region Chat Card*/
.chat-header{
    font-weight: bolder;
    font-size: 120%;
}
.chat-body{
    margin-bottom: 1em;
}
.chat-footer{
    font-weight: bold;
    font-size: 80%;
    border-top: 1px solid;
}

.chat-conversation .conversation-list .ctext-wrap-content:before, .chat-preview .conversation-list .ctext-wrap-content:before{
    bottom: -8px !important;
}
/*endregion*/

/*region Splash*/
.splash{
    cursor : pointer;
    position : fixed;
    z-index: 9999999;
    top : 50%;
    left : 50%;
    height : 100%;
    width : 100%;
    transform : translate(-50%,-50%);
    transition : all ease-in-out 600ms;
}
.hidden{
    transition : 0.5s;
    display : none;
}
.splash-header {
    height : 90%;
    font-family : consolas;
    font-size : 30px;
    display : flex;
    padding: 2rem;
    text-align: center;
    justify-content: center;
    align-items : center;
}
/*endregion*/

/*region Login*/
.pop-sign-form{
    width: 350px;
    border-radius: .25rem;
}
@media (max-width:400px) {
    .pop-sign-form {
        width: 100%;
        margin: 1em;
    }
}
/*endregion*/


.modal-header {
    border-bottom: 0 solid;
}

.no-footer .modal-body {
    bottom: 0 !important;
    border-radius: 0;
}


.wrap-text{
    white-space: normal !important;
    word-wrap: break-word !important;
}

/*region Timeline*/
/* The actual timeline (the vertical ruler) */
.timeline {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
}

/* The actual timeline (the vertical ruler) */
.timeline::after {
    content: '';
    position: absolute;
    width: 6px;
    background-color: white;
    top: 0;
    bottom: 0;
    left: 50%;
    margin-left: -3px;
}

/* Container around content */
.timeline-container {
    padding: 10px 40px;
    position: relative;
    background-color: inherit;
    width: 50%;
}

/* The circles on the timeline */
.timeline-container::after {
    content: '';
    position: absolute;
    width: 25px;
    height: 25px;
    right: -17px;
    background-color: white;
    border: 4px solid #FF9F55;
    top: 15px;
    border-radius: 50%;
    z-index: 1;
}

/* Place the container to the left */
.timeline-left {
    left: 0;
}

/* Place the container to the right */
.timeline-right {
    left: 50%;
}

/* Add arrows to the left container (pointing right) */
.timeline-left::before {
    content: " ";
    height: 0;
    position: absolute;
    top: 22px;
    width: 0;
    z-index: 1;
    right: 30px;
    border: medium solid white;
    border-width: 10px 0 10px 10px;
    border-color: transparent transparent transparent white;
}

/* Add arrows to the right container (pointing left) */
.timeline-right::before {
    content: " ";
    height: 0;
    position: absolute;
    top: 22px;
    width: 0;
    z-index: 1;
    left: 30px;
    border: medium solid white;
    border-width: 10px 10px 10px 0;
    border-color: transparent white transparent transparent;
}

/* Fix the circle for containers on the right side */
.timeline-right::after {
    left: -16px;
}

/* The actual content */
.timeline-content {
    padding: 20px 30px;
    background-color: white;
    position: relative;
    border-radius: 6px;
}

/* Media queries - Responsive timeline on screens less than 600px wide */
@media screen and (max-width: 600px) {
    /* Place the timelime to the left */
    .timeline::after {
        left: 31px;
    }

    /* Full-width containers */
    .timeline-container {
        width: 100%;
        padding-left: 70px;
        padding-right: 25px;
    }

    /* Make sure that all arrows are pointing leftwards */
    .timeline-container::before {
        left: 60px;
        border: medium solid white;
        border-width: 10px 10px 10px 0;
        border-color: transparent white transparent transparent;
    }

    /* Make sure all circles are at the same spot */
    .timeline-left::after, .timeline-right::after {
        left: 15px;
    }

    /* Make all right containers behave like the left ones */
    .timeline-right {
        left: 0%;
    }
}
/*endregion*/

/*region Ribbon*/
.ribbon-1 {
    position: fixed;
    background: #08769b;
    box-shadow: 0 0 0 999px #08769b;
    clip-path: inset(0 -100%);
}
.ribbon-left {
    inset: 0 auto auto 0;
    transform-origin: 100% 0;
    transform: translate(-29.3%) rotate(-45deg);
}
.ribbon-right {
    inset: 0 0 auto auto;
    transform-origin: 0 0;
    transform: translate(29.3%) rotate(45deg);
}

.ribbon-2 {
    --f: 5px; /* control the folded part*/
    --r: 10px; /* control the ribbon shape */
    --t: 5px; /* the top offset */

    position: absolute;
    inset: var(--t) calc(-1*var(--f)) auto auto;
    padding: 0 5px var(--f) calc(5px + var(--r));
    clip-path:
            polygon(0 0,100% 0,100% calc(100% - var(--f)),calc(100% - var(--f)) 100%,
            calc(100% - var(--f)) calc(100% - var(--f)),0 calc(100% - var(--f)),
            var(--r) calc(50% - var(--f)/2));
    background: #BD1550;
    box-shadow: 0 calc(-1*var(--f)) 0 inset #0005;
    font-size: 8pt;
}


.box {
    position:relative;
}
/*endregion*/



.list_grid {
    display: grid;
    padding: 0 !important;
    grid-template-columns:1fr 1fr 1fr 1fr ;
    list-style-type: none;
    justify-content: center;
    align-items: center
}

@media screen and (max-width: 600px) {
    .list_grid {
        grid-template-columns:1fr 1fr
    }
}

@media screen and (min-width: 601px) and (max-width: 900px) {
    .list_grid {
        grid-template-columns:1fr 1fr
    }
}
@media screen and (min-width: 1400px) {
    .list_grid {
        grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr
    }
}

.list::-webkit-scrollbar {
    display: none
}

.list_grid .item_body {
    width: 100%;
    margin: .5em;

}

.item {
    flex-shrink: 0;
    text-align: center;
    scroll-snap-align: start;
    scroll-snap-stop: always;

}

.item:last-child {
    position: relative
}

.item:last-child::after {
    position: absolute;
    left: 100%;
    height: 1px;
    width: 20px;
    display: block;
    content: ""
}

.list {
    list-style: none;

    padding: 10px;
    border-radius: 12px
}

.item_body  span{
    font-size: 6pt;
}

.itemspecial_body{
    position: relative;
    height: 100px;
    width: 100%;
    justify-content: center;
    align-items: center;
    background: #fff;
    border-radius: 5px;
    padding: 0;

}
.itemspecial_body span {
    position: absolute;
    bottom: 0;
    background: #fff;
    color: #000;
    width: 100%;
    padding: 5px;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    text-align: center
}
.itemspecial_body img {
    position: absolute;

}
.item_body {
    position: relative;
    display: flex;
    height: 100px;
    width: 85px;
    justify-content: center;
    align-items: center;
    background: #fff;
    border-radius: 5px;
    padding: 0;
    font-size: 6pt;
}

.list .item:not(:last-child) {
    margin-right: 10px
}

.item a {
    text-align: center
}

.item span {
    position: absolute;
    bottom: 0;
    background: #fff;
    color: #000;
    width: 100%;
    padding: 5px;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    text-align: center
}

.viewport {
    max-width: 100%;
    width: calc(100% - 20px);
    margin-left: 5px;
    margin-right: 5px
}
.no-wrap {
    white-space: nowrap;
    overflow: hidden; /* Optionally hide overflow */
    text-overflow: ellipsis; /* Optionally add ellipsis if overflowed */
}
.quantity {
    display: inline-block;
    border-radius: .5em;
    border: 1px solid
}

.quantity .input-text.qty {
    width: 60px;
    height: 39px;
    padding: 0 5px;
    text-align: center;
    background-color: transparent;
    border: 0 solid #efefef
}

.quantity.buttons_added {
    text-align: left;
    position: relative;
    white-space: nowrap;
    vertical-align: top
}

.quantity.buttons_added input {
    display: inline-block;
    margin: 0;
    vertical-align: top;
    box-shadow: none
}

.quantity.buttons_added .minus, .quantity.buttons_added .plus {
    padding: 7px 10px 8px;
    height: 41px;
    background-color: #fff;
    border: 0 solid #efefef;
    border-radius: .5em;
    cursor: pointer
}

.quantity.buttons_added .minus {
    border-right: 0
}

.quantity.buttons_added .plus {
    border-left: 0
}

.quantity.buttons_added .minus:hover, .quantity.buttons_added .plus:hover {
    background: #eee
}

.quantity input::-webkit-outer-spin-button, .quantity input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    -moz-appearance: none;
    margin: 0
}

.quantity.buttons_added .minus:focus, .quantity.buttons_added .plus:focus {
    outline: none
}

.product__images {
    width: 100%;
    height: 400px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center
}

.product__main-image {
    max-width: 500px;
    height: 300px;
    object-fit: cover;
    cursor: pointer
}

.product__slider-wrap {
    max-width: 500px;
    min-height: 100px;
    display: flex;
    align-items: center
}

.product__slider {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto
}

.product__image {
    max-width: 180px;
    max-height: 100px;
    object-fit: cover;
    cursor: pointer;
    opacity: .5;
    margin: .25rem;
    border: 1px solid #070707
}

.product__image:first-child {
    margin-left: 0
}

.product__image:last-child {
    margin-right: 0
}

.product__image:hover {
    opacity: 1
}

.product__image--active {
    opacity: 1
}

.product__slider::-webkit-scrollbar {
    height: 10px
}

.product__slider::-webkit-scrollbar-thumb {
    background-color: #f9564f;
    border-radius: 50px
}


/*region Spinner*/

.spinner {
    background-image: linear-gradient(var(--bs-primary) 35%,var(--bs-secondary));
    width: 100px;
    height: 100px;
    animation: spinning82341 1.7s linear infinite;
    text-align: center;
    border-radius: 50px;
    filter: blur(1px);
    box-shadow: 0 -5px 20px 0 var(--bs-primary), 0 5px 20px 0 var(--bs-secondary);
}

.spinner1 {
    background-color: rgb(36, 36, 36);
    width: 100px;
    height: 100px;
    border-radius: 50px;
    filter: blur(10px);
}

@keyframes spinning82341 {
    to {
        transform: rotate(360deg);
    }
}
/*endregion*/