.header,.footer{
    position:relative;
    width:100%;
    z-index:9;
}
.fullContainer{
    position:relative;
    width:100%;
}
@media (max-width:1000px){
    .centerContainer{
        position:relative;
        margin:0px auto;
        width:85%;
    }
    .pageContent{
        position:relative;
        min-height: calc(100vh - 650px);
    }
}
@media (min-width:1000px){
    .centerContainer{
        position:relative;
        margin:0px auto;
        width:85%;
    }
    .pageContent{
        position:relative;
        min-height: calc(100vh - 340px);
    }
}

/**********************************************************************************************************************/
/**********************************************************************************************************************/
/**********************************************************************************************************************/
/***Header / Menu / Footer***/

.header{
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:1000;
    padding:15px 0px;
}
body{
    padding-top:70px;
}
@media(max-width:999px){
    body{
        padding-top:65px;
    }
}

.header .centerContainer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}
.header .logo,
.header .header-nav,
.header .menuBtn,
.header .langBtn{
    float:none;
    display:flex;
    align-items:center;
    align-self:center;
    margin-top:0 !important;
    vertical-align:middle !important;
}
.header .logo a{
    text-decoration:none;
    color:inherit;
    display:inline-flex;
    align-items:center;
}
.header-nav{
    display:flex;
    align-items:center;
    gap:30px;
    flex-shrink:0;
}
.header-logo-title{
    display:inline-block;
    max-width:220px;
    vertical-align:middle;
    white-space:nowrap;
}
@media(max-width:999px){
    .header .centerContainer{
        gap:10px;
    }
    .header-nav{
        gap:10px;
    }
    .header .logo{
        flex:1 1 auto;
        min-width:0;
    }
    .header-logo-title{
        font-size:14px !important;
        line-height:1.2 !important;
        max-width:none;
        white-space:nowrap;
    }
}
@media(min-width:1000px){
    .header-logo-title{
        max-width:17vw;
        font-size:20px !important;
    }
}
.header .menuBtn,
.header .langBtn,
.header .langBtn span{
    vertical-align:middle;
    line-height:1.25 !important;
}
.header .clear{
    display:none;
}

.menu{
    position:fixed;
    top:0px;
    right:-100%;
    width:45%;
    height:100%;
    padding:15px 1.5%;
    z-index:99999999;
}
@media(max-width:1000px){
    .menu{
        right:-100%;
        width:100%;
        height:100%;
    }
}
.menu .closeBtn{
    float:right;
}

.footer{
    position:relative;
    padding:40px 0px;
}



/**********************************************************************************************************************/
/**********************************************************************************************************************/
/**********************************************************************************************************************/
/***Collection***/

.filters{
    padding-top:30px;
    overflow:hidden;
}

.filters .filter{
    float:left;
    margin-right:30px;
}
.filters .sort{
    float:right;
}

@media(max-width:1000px){
    .filters{
        padding:20px 0px;
        overflow:hidden;
    }

    .filters .filter{
        width:100%;
        margin-bottom:10px;
    }
    .filters .filter select , .filters .filter input{
        width:100% !important;
    }

    .filters .sort{
        width:100%;
        margin-bottom:10px;
    }
    .filters .sort select {
        width:100% !important;
    }
}

.collection{
    padding:30px 7.5%;
    overflow:hidden;
}
@media(max-width:1000px){
    .collection{
        padding:20px 2.5%;
        overflow:hidden;
    }
}

.collectionWithBorder{
    position:relative;
    width:100%;
    box-shadow: 0px 0px 1px 2px rgba(128, 128, 128, 0.3);
}

@media(max-width:1000px){
    .collection .titleDescription{
        width:100%;
    }  
    .collection .viewAll{
        width:100%;
    }   
}
@media(min-width:1000px){
    .collection .titleDescription{
        float:left;
        width:48.5%;
    }  
    .collection .viewAll{
        float:right;
        text-align:right;
        width:48.5%;
    }   
}
.collection .view-all-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.collection .view-all-link img {
    display: block;
    margin-top: 0 !important;
}

.collection .featured_entry_mobile{
    position:relative;
}

.collection .featured_entry_mobile .description{
    width:100%;
    padding:25px 15px 15px 15px;
}
.collection .featured_entry_mobile .description .title_or_labels .label{
    float:left;
    margin-right:10px;
    padding:2px 10px;
    color:#000;
    background:#F5F8F4 ;
}

