/* Collection */
.fs-xl {
	font-size: 3.75rem;
}

.fs-lg {
	font-size: 2.5rem;
}
.component_desc {
    max-width: 55rem;
    margin-top: 0.5rem;
}
.component_desc *:last-child {
    margin-bottom: 0;
}
.item-grid-box:hover {
    color: inherit;
}

.collection_default .grid-collection .item-grid-box {
    text-align: center;
    text-decoration: none
}

.item-list-box {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.collection_text_wrapper {
    flex: 1 1 0%;
}

.collection_default .grid-collection .item-grid-box .collection_name, .collection_default .item-list-box .collection_name {
    font-size: 1.25rem;
    margin-bottom: 0;
}

.collection_default .grid-collection.grid_col_2 .collection_name,
.collection_default .grid-collection.grid_col_3 .collection_name {
    font-size: 1.5rem
}

.collection-content{
    overflow: hidden;
}

.back-top {
    opacity: 0;
    visibility: hidden;
    width: 40px;
    height: 40px;
    position: fixed;
    bottom: 110px;
    right: 2rem;
    z-index: 99;
    cursor: pointer;
    color: var(--body_text_color);
    border: 1px solid var(--body_text_color);
    background: var(--body_bg_color);
    font-size: 2rem;
    display: flex;
    border-radius: 100%;
    transition: background-color .3s, opacity .5s, visibility .5s;
    justify-content: center;
    align-items: center;
}
.back-top.show {
    opacity: 1;
    visibility: visible;
}

.promotion_heading{
	font-size: 1.125rem;
    margin-bottom: 8px;
}

.overlay-hover:hover .collection_overlay {
    visibility: visible;
}

.zoom-hover-block .collection_overlay {
    visibility: visible;
}

.collection_overlay {
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.125s ease-in-out, visibility .125s ease-in-out;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, .4);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    margin-bottom: 0;
    font-weight: bold
}

.overlay-hover .collection_text_wrapper {
    visibility: hidden;
    transition: visibility .125s ease-in-out;
}
.overlay-hover:hover .collection_text_wrapper {
    visibility: visible;
}
  
.collection_overlay .collection_name {
    font-size: 1.25rem
} 

.collection_name_appear {
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.125s ease-in-out, visibility 0.125s ease-in-out;
}

.item-list-box:hover .collection_name_appear {
    visibility: visible;
    opacity: 1;
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr)
}
  
@media screen and (max-width: 767.98px) {
    .gallery-grid {
      grid-template-columns: repeat(2, 1fr)
    }
}

/* Image & text */
.img_text_default {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}
.img_text_box {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}
.img_text_box .img_text_image {
    grid-column: 1 / 4;
}
.img_text_box .img_text_content {
    transform: translate(0%, -50%);
}
.img_text_box.img_text_box_reverse .img_text_image {
    grid-column: 2 / 5;
}
.img_text_box.img_text_box_reverse .img_text_content {
    transform: translate(-100%, -50%);
}
.img_text_content {
    max-height: 100%;
    overflow: hidden;
    box-shadow: 0 12px 24px rgb(0 0 0 / 4%);
    position: absolute;
    top: 50%;
    left: 50%;
    width: 50%;
    background-color: #fff;
}
.item_desc {
    margin-bottom: 2rem;
}
@media screen and (max-width: 991.98px) {
  .img_text_box {
    display: block;
  }
  .img_text_content {
    position: relative;
    transform: translate(0, 0) !important;
    width: 100%;
    left: 0;
    top: 0;
    box-shadow: none;
    background-color: transparent;
  }
}

@media screen and (max-width: 767.98px) {
  .img_text_default {
    display: block;
  }
}

/* Promotion box */
.promotion_dynamic{
    row-gap: var(--gap);
    border-radius: var(--border_radius);
}

.box_icon {
    max-width: 90px;
    margin-bottom: 0.5rem !important;
}



.promotion_box .promotion-block, .promotion-box .promotion-block {
    text-align: center;
}

.promotion_box_flex .promotion-block {
    display: flex;    
    align-items: center;
    gap: 1rem;
}
@media screen and (max-width: 575.98px) {
    .promotion_box_flex .promotion-block {
        align-items: start;
    }
}
.promotion_box .promotion-block {
    display: flex;
    flex-direction: column !important;
    align-items: center;
}

.box_desc p {
    margin-bottom: .625rem
}

@media screen and (max-width: 767.98px) {
    .promotion_dynamic_wrapper .promotion_dynamic {
        background-color: transparent !important;
        padding: 0;
    }
}
@media screen and (max-width: 575.98px) {
    .promotion_box .box_icon, .promotion-box .box_icon {
        margin-bottom: 0;
        /* margin-right: 1rem */
    }

    .promotion_block_mobile {
        align-items: center;
        display: flex;
        flex-direction: column;
    }

    .promotion-block:not(:last-child) {
        margin-bottom: 1rem;
    }
}
