/* 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;
}
.collection_name * {
   color: var(--color_collection_title);
}
.collection-content:hover ~ .collection_name *,
.collection_name *:hover {
    color: var(--color_primary);
}
.item-grid-box:hover {
    color: inherit;
}
.grid-collection {
    column-gap: var(--gap);
    row-gap: var(--gap);
    display: grid
}

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

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

.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;
}

/* Mix 3 */
.collection_mix .grid_mix_3 {
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: repeat(2, 1fr)
}

.collection_mix .grid_mix_3 .collection_box_1 {
    grid-column: 1/4;
    grid-row: 1/3
}

.collection_mix .grid_mix_3 .collection_box_1 .collection-content {
    --bs-aspect-ratio: 100%
}

.collection_mix .grid_mix_3 .collection_box_2 {
    grid-column: 4/6;
    grid-row: 1/2
}

.collection_mix .grid_mix_3 .collection_box_2 .collection-content {
    --bs-aspect-ratio: calc((3 / 4 * 100%) - (var(--gap) / 4))
}

.collection_mix .grid_mix_3 .collection_box_3 {
    grid-column: 4/6;
    grid-row: 2/3
}

.collection_mix .grid_mix_3 .collection_box_3 .collection-content {
    --bs-aspect-ratio: calc((3 / 4 * 100%) - (var(--gap) / 4))
}

.collection_mix .grid_mix_4 {
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, 1fr)
}

/* Mix 4 */
.collection_mix .grid_mix_4 .collection_box_1 {
    grid-column: 1/3;
    grid-row: 1/3
}

.collection_mix .grid_mix_4 .collection_box_1 .collection-content {
    --bs-aspect-ratio: 100%
}

.collection_mix .grid_mix_4 .collection_box_2 {
    grid-column: 3/5;
    grid-row: 1/2
}

.collection_mix .grid_mix_4 .collection_box_2 .collection-content {
    --bs-aspect-ratio: calc((1 / 2 * 100%) - (var(--gap) / 2))
}

.collection_mix .grid_mix_4 .collection_box_3 {
    grid-column: 3/4;
    grid-row: 2/3
}

.collection_mix .grid_mix_4 .collection_box_3 .collection-content {
    --bs-aspect-ratio: 100%
}

.collection_mix .grid_mix_4 .collection_box_4 {
    grid-column: 4/5;
    grid-row: 2/3
}

.collection_mix .grid_mix_4 .collection_box_4 .collection-content {
    --bs-aspect-ratio: 100%
}

/* Mix 5 */
.collection_mix .grid_mix_5 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr))
}

.collection_mix .grid_mix_5 .collection_box_1 {
    grid-column: 1/3;
    grid-row: 1/3
}

.collection_mix .grid_mix_5 .collection_box_1 .collection-content,
.collection_mix .grid_mix_5 .collection_box_2 .collection-content,
.collection_mix .grid_mix_5 .collection_box_3 .collection-content,
.collection_mix .grid_mix_5 .collection_box_4 .collection-content,
.collection_mix .grid_mix_5 .collection_box_5 .collection-content {
    --bs-aspect-ratio: 100%
}

.collection_mix .grid_mix_5 .collection_box_2 {
    grid-column: 3/4;
    grid-row: 1/2
}

.collection_mix .grid_mix_5 .collection_box_3 {
    grid-column: 4/5;
    grid-row: 1/3
}

.collection_mix .grid_mix_5 .collection_box_4 {
    grid-column: 3/4;
    grid-row: 2/3
}

.collection_mix .grid_mix_5 .collection_box_5 {
    grid-column: 4/5;
    grid-row: 2/3
}

.item-grid-box:hover .collection_overlay {
    visibility: visible
}

.collection_overlay {
    visibility: hidden;
    transition: visibility .2s 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
}
  
.collection_overlay .collection_name {
    font-size: 1.25rem
} 