.collection .featured_entry{
    display: flex;
    align-items: stretch; /* ensures equal height */
}
.collection .featured_entry .featured_info{
    position:relative;
    width:50%;
    padding:15px;
}
.collection .featured_entry .featured_image{
    width:50%;
}
.collection .featured_entry .featured_image img{
    width: 100%;
    height: 100%;
    object-fit: cover; /* ensures image fills area nicely */
    display: block;
}
.collection .featured_title_view_all{
    position:absolute;
    top:0px;
    left:0px;
    width:25%;
}

@media(max-width:1000px){
    .collection .entries{
        margin-top:20px;
    }
    .collection .entries .entry{
        float:left;
        width:48% !important;
        margin:0px 1% 2% 1%;
    }
    .collection .entries .slideEntry{
        width:48% !important;
        margin:0px 2% 15px 0%;
    }
}
@media (min-width:1000px){
    .collection .entries .entry{
        float:left;
        width:23.5%;
        height:auto;
        margin-right:2%;
        margin-top:2%;
    }
}

.collection .entries .entry .description {
    position:absolute;
    top:0px;
    left:0px;
    width:100%;
    height:100%;
    z-index:999;
    padding:15px;
    background:rgba(0,0,0,0.1);
}

.collection .entries .entry .description .title_or_labels , .collection .featured_entry .featured_info .title_or_labels{
    position:absolute;
}
.collection .entries .entry .description .title_or_labels .label , .collection .featured_entry .featured_info .title_or_labels .label{
    float:left;
    padding:2px 10px;
    margin:0px !important;
    margin-right:10px !important;
    margin-bottom:10px !important;
    color:#000;
    background:#F5F8F4 ;
}
@media(max-width:1000px){
    .collection .entries .entry .description .title_or_labels .label , .collection .featured_entry .featured_info .title_or_labels .label{
        margin-right:5px !important;
        margin-bottom:5px !important;
    }
}


.collection .swiper-button-prev::after, .collection .swiper-button-next::after {
  display: none; /* hide Swiper’s default icons */
}
.collection .swiper-button-prev, .collection .swiper-button-next {
    position: absolute;
    bottom: 0px;      
    right:0.5%;  
    width: 14px;    
    height: 28px;
    z-index: 10;
    background:url("../images/arrow-right.png") center no-repeat;
    background-size: 14px 28px;
}

/* Position prev button to the left of next button */
.collection .swiper-button-prev {
    left: calc( 99.5% - 40px) !important;
    background:url("../images/arrow-left.png") center no-repeat;
    background-size: 14px 28px;
}

/* .collection .pagination a {
    padding: 6px 12px;
    border: 1px solid #ddd;
    margin: 2px;
    cursor: pointer;
    text-decoration: none;
}
.collection .pagination a.active {
    background: #000;
    color: white;
} */

.collection .pagination-wrapper {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: 20px;
}

.collection .pagination {
    display: flex;
    align-items: center;
    gap: 14px;
}

.collection .pages {
    display: flex;
    align-items: center;
    gap: 14px;
}

.collection .page-link,
.collection .nav-btn {
    color: #222;
    text-decoration: none;
    cursor: pointer;
    line-height: 1;
    border: 0;
    background: transparent;
}

.collection .page-link.active {
    font-weight: bold;
    text-decoration: underline !important;
    text-underline-offset: 6px;
    outline: none !important;
}

.collection .nav-btn.disabled {
    opacity: 0.3;
    pointer-events: none;
    cursor: default;
}

.collection .page-item {
    display: none;
}


/**********************************************************************************************************************/
/**********************************************************************************************************************/
/**********************************************************************************************************************/
/***Section***/

.section{
    padding:40px 7.5%;
    overflow:hidden;
}

@media(max-width:1000px){
    .section{
        padding:20px 2.5%;
        overflow:hidden;
    }

}

.sectionWithBorder{
    position:relative;
    width:100%;
    box-shadow: 0px 0px 1px 2px rgba(128, 128, 128, 0.3);
}

