@font-face {
    font-family: 'IBM Plex Sans';
    url('/fonts/IBMPlexSans.ttf') format('truetype');
    url('/fonts/IBMPlexSans-Italic.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

.cursor-pointer {
    cursor: pointer;
}

html, body {
    height: auto;
    margin: 0;
}

body {
    padding-left: 120px;
    padding-right: 120px;
    overflow: visible;
}

.primary_button {
    background-color: var(--catalog-color);
    color: #FFFFFF;
    border-radius: 4px;
}

.secondary_button {
    color: var(--catalog-color);
    background-color: #FFFFFF;
    border: 1px solid var(--catalog-color);
    border-radius: 4px;
}

.grey_button {
    background-color: #F0F0F5;
    color: #141414;
    border-radius: 4px;
}

.other_button {
    color: #141414;
    border: 1px solid #141414;
    border-radius: 4px;
}

.page-wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh
}

#catalogBody .logo img {
    max-height: 60px;
}

#catalogBody .sticky-header.fixed {
    box-shadow: none;
}

.main {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.footer {
    padding-top: 29px;
    padding-bottom: 29px;
    border-top: 1px solid #ccc;
}

.success-container {
    display: flex;
    justify-content: center;
    margin-top: 80px;
}

.success-block {
    display: flex;
    flex-direction: column;
    width: 618px;
    align-items: center;
}

.h1-success {
    font-family: IBM Plex Sans;
    font-weight: 600;
    font-size: 24px;
    line-height: 140%;
    letter-spacing: 0;
    text-align: center;
    vertical-align: middle;
    color: #0A0C36;
    margin-bottom: 8px;
}

.h2-success {
    font-family: IBM Plex Sans;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    letter-spacing: 0;
    text-align: center;
    vertical-align: middle;
    color: #0A0C36;
    margin-bottom: 16px;
}



/*.container {*/
/*    padding-left: 120px;*/
/*    padding-right: 120px;*/
/*}*/

.input-with-icon {
    position: relative;
}

.input-with-icon i {
    position: absolute;
    left: 8px;
    top: 20px;
    transform: translateY(-50%);
    color: #aaa;
    pointer-events: none;
    font-size: 24px;
}

.input-with-icon input {
    padding-left: 40px;
    width: 266px;
    height: 40px;
}

.h1-span {
    font-family: IBM Plex Sans;
    font-weight: 700;
    font-size: 48px;
    line-height: 100%;
    letter-spacing: 0;
    text-align: center;
    color: #141414;
}

.h2-span {
    font-family: IBM Plex Sans;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    letter-spacing: 0;
    text-align: center;
    color: #141414;
}

.product-toggle {
    width: 222px;
    height: 51px;
    background-color: #ffffff;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px;
    box-sizing: border-box;
    border: 1px solid #ccc;
}

.product-toggle .btn-option {
    width: 97px;
    height: 35px;
    border-radius: 12px;
    border: none;
    cursor: pointer;
    background-color: #ffffff;
    color: #9E9E94;
    font-family: IBM Plex Sans;
    font-weight: 600;
    font-size: 16px;
    line-height: 120%;
    letter-spacing: 0;
    text-align: center;
}

.product-toggle .active {
    background-color: var(--catalog-color);
    color: #ffffff;
}

.btn-option:not(.active):hover {
    background-color: #F0F0F5;
}

.cat-option {
    font-family: IBM Plex Sans;
    font-weight: 500;
    font-size: 16px;
    line-height: 120%;
    letter-spacing: 0;
    text-align: center;
}

.categories .category-pick {
    font-family: IBM Plex Sans;
    font-weight: 500;
    font-size: 16px;
    line-height: 120%;
    letter-spacing: 0;
    text-align: center;
    color: #9E9E94;
}

.categories div:hover {
    color: #9E9E94;
}

.categories div.active-category {
    font-family: IBM Plex Sans;
    font-weight: 600;
    font-size: 16px;
    line-height: 120%;
    letter-spacing: 0;
    text-align: center;
    color: #1A1A1A;
}

.products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 16px;
    max-width: calc((180px + 16px) * 6 - 16px);
    margin: 0 auto;
}

.products-flex {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 16px;
}

.product-card {
    position: relative;
    padding: 16px;
    border: 1px solid #F0F0F5;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    background-color: #fff;
    font-family: 'IBM Plex Sans';
    width: 180px;
}

.product-card:hover {
    border: 1px solid lightgrey;
}

.product-checkbox-wrapper {
    position: absolute;
    top: 12px;
    right: 12px;
}