@media screen and (max-width: 767.98px) {
    .collection_mix .grid_mix_4 {
        grid-template-rows: repeat(4, auto);
        grid-template-columns: repeat(2, 1fr)
    }
    
    .collection_mix .grid_mix_4 .collection_box_1 {
        grid-column: 1/3;
        grid-row: 1/3
    }
    
    .collection_mix .grid_mix_4 .collection_box_2 {
        grid-column: 1/3;
        grid-row: 3/4
    }
    
    .collection_mix .grid_mix_4 .collection_box_3 {
        grid-column: 1/2;
        grid-row: 4/5
    }
    
    .collection_mix .grid_mix_4 .collection_box_4 {
        grid-column: 2/3;
        grid-row: 4/5
    }

    .collection_mix .grid_mix_5 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: repeat(4, minmax(0, 1fr))
    }

    .collection_mix .grid_mix_5 .collection_box_1 {
        grid-column: 1/3;
        grid-row: 1/3
    }

    .collection_mix .grid_mix_5 .collection_box_2 {
        grid-column: 1/2;
        grid-row: 3/4
    }

    .collection_mix .grid_mix_5 .collection_box_3 {
        grid-column: 2/3;
        grid-row: 3/4
    }

    .collection_mix .grid_mix_5 .collection_box_4 {
        grid-column: 1/2;
        grid-row: 4/5
    }

    .collection_mix .grid_mix_5 .collection_box_5 {
        grid-column: 2/3;
        grid-row: 4/5
    }

    .collection_mix .grid_mix_3 {
        grid-template-rows: repeat(4, auto);
        grid-template-columns: repeat(2, 1fr)
    }
    
    .collection_mix .grid_mix_3 .collection_box_1 {
        grid-column: 1/3;
        grid-row: 1/3
    }
    
    .collection_mix .grid_mix_3 .collection_box_2 {
        grid-column: 1/3;
        grid-row: 3/4
    }
    
    .collection_mix .grid_mix_3 .collection_box_3 {
        grid-column: 1/3;
        grid-row: 4/5
    }
}

.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{
    background-color: var(--color_promotion_background);
    row-gap: var(--gap);
    border-radius: var(--border_radius);
}

.box_icon {
    max-width: 90px;
}

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

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

.promotion_box .promotion-block .box_icon, .promotion-box .promotion-block .box_icon {
    margin-bottom: 1.5rem
}

.promotion_box_flex .promotion-block {
    display: flex;
    align-items: center
}

.promotion_box_flex .promotion-block .box_icon {
    margin-right: 1rem;
    margin-bottom: 0;
}

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

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

/* Ratio */
.ratio {
    position: relative;
    width: 100%
}

.ratio::before {
    display: block;
    padding-top: var(--bs-aspect-ratio);
    content: ""
}

.ratio>* {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.ratio-1x1 {
    --bs-aspect-ratio: 100%
}
.ratio-1x2 {
    --bs-aspect-ratio: 200%
}

.ratio-4x3 {
    --bs-aspect-ratio: calc(3 / 4 * 100%)
}

.ratio-2x3 {
    --bs-aspect-ratio: calc(3 / 2 * 100%)
}

.ratio-16x9 {
    --bs-aspect-ratio: calc(9 / 16 * 100%)
}

.ratio-21x9 {
    --bs-aspect-ratio: calc(9 / 21 * 100%)
}

.ratio-2x1 {
    --bs-aspect-ratio: calc(1 / 2 * 100%)
}

.ratio-3x1 {
    --bs-aspect-ratio: calc(1 / 3 * 100%)
}

.ratio-3x2 {
    --bs-aspect-ratio: calc(2 / 3 * 100%)
}

.ratio-3x4 {
    --bs-aspect-ratio: calc(4 / 3 * 100%)
}

.ratio-4x1 {
    --bs-aspect-ratio: calc(1 / 4 * 100%)
}

.ratio-2x1-gap {
    --bs-aspect-ratio: calc((1 / 2 * 100%) - (var(--gap) / 2))
}

.ratio-4x3-gap {
    --bs-aspect-ratio: calc((3 / 4 * 100%) - (var(--gap) / 4))
}

.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;
}