.section .verticalLine{
    position:absolute;
    top:5px;
    left:32px;
    width:2px;
    height:calc(100% - 30px);
    background:#000;
    z-index:999;
}
@media(max-width:1000px){
    .section .verticalLine{
        left:29px !important;
        display: block !important;
    }
    .section .percentage-column{
        padding-left:40px !important;
    }
}
.section .accordionTitle{
    float:left;
    width:calc(100% - 60px);
}
.section .accordionArrow{
    float:right;
    width:30px;
}

.section .coutdown{
    padding:20px 0px;
}

.section table,
.section thead,
.section tbody,
.section tr,
.section th,
.section td {
    --bs-table-bg: transparent;
    --bs-table-accent-bg: transparent;
    --bs-table-striped-bg: transparent;
    --bs-table-hover-bg: transparent;
    --bs-table-active-bg: transparent;
    background-color: transparent !important;
    box-shadow: none !important;
}

 .caption {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(255,255,255,0.5);
    padding:8px;
}

/**********************************************************************************************************************/
/**********************************************************************************************************************/
/**********************************************************************************************************************/
/***Gallery***/

.gallery{
    padding-bottom:40px !important;
}
.gallery .gallery-swiper-button-prev::after, .gallery .gallery-swiper-button-next::after {
  display: none !important;
}
.gallery .gallery-swiper-button-prev, .gallery .gallery-swiper-button-next {
    position: absolute;
    top: calc(100% - 32px) !important;
    right: 4% !important;
    width: 20px !important;
    height: 28px !important;
    z-index: 10 !important;
    background: url("../images/arrow-right.png") right center no-repeat !important;
    background-size: 14px 28px !important;
    overflow: visible !important;
    cursor: pointer;
}
@media(max-width:1000px){
    .gallery .gallery-swiper-button-next{
        right: 9.5% !important;
    }
}
.gallery .gallery-swiper-button-next {
    z-index: 11 !important;
}
/* Triple-arrow hover: two extra arrows animate out from the main arrow; reverse on hover out */
.gallery .gallery-swiper-button-next::before,
.gallery .gallery-swiper-button-next::after {
    content: "" !important;
    display: block !important;
    position: absolute;
    right: 0;
    top: 50%;
    margin-top: -14px;
    width: 14px;
    height: 28px;
    background: url("../images/arrow-right.png") right center no-repeat;
    background-size: 14px 28px;
    opacity: 0;
    transform: translateX(0);
    transition: transform 0.35s ease-out, opacity 0.01s linear 0.35s;
    pointer-events: none;
}
.gallery .gallery-swiper-button-next:hover::before,
.gallery .gallery-swiper-button-next:hover::after {
    opacity: 1;
    transition: transform 0.35s ease-out, opacity 0s;
}
.gallery .gallery-swiper-button-next:hover::before {
    transform: translateX(15px);
}
.gallery .gallery-swiper-button-next:hover::after {
    transform: translateX(32px);
}
/* Position prev button to the left of next button */
.gallery .gallery-swiper-button-prev {
    left: calc(96% - 40px) !important;
    right: auto !important;
    background: url("../images/arrow-left.png") left center no-repeat !important;
    background-size: 14px 28px !important;
}

@media(max-width:1000px){
    .gallery .gallery-swiper-button-prev {
        left: calc(91.5% - 40px) !important;
    }
}
.gallery .gallery-swiper-button-prev::before,
.gallery .gallery-swiper-button-prev::after {
    content: "" !important;
    display: block !important;
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -14px;
    width: 14px;
    height: 28px;
    background: url("../images/arrow-left.png") left center no-repeat;
    background-size: 14px 28px;
    opacity: 0;
    transform: translateX(0);
    transition: transform 0.35s ease-out, opacity 0.01s linear 0.35s;
    pointer-events: none;
}
.gallery .gallery-swiper-button-prev:hover::before,
.gallery .gallery-swiper-button-prev:hover::after {
    opacity: 1;
    transition: transform 0.35s ease-out, opacity 0s;
}
.gallery .gallery-swiper-button-prev:hover::before {
    transform: translateX(-15px);
}
.gallery .gallery-swiper-button-prev:hover::after {
    transform: translateX(-32px);
}

/**********************************************************************************************************************/
/**********************************************************************************************************************/
/**********************************************************************************************************************/
/***Timeline***/