.product-img-box {
    width: 100%;
    height: 148px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.product-img-box img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.product-sku, .product-retail-title {
    font-weight: 500;
    font-size: 12px;
    line-height: 160%;
    color: #141414;
    margin: 0;
    font-family: 'IBM Plex Sans', sans-serif;
}

.product-retail-title {
    height: 40px;
    overflow: hidden;
}

.product-print-type {
    font-weight: 400;
    font-size: 10px;
    line-height: 120%;
    color: #1A1A1A;
    padding: 4px 4px 4px 4px;
    background-color: #F0F0F5;
    border-radius: 4px;
    height: 18px;
    width: fit-content;
}

/* Catalog Bag */
 .bag-icon {
     width: 48px;
     height: 48px;
     display: inline-block;
     background-size: contain;
     background-repeat: no-repeat;
 }
.cart-dropdown .catalog-bag {
    width: 392px;
    height: 100%;
    padding: 0;
    transform: translate(390px);
    bottom: 0;
    top: auto;
    display: flex;
    flex-direction: column;
}
.cart-opened .cart-overlay {
    background: none;
}

.bag-modal-title {
    display: flex;
    justify-content: space-between;
    height: 56px;
    border-bottom: 1px solid #D1D1D1;
    padding: 16px 24px;
    font-family: IBM Plex Sans;
    font-weight: 600;
    font-size: 16px;
    line-height: 120%;
    letter-spacing: 0;
    vertical-align: middle;
    flex-shrink: 0;
}

.cart-dropdown .catalog-bag .btn-close {
    top: 20px;
    right: 24px;
    left: auto;
}

.bag-close-icon {
    width: 14px;
    height: 14px;
    display: block;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.cart-dropdown .bag-modal-container {
    padding: 0;
    display: flex;
    flex-direction: column;
}

.bag-count {
    color: var(--catalog-color);
}

.request-store-button, .back-to-catalog {
    width: 344px;
    height: 40px;
    opacity: 1;
    padding: 10px 16px;
    border-radius: 4px;
    color: white;
    background: var(--catalog-color);
    text-transform: capitalize;
    font-family: IBM Plex Sans;
}

.request-store-button:disabled {
    opacity: 0.32;
}

.bag-items {
    overflow-y: auto;
    display: flex;
    flex: 1;
    flex-direction: column;
}

.dropdown-cart-header {
    margin-bottom: 0;
}

.bag-footer {
    height: 72px;
    flex-shrink: 0;
    padding: 16px 24px;
    border-top: 1px solid #F0F0F5;
}

.bag-no-items {
    font-family: IBM Plex Sans;
    font-weight: 600;
    font-size: 14px;
    line-height: 160%;
    letter-spacing: 0;
    vertical-align: middle;
    color: #9E9E94;
}

.item-card {
    display: flex;
    padding: 8px 16px;
    border-bottom: 1px solid #D1D1D1;
    gap: 10px;
}

.item-img-box {
    width: 50px;
}

.item-title-box {
    flex: 1;
}

.item-delete-box {
    width: 31px;
    display: flex;
    align-items: center;
}

.bag-remove-btn {
    width: 24px;
    height: 24px;
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat;
    cursor: pointer;
    color: #D1D1D1;
}

svg.bag-remove-btn:hover {
    color: #F38A82;
    fill: #F38A82;
}

.item-title {
    font-family: IBM Plex Sans;
    font-weight: 500;
    font-size: 12px;
    line-height: 160%;
    letter-spacing: 0;
    vertical-align: middle;
    color: #141414;
}

.item-category {
    font-family: IBM Plex Sans;
    font-weight: 400;
    font-size: 12px;
    line-height: 160%;
    letter-spacing: 0;
    color: #141414;
}

.cat-option .sub-cat-item, .cat-option .sub-sub-cat-item {
    font-family: IBM Plex Sans;
    font-weight: 400;
    font-size: 14px;
    line-height: 160%;
    letter-spacing: 0;
    color: #141414;
}

.breadcrumbs_container {
    margin: 16px 0;
}

.breadcrumb-divider {
    margin: 0 9px;
}

.breadcrumb-no-link {
    font-family: IBM Plex Sans;
    font-weight: 500;
    font-size: 14px;
    line-height: 120%;
    letter-spacing: 0;
    vertical-align: middle;
    color: var(--catalog-color);
}

.request_container {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    height: 484px;
}

.request_container .left_side {
    min-width: 400px;
    padding-right: 24px;
    border-right: 1px solid #F0F0F5;
    flex: 1;
}

.artwork_block {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.artwork_top {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    height: 51px;
}

.artwork_title {
    font-family: IBM Plex Sans;
    font-weight: 600;
    font-size: 20px;
    line-height: 140%;
    letter-spacing: 0;
    vertical-align: middle;
    color: #141414;
}

.artwork_tip {
    font-family: IBM Plex Sans;
    font-weight: 400;
    font-size: 12px;
    line-height: 160%;
    letter-spacing: 0;
    vertical-align: middle;
    color: #141414;
}

.artwork_middle {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 16px;
    padding-top: 44px;
}

.artwork_container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 16px;
    border: 1px dashed #D1D1D1;
}

.artwork-icon-text {
    font-family: IBM Plex Sans;
    font-weight: 500;
    font-size: 16px;
    line-height: 120%;
    letter-spacing: 0;
    text-align: center;
    vertical-align: middle;
    color: #9E9E94;
}

.artwork-icon {
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

.artwork_footer {
    height: 70px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.request_container .right_side {
    flex: 2;
    max-width: 800px;
    padding-left: 24px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;;
}

.selections_title {
    font-family: IBM Plex Sans;
    font-weight: 600;
    font-size: 20px;
    line-height: 140%;
    letter-spacing: 0;
    vertical-align: middle;
    color: #141414;
}

.selections_count {
    font-family: IBM Plex Sans;
    font-weight: 500;
    font-size: 20px;
    line-height: 140%;
    letter-spacing: 0;
    color: var(--catalog-color);
}

.right_side .selections_block .selection_items_block {
    align-items: normal;
}

.info_block {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.info_title_block {
    font-family: IBM Plex Sans;
    font-weight: 600;
    font-size: 20px;
    line-height: 140%;
    letter-spacing: 0;
    vertical-align: middle;
    color: #141414;
}

.info_inputs_block {
    display: flex;
    gap: 24px;
}

.info_block input {
    width: 237px;
}

.info_block button {
    width: auto;
}

.artwork-no-file {
    font-family: IBM Plex Sans;
    font-weight: 400;
    font-size: 14px;
    line-height: 160%;
    letter-spacing: 0;
    text-align: center;
    vertical-align: middle;
    color: #D1D1D1;
}

.artwork-has-file {
    font-family: IBM Plex Sans;
    font-weight: 400;
    font-size: 14px;
    line-height: 160%;
    letter-spacing: 0;
    text-align: center;
    vertical-align: middle;
    color: #141414;
}

#upload_artwork_button {
    height: 32px;
    padding: 4px 12px;
    border-radius: 4px;
    background: #141414;
    color: #FFFFFF;
    float: right;
    font-family: IBM Plex Sans, serif;
    font-weight: 600;
    font-size: 12px;
    line-height: 160%;
    letter-spacing: 0;
    text-align: center;
    vertical-align: middle;
    width: fit-content;
}

.artwork_upload_button_container {
    height: 48px;
    border: 1px solid #D1D1D1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px;
}

.item-added-modal {
    right: -90px;
    bottom: 50px;
    position: fixed;
    transform: translateX(-50%);
    background: white;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    z-index: 9999;
    width: 317px;
    height: 158px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.added_item_modal_close {
    width: 14px;
    height: 14px;
    display: block;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.added_item_modal_header {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.added_item_modal_title {
    font-family: IBM Plex Sans;
    font-weight: 500;
    font-size: 12px;
    line-height: 160%;
    letter-spacing: 0;
    vertical-align: middle;
    color: #1A1A1A;
}

.added_item_img {
    width: 40px;
    height: 40px;
    display: block;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.added_item_modal_product_block {
    display: flex;
    gap: 8px;
}

.added_item_modal_product_left_side {
    width: 40px;
    padding: 6px 0 3px 0;
}

.added_item_modal_product_right_side {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.added_item_modal_footer {
    display: flex;
    justify-content: flex-end;
}

.added_item_modal_close {
    cursor: pointer;
}

.selection_items_block {
    overflow: auto;
    height: 274px;
}

.bag_has_artwork_icon img {
    max-width: 383px;
    max-height: 250px;
    width: auto;
    height: auto;
    display: block;
}

.filename_container span {
    text-overflow: ellipsis;
}
.filename_container {
    display: flex;
    max-width: 250px;
    overflow-x: hidden;
    gap: 4px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.filename_container img{
    max-width: 24px;
    max-height: 24px;
}

.filename_container .remove-file {
    cursor: pointer;
    width: 24px;
    height: 24px;
    display: block;
    background-repeat: no-repeat;
    background-position: center;
    flex-shrink: 0;
}

#catalogBody .categories div.active-category {
    border-bottom: 3px solid var(--catalog-color) !important;
}

.product-checkbox-wrapper input {
    accent-color: var(--catalog-color);
}

.bag-icon {
    color: var(--catalog-color);
}

.breadcrumbs-item a{
    font-family: IBM Plex Sans;
    font-weight: 500;
    font-size: 14px;
    line-height: 120%;
    letter-spacing: 0;
    vertical-align: middle;
    color: #9E9E94;
}

.breadcrumbs-item a:hover {
    text-decoration: underline;
}

.breadcrumb-no-link {
    color: var(--catalog-color);
}

.checkout_container .checkout_footer .modal,
.checkout_container .catalog_page_items .modal,
.request_container .modal {
    background: rgba(0, 0, 0, 0.2);
}

.checkout_container .checkout_footer .modal-dialog,
.checkout_container .catalog_page_items .modal-dialog,
.request_container .modal-dialog {
    display: block;
    width: 550px;
    height: 394px;
    border-radius: 8px;
    margin-top: 100px;
    overflow: auto;
    min-height: fit-content;
}

.checkout_container .checkout_footer .modal-content,
.checkout_container .catalog_page_items .modal-content,
.request_container .modal-content {
    height: fit-content;
    border-radius: 8px;
    overflow: auto;
}

.checkout_container .checkout_footer .modal-header,
.checkout_container .catalog_page_items .modal-header,
.request_container .modal-header {
    height: 60px;
}

.checkout_container .checkout_footer .modal-header  .modal-title,
.checkout_container .catalog_page_items .modal-header  .modal-title,
.request_container .modal-header  .modal-title {
    font-family: IBM Plex Sans, serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 140%;
    letter-spacing: 0;
}

#additional_notes_value {
    resize: none;
    width: 502px;
    height: 200px;
    border: 1px solid #D1D1D1;
    padding: 16px;
    border-radius: 4px;
}

.request_container .buttons_container {
    display: flex;
    justify-content: flex-end;
}

.request_container .notes_tip {
    color: #0A0C36;
    font-family: IBM Plex Sans;
    font-weight: 400;
    font-size: 12px;
    line-height: 120%;
    letter-spacing: 0;
    vertical-align: middle;
}

.checkout_container .btn-close,
.request_container .btn-close {
    border: none;
    background: white;
}

.checkout_container .modal-body,
.request_container .modal-body {
    height: 100% !important;
    padding: 24px;
}

.checkout_container .modal-footer,
.request_container .modal-footer {
    padding: 24px;
    border: 0;
}

#submit-request-store-button {
    font-family: IBM Plex Sans;
    font-weight: 600;
    font-size: 16px;
    line-height: 120%;
    letter-spacing: 0;
    text-align: center;
    vertical-align: middle;
}

.categories_menu_container {
    position: sticky;
    top: 60px;
    z-index: 1000;
    background-color: white;
}

.categories_menu_container::before {
    content: "";
    position: absolute;
    left: -120px;
    width: calc(100% + 240px);
    height: 1px;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.06);
}

#catalogBody .options div {
    border-bottom: 0;
}

#catalogBody .btn {
    line-height: 1;
}

#catalogBody .options div:hover {
    border-bottom: 3px solid rgba(2, 22, 58, 0.23);
}

.categories_menu_container .categories {
    padding-bottom: 0;
}

.products-grid {
    padding-top: 32px;
}

.product-toggle .btn-option {
    font-family: IBM Plex Sans;
    font-weight: 600;
    font-size: 16px;
    line-height: 120%;
    letter-spacing: 0;
    text-align: center;
}

.cart-opened .cart-dropdown .mobile-cart {
    z-index: 99999;
}

.products-grid .modal-header,
.products-flex .modal-header {
    justify-content: flex-end;
    height: 48px;
}

.products-grid .modal .modal-close-button,
.products-flex .modal .modal-close-button {
    border: 0;
    background-color: white;
    position: absolute;
    right: 24px;
    top: 24px;
}


.products-grid .modal-content,
.products-flex .modal-content {
    margin-top: 0;
    margin-bottom: 0;
}

.products-grid .modal-content .modal-body,
.products-flex .modal-content .modal-body{
    height: fit-content;
    max-height: fit-content;
    display: flex;
    gap: 32px;
    padding: 24px;
}

.products-grid .modal-content .modal-body .image_block,
.products-flex .modal-content .modal-body .image_block {
    position: relative;
    width: 420px;
    display: flex;
    justify-content: center;
}

.products-grid .modal-content .modal-body .product_info_block,
.products-flex .modal-content .modal-body .product_info_block {
    flex: 1;
    height: 468px;
    overflow-y: hidden;
    width: 489px;
}

.products-grid .product_info_block .product-modal-title,
.products-flex .product_info_block .product-modal-title {
    font-family: IBM Plex Sans;
    font-weight: 600;
    font-size: 20px;
    line-height: 140%;
    letter-spacing: 0;
    color: #141414;
}

.products-grid .product_info_block .product-modal-description,
.products-flex .product_info_block .product-modal-description {
    display: flex;
    flex-direction: column;
    font-family: IBM Plex Sans !important;
    font-weight: 400 !important;;
    font-size: 14px !important;;
    line-height: 160% !important;;
    letter-spacing: 0 !important;;
    color: #141414;
}

.products-grid .product_info_block .block_title,
.products-flex .product_info_block .block_title {
    font-family: IBM Plex Sans;
    font-weight: 600;
    font-size: 16px;
    line-height: 120%;
    letter-spacing: 0;
    color: #141414;
}

.product-modal-color-label, .product-modal-size-label {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: inline-block;
    border: 1px solid #D1D1D1;
    font-family: IBM Plex Sans;
    font-weight: 400;
    font-size: 14px;
    line-height: 160%;
    letter-spacing: 0;
    text-align: center;
    color: #141414;
}

.product-modal-size-label {
    padding: 0 12px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto;
    border-radius: 16px;
    white-space: nowrap;
}

.product_info_block .colors, .product_info_block .sizes {
    gap: 8px;
    display: flex;
    flex-wrap: wrap;
}

.product-modal-colors, .product-modal-sizes {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.products-grid .product_info_block,
.products-flex .product_info_block {
    gap: 16px;
    display: flex;
    flex-direction: column;
}

.product_modal input[type=checkbox] {
    width: 27px;
    height: 27px;
}

.product-card input[type=checkbox] {
    width: 16px;
    height: 16px;
}

.empty-bag-container {
    padding: 203px 32px;
}

#catalogBody .cart-dropdown {
    margin-top: -5px;
}

#bag-full-icon {
    width: 48px;
    height: 48px;
}

#bag-empty-icon {
    margin-top: 5px;
}

#catalogBody .header-middle .header-right {
    gap: 24px;
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
}

.products-grid .modal.show {
    display: flex !important;
}

#catalogBody input[type=checkbox]:hover {
    opacity: 80%;
}

#catalogBody button:not(:disabled):hover {
    opacity: 80%;
}

#catalogBody .input-with-icon input:hover {
    border: 1px solid grey;
}

.header-middle.sticky-header.fixed .input-with-icon {
    display: flex;
    align-content: center;
    flex-wrap: wrap;
    align-items: center;
}

.input-with-icon input {
    color: #141414;
}

.input-with-icon input::-webkit-input-placeholder { /* Chrome/Opera/Safari */
    font-family: IBM Plex Sans;
    font-weight: 400;
    font-size: 14px;
    line-height: 160%;
    letter-spacing: 0;
    color: #D1D1D1;
}

.input-with-icon input::-moz-placeholder { /* Firefox 19+ */
    font-family: IBM Plex Sans;
    font-weight: 400;
    font-size: 14px;
    line-height: 160%;
    letter-spacing: 0;
    text-align: center;
    color: #D1D1D1;
}

.input-with-icon input:-ms-input-placeholder { /* IE 10+ */
    font-family: IBM Plex Sans;
    font-weight: 400;
    font-size: 14px;
    line-height: 160%;
    letter-spacing: 0;
    color: #D1D1D1;
}