.timeline-percentages-wrapper {
    position: relative;
}
.percentage-column {
    position: relative;
}
.percentage-column.d-none {
    display: none !important;
}
.percentage-text {
    transition: transform 0.9s ease-out, opacity 0.9s ease-out;
    will-change: transform, opacity;
    transform: translateY(120px);
    opacity: 0;
}
.percentage-text.slide-up-start {
    transform: translateY(120px) !important;
    opacity: 0 !important;
}
.percentage-text.slide-up-end {
    transform: translateY(0) !important;
    opacity: 1 !important;
}
.diamond-percentage rect {
    transition: fill 0.3s ease-out;
}
.diamonds-grid {
    display: inline-block;
}
.diamond-wrapper {
    position: relative;
    display: inline-block;
    width: 10%;
}
.diamond-percentage {
    display: block;
    width: 100%;
    height: auto;
    transition: opacity 0.3s ease-out;
}
.percentage-column.exiting .diamond-percentage {
    opacity: 0;
}
.percentage-column.entering .diamond-percentage {
    opacity: 0;
}
.percentage-column.active .diamond-percentage {
    opacity: 1;
}


/**********************************************************************************************************************/
/**********************************************************************************************************************/
/**********************************************************************************************************************/
/***popup***/

.popupEntry{
    position:fixed;
    top:0px;
    left:0px;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.7);
    /* background:transparent; */
    overflow: hidden;
    z-index:9999;
}

.popupEntry .closeBtn {
    position: absolute;
    top: 10%;
    right: 10%;
    width: 40px;
    height: 40px;
    cursor: pointer;
    background: url('../images/close.png') center no-repeat;
    background-size: 40px 40px;
    z-index: 9999999;
}

.popupEntry .popupText {
    position: absolute;
    top: 25%;
    left: 25%;
    width: 50%;
    height:50%;
    /* height: 100%; */
    overflow-y: scroll;
    padding: 25px 25px;
    border: 2px solid #000;
    background:#F5F8F4 ;
    opacity: 1;
    z-index: 9999;
    cursor: default !important;
}


@media(max-width:1000px) {
    .popupEntry .closeBtn {
        top: 5%;
        right: 5%;
    }
    .popupEntry .popupText {
        top:15%;
        left: 5%;
        width: 90%;
    }
}


/**********************************************************************************************************************/
/**********************************************************************************************************************/
/**********************************************************************************************************************/
/***General***/

.video-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
}

.video-wrap iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

.labels {
    display: flex;
    justify-content: center; /* center horizontally */
    align-items: center;     /* center vertically (optional) */
    gap: 10px;               /* space between divs */
}

.label{
    margin-bottom:10px;
    padding:5px;
    display: flex;
    align-items: center;
    justify-content: center;
    color:#000;
    background:#f2f2f2;
}
@media(max-width:999px){
    .label{
        margin-top:8px !important;
    }
}

.filterDpd{
    padding:0px;
    border-radius:0px !important;
    border:0px !important;
    border-bottom:2px solid #8F8F9D;
    outline:none !important;
    background:#F5F8F4  !important;
}

.filterBtn , .clearBtn{
    padding:1.5px 15px;
    border-radius:0px !important;
    border:2px solid #000;
    outline:none !important;
    color:#F5F8F4 ;
    background:#000 !important;
}
.filterBtn:hover, .clearBtn:hover{
    border:2px solid #8F8F9D;
    background:#8F8F9D !important;
}

.filter input[type="date"] {
    outline:none !important;
}


.pill-toggle {
    display: inline-block;
    cursor: pointer;
    user-select: none;
}

.pill-toggle input {
    display: none;
}

/* pill */
.pill {
    position: relative;
    display: flex;
    align-items: center;
    padding: 3px 40px 3px 40px;
    background: #F5F8F4 ;
    color: #000;
    border: 2px solid #000;
    border-radius: 999px;
    transition: 0.25s ease;
}

/* circle */
.knob1 {
    position: absolute;
    left: 8px;
    width: 14px;
    height: 14px;
    transition: 0.25s ease;
}

.knob2 {
    position: absolute;
    right: 8px;
    width: 14px;
    height: 14px;
    transition: 0.25s ease;
}



.loader {
    margin:0px auto;
    width: 45px;
    height: 45px;
    border: 4px solid #e5e7eb;
    border-top: 4px solid #000;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

@keyframes spin {
    100% { transform: rotate(360deg); }
}