.input-with-icon input::placeholder {
    font-family: IBM Plex Sans;
    font-weight: 400;
    font-size: 14px;
    line-height: 160%;
    letter-spacing: 0;
    color: #D1D1D1;
}

.input-with-icon input:hover::placeholder {
    color: #9E9E94;
}

.header-middle.sticky-header.fixed .input-with-icon .main-search-input {
    margin-bottom: 0 !important;
}

#catalogBody .header-middle.sticky-header.fixed .cart-dropdown {
    margin-top: 5px;
}

#catalogBody .image_block img {
    max-width: 420px;
    max-height: 420px;
    width: auto;
    height: auto;
    object-fit: contain;
}

body#catalogBody.modal-open {
    padding-right: 120px !important;
}

#catalogBody .header-middle.fixed {
    padding-right: 120px;
    padding-left: 120px;
}

.header-middle.sticky-header.fixed {
    height: 60px;
}

.product-modal-description-wrapper {
    height: fit-content;
}

.product-modal-description.reduced {
    height: 88px;
    max-height: 88px;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    word-break: break-word;
    transition: max-height 1s ease;
}

.product-modal-description {
    max-height: 1000px;
    overflow: hidden;
    transition: max-height 1s ease;
}

.read-more-toggle {
    display: block;
    font-family: IBM Plex Sans;
    font-weight: 500;
    font-size: 12px;
    line-height: 160%;
    letter-spacing: 0;
    vertical-align: middle;
    text-decoration: underline;
    text-decoration-style: solid;
    text-decoration-thickness: 0;
    text-decoration-skip-ink: auto;
    color: #141414;
    cursor: pointer;
    margin-top: 8px;
}

.sub-category.scrollable {
    max-height: 60vh;
    overflow-y: auto;
}

.sub-category .category-pick {
    padding: 6px 9px;
    width: 100%;
    height: 40px;
}

#request-store-button, .request-store-button {
    font-family: IBM Plex Sans;
    font-weight: 600;
    font-size: 16px;
    line-height: 120% !important;
    letter-spacing: 0;
    text-align: center;
    vertical-align: middle;
    color: #FFFFFF;
}

#pagination_container {
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: center;
    padding: 41px;
    flex-wrap: wrap;
}

#pagination_container .page-item .page-link{
    border: 0;
    background-color: white;
    color: #141414;
    font-family: IBM Plex Sans, serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 120%;
    letter-spacing: 0;
    vertical-align: middle;
}

#pagination_container .pagination {
    margin: auto;
}
#pagination_container .pagination_numbers {
    display: flex;
    flex-direction: row;
    padding-left: 32px;
    padding-right: 32px;
}
#pagination_container .page-item.active .page-link {
    text-decoration: underline;
}

#pagination_container .page-item.disabled {
    display: list-item;
}

.no-products-block {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    padding: 32px;
}

#switch_catalog_modal .modal-dialog {
    width: 550px;
    height: 242px;
    border-radius: 8px;
    position: fixed;
    top: 35%;
    left: 50%;
    transform: translate(-50%, -35%);
}

#switch_catalog_modal .modal-header {
    padding: 16px 24px;
    height: auto;
}

#switch_catalog_modal .modal-body {
    height: 182px;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 16px;
    padding-top: 24px;
    padding-bottom: 32px;
}

#switch_catalog_modal .modal-body .modal-body-header {
    font-family: IBM Plex Sans;
    font-weight: 600;
    font-size: 16px;
    line-height: 140%;
    letter-spacing: 0;
    text-align: center;
    margin: 0;
    color: #141414;
}

#switch_catalog_modal .modal-body .modal-body-text {
    font-family: IBM Plex Sans;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    letter-spacing: 0;
    text-align: center;
    margin: 0;
    color: #263063;
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    align-items: center;
    flex-direction: column;
}

#switch_catalog_modal .buttons_container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 16px;
}

#switch_catalog_modal .switch-catalog-button {
    font-family: IBM Plex Sans;
    font-weight: 600;
    font-size: 16px;
    line-height: 140%;
    letter-spacing: 0;
    text-align: center;
    vertical-align: middle;
    border-radius: 4px;
    text-transform: none;
    padding: 9px 16px;
}

#switch_catalog_modal .cancel-button {
    border: 1px solid #141414;
    color: #141414;
}

#switch_catalog_modal .switch-button {
    background-color: var(--catalog-color);
    color: #FFFFFF;
}

#switch_catalog_modal .modal-title {
    font-family: IBM Plex Sans, serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 140%;
    letter-spacing: 0;
    color: #141414;
}

.bulk-product-card .product-sku{
    font-family: IBM Plex Sans, serif;
    font-weight: 600;
    font-size: 10px;
    line-height: 120%;
    letter-spacing: 0;
    vertical-align: middle;
    color: #9E9E94
}

.bulk-product-card .product-retail-title {
    font-family: IBM Plex Sans, serif;
    font-weight: 500;
    font-size: 12px;
    line-height: 160%;
    letter-spacing: 0;
    vertical-align: middle;
    color: #141414
}

.product-card.selected .product-print-type {
    padding: 4px 8px 4px 4px;
    border-radius: 4px;
    background-color: var(--catalog-color);
    color: #FFFFFF;
}

.product-card .product-print-type .selected-mark {
    display: none;
}

.product-card.selected .product-print-type .selected-mark {
    display: inline-block;
}

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

.decoration-method-checkbox-wrapper {
    font-family: Inter, serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0;
    color: #08090A;
}

.product-modal-color-label-wrapper {
    display: inline-block;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    position: relative;
    margin: 4px;
    cursor: pointer;
    border: 2px solid transparent;
    transition: border-color 0.2s ease-in-out;
}

.product-modal-color-label-wrapper:hover {
    border-color: #ccc;
}

.product-modal-color-label-wrapper input:checked + .checkmark {
    display: flex;
    justify-content: center;
    align-items: center;
}

.checkmark {
    display: none;
    position: absolute;
    top: 8px;
    left: 7px;
    width: 16px;
    height: 12px;
    pointer-events: none;
}

.product-modal .product_info_block {
    overflow-y: visible;
}

.product_info_block .scrollable-product-area {
    overflow-y: scroll;
    height: 292px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.product_info_block .product-modal-description h4 {
    font-size: 16px !important;
}

.product_add_buttons {
    display: flex
;
    gap: 8px;
}
.product_add_buttons button {
    width: 80px;
    padding: 9px 16px 9px 13px;
    border-radius: 4px;
    font-family: IBM Plex Sans, serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 140%;
    letter-spacing: 0;
    text-align: center;
    vertical-align: middle;
    text-transform: none;
    background-color: #ffffff;
    border: 1px solid #141414;
}

.product_add_buttons .apply-button {
    color: #FFFFFF;
    background-color: var(--catalog-color);
    border: 1px solid var(--catalog-color);
}

.product_add_buttons .apply-button:disabled {
    background-color: var(--catalog-color);
    opacity: 32%;
}

.product_add_buttons button:hover {
    opacity: 80%;
}

.deco_checkbox_state {
    cursor: pointer;
}

.bag-item-color-round {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    position: relative;
    margin: 4px;
    border: 1px solid #D1D1D1;
    transition: border-color 0.2s ease-in-out;
}


.bulk-bag-items .item-card {
    flex-direction: column;
}

.bulk-bag-items .item-card .main_block {
    display: flex;
}

.bag-item-variation {
    height: 40px;
    width: 100%;
    display: flex;
}

.bag-item-variation .tree-part, .bag-item-variation .delete_color_variation{
    width: 40px;
}

.bag-item-variation .color_title_block {
    flex: 1;
    font-family: IBM Plex Sans, serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 160%;
    letter-spacing: 0;
    color: #141414;
    display: flex;
    align-items: center;
}

.checkout_variation_color_block {
    min-width: 130px;
    max-width: 170px;
    display: flex;
    align-items: center;
}

.bag-item-variation .delete_color_variation {
    cursor: pointer;
}

.bulk-bag-items .item-delete-box svg {
    cursor: pointer;
}

.bulk-bag-items .delete_color_variation {
    display: flex;
    align-items: center;
}

.checkout_container {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex: 1;
}

.checkout_container .checkout_content {
    flex: 1;
    display: flex;
    gap: 24px;
}

.checkout_container .size_quantities_block {
    flex: 1;
}

.checkout_container .suggested_items_block {
    width: 450px
}

.checkout_container .checkout_buttons_container .cancel_add_info_button {
    text-transform: none;
    font-family: IBM Plex Sans, serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 140%;
    letter-spacing: 0;
    text-align: center;
    vertical-align: middle;
    border: 1px solid var(--catalog-color);
    color: var(--catalog-color);
    background-color: #FFFFFF;
}
.checkout_container .checkout_buttons_container .finish_add_info_button {
    text-transform: none;
    font-family: IBM Plex Sans, serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 140%;
    letter-spacing: 0;
    text-align: center;
    vertical-align: middle;
    border: 1px solid var(--catalog-color);
    background-color: var(--catalog-color);
    color: #FFFFFF;
}

.checkout_container .selection_items_block {
    height: 550px;
    min-width: 792px;
    overflow-y: auto;
}

.checkout_footer {
    display: flex;
    justify-content: space-between;
    border-top: 1px solid #F0F0F5;
    height: 84px;
}

.checkout_steps_counter .button_counter {
    display: flex;
    gap: 16px;
    align-items: center;
}

.checkout_steps_counter .number_counter {
    display: flex;
    gap: 4px;
    align-items: center;
}

.checkout_steps_counter {
    display: flex;
    gap: 16px;
}

.counter_button {
    width: 80px;
    height: 12px;
    border: 0;
}

.counter_button:hover {
    opacity: 1 !important;
}

.checkout_buttons_container {
    display: flex;
    align-items: center;
    gap: 8px;
}

.current_checkout_step {
    color: var(--catalog-color);
}

.total_checkout_steps {
    color: #D1D1D1;
}

.number_counter span {
    font-family: IBM Plex Sans, serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 140%;
    letter-spacing: 0;
    text-align: center;
    vertical-align: middle;
}

.size_quantity_input {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    text-align: center;
    line-height: 32px;
    padding: 0;
    font-size: 14px;
    box-sizing: border-box;
    font-family: IBM Plex Sans, serif;
    font-weight: 400;
    letter-spacing: 0;
    border: 1px solid #D1D1D1;
}

.size-quantity-block label {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

.size-quantity-block {
    display: flex;
    gap: 16px;
}

.checkout_container .bag-item-variation {
    height: 64px;
}

.suggested-products-title {
    font-family: IBM Plex Sans, serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 140%;
    letter-spacing: 0;
    vertical-align: middle;
    color: var(--catalog-color);
}

.suggested-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 24px;
    padding-left: 0;
}

.suggested-card {
    width: calc(50% - 5px);
    box-sizing: border-box;
    padding: 10px;
}

.suggested-card .product-card {
    height: 180px;
    align-items: flex-start;
}

.suggested-card .product-card .product-sku {
    font-family: IBM Plex Sans, serif;
    font-weight: 600;
    font-size: 10px;
    line-height: 120%;
    letter-spacing: 0;
    vertical-align: middle;
    color: #9E9E94;
}
.suggested-card .product-card .product-retail-title {
    font-family: IBM Plex Sans, serif;
    font-weight: 500;
    font-size: 10px;
    line-height: 120%;
    letter-spacing: 0;
    vertical-align: middle;
    color: #141414;
}

.checkout_content .info_block .info_inputs_row {
    display: flex;
    justify-content: space-between;
    gap: 16px;
}

.checkout_content .info_block .info_inputs_block {
    flex-direction: column;
}

.checkout_content .info_block .info_inputs_row .input-with-icon {
    flex: 1;
}

.checkout_content .info_block .info_inputs_block input {
    width: 100%;
}

.checkout_content .info_block .info_inputs_block .no-icon input {
    padding-left: 8px;
}

.checkout_content .artwork_block {
    width: 384px;
}

.checkout_content .info_block {
    width: 100%;
}

#checkout-country-input {
    height: 40px;
}

.checkout_container .summary_block {
    height: 550px;
    width: 100%;
    overflow-y: auto;
}

.summary_block .item-title{
    font-family: IBM Plex Sans, serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 140%;
    letter-spacing: 0;
    vertical-align: middle;
    color: #141414;
}

.summary_block .summary-variation-first-cell {
    width: 185px;
    text-indent: -1.2em;
    padding-left: 1.2em;
}

.summary_block .summary-variation-size-cell{
    width: 68px;
}

.summary_block .variation-row {
    display: flex;
    gap: 32px;
}

.summary_block .variation-row span{
    font-family: IBM Plex Sans, serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    letter-spacing: 0;
}

.summary_block .summary-variation-size-quantity-block {
    display: flex;
    gap: 24px;
}

.summary_block.summary-variation-size-quantity-block {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.bulk-bag-items .main_block {
    cursor: pointer;
}

#submit_request_button {
    width: auto;
}

.checkout_container .notes_tip{
    font-family: IBM Plex Sans, serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 120%;
    letter-spacing: 2%;
    vertical-align: middle;
    color: #0A0C36;
}

.product-card.selected {
    border: 1px solid var(--catalog-color);
}

#catalogBody .bag-item-color-title {
    width: 100px;
}

#catalogBody .color-added-span-round {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 1px solid lightgrey;
    display: inline-block;
}

#catalogBody .item-added-modal .other-colors {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 1px solid #F0F0F5;
    background-color: #F0F0F5;
    color: #9E9E94;
}

#catalogBody .item-added-modal .colors {
    display: flex;
    gap: 8px;
}

.item-#catalogBody added-modal .color-added-span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    width: 67px;
}

#catalogBody .item-added-modal {
    gap: 16px;
    height: 185px;
}

#catalogBody .swal-content{
    padding: 0;
}

#catalogBody .swal-color-delete-header {
    font-family: IBM Plex Sans, serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 140%;
    letter-spacing: 0;
    color: #141414;
    border-bottom: 1px solid #F0F0F5;
    width: 100%;
    padding: 0 24px 16px 24px;
    text-align: left;
}

#catalogBody .swal-color-delete-heading {
    font-family: IBM Plex Sans, serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 140%;
    letter-spacing: 0;
    text-align: center;
    vertical-align: middle;
    color: #141414;
    margin-top: 24px;
    margin-bottom: 4px;
}

#catalogBody .swal-color-delete-text {
    font-family: IBM Plex Sans, serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    letter-spacing: 0;
    text-align: center;
    vertical-align: middle;
    color: #141414;
    width: 406px;
    margin: auto;
}

#catalogBody .swal-footer {
    text-align: center;
}

#catalogBody .swal-footer .swal-button--cancel {
    color: #141414;
    background: #ffffff;
    border: 1px solid #141414;
}

#catalogBody .swal-footer .swal-button--cancel:focus {
    box-shadow: none;
}

#catalogBody .swal-footer .swal-button--confirm {
    background-color: var(--catalog-color) !important;
}

.product-modal-size-notification {
    font-family: IBM Plex Sans, serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 120%;
    letter-spacing: 2%;
    vertical-align: middle;
    color: #9E9E94
}

@media (min-width: 576px) {
    .modal-content {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
}


