html {
    scroll-behavior: smooth;
}

.nt-documentheque {
    font-family: var( --e-global-typography-primary-font-family ), Sans-serif;
    display: flex;
    gap: 24px;
}
.nt-documentheque-documents {
    flex: 0 1 100%;
    max-width: 100%;
}
.nt-documentheque-documents--right {
    max-width: calc(100% - 214px);
}

.nt-documentheque-listing {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-bottom: 48px;
}

.nt-documentheque .nt-documentheque-sub-cat-title {
    color: var(--e-global-color-primary );
    font-size: 2rem;
    font-weight: 400;
    text-align: center;
    margin-bottom: 10px;
}
.nt-documentheque .nt-documentheque-sub-cat-sub-title {
    color: var(--e-global-color-text );
    font-size: 1.125rem;
    font-weight: 700;
    margin-bottom: 10px;
}

.nt-documentheque-sub-cat-separator {
    overflow: hidden;
    text-align: center;
}
.nt-documentheque-sub-cat-separator-inner {
    position: relative;
    display: inline-block;
}
.nt-documentheque-sub-cat-separator img {
    height: 50px;
    width: 50px;
    object-fit: contain;
}
.nt-documentheque-sub-cat-separator-inner:before {
    content: "";
    height: 1px;
    width: 100px;
    background-color: black;
    position: absolute;
    top: 50%;
    left: -110px;
}
.nt-documentheque-sub-cat-separator-inner:after {
    content: "";
    height: 1px;
    width: 100px;
    background-color: black;
    position: absolute;
    top: 50%;
    right: -110px;
}



/************************
 *       ANCHORS        *
 ***********************/

.nt-documentheque-anchors {
    flex: 0 0 190px;
}
.nt-documentheque-anchors .nt-documentheque-anchors-inner {
    position: sticky;
    top: 36px;
}
.nt-documentheque-anchors ul {
    padding-left: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.nt-documentheque-anchors ul li a {
    background: white;
    border: 1px solid var(--e-global-color-primary);
    border-radius: 3px;
    color: var(--e-global-color-primary);
    cursor: pointer;
    display: block;
    font-size: 1rem;
    font-weight: 500;
    text-align: center;
    text-decoration: none;
    padding: 6px 12px;
    transition: .3s;
}
.nt-documentheque-anchors ul li a:hover {
    background: var(--e-global-color-accent);
    border-color: var(--e-global-color-accent);
    color: white;
}

/************************
 *       CARD           *
 ***********************/

.nt-documentheque-item .nt-documentheque-item--link  {
    border: 1px solid var( --e-global-color-primary );
    display: flex;
    gap: 18px;
    color: inherit;
    align-items: center;
    padding: 24px 36px;
    text-decoration: none;
    position: relative;
    transition: all .3s;
}
.nt-documentheque-item .nt-documentheque-item-infos {
    flex: 0 0 250px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}
.nt-documentheque-item .nt-documentheque-item--date {
    background: var( --e-global-color-primary );
    border-radius: 15px;
    color: white;
    font-size: 0.875rem;
    font-weight: bold;
    padding: 2px 12px;
    flex: 0 0 112px;
    text-align: center;
    max-width: 112px;
}
.nt-documentheque-item .nt-documentheque-item--title {
    margin: 0;
    flex: 0 1 100%;
    font-size: 1.375rem;
    font-weight: bold;
    max-width: 100%;
}
.nt-documentheque-item .nt-documentheque-item--metas {
    margin: 0;
    font-size: 0.875rem;
    flex: 0 0 110px;
}
.nt-documentheque-item .nt-documentheque-item--tag-new {
    position: absolute;
    top: 10px;
    right: 10px;
    background-color: var( --e-global-color-secondary );
    color: white;
    font-size: 0.75rem;
    padding: 0 10px;
    border-radius: 100px;
    line-height: 1.9;
}

.nt-documentheque-item img {
    border: 1px solid #F0F0F0;
    margin: -10px -5px -10px -22px;
    max-height: 200px;
    width: auto;
}

.nt-documentheque-item .nt-documentheque-item--link:hover {
    background: var( --e-global-color-primary );
    color: white;
}
.nt-documentheque-item:hover .nt-documentheque-item--date {
    background: #101c3f;
}

@media (max-width: 767px) {
    .nt-documentheque-item .nt-documentheque-item--link {
        display: block;
    }
    .nt-documentheque-item .nt-documentheque-item--date {
        margin-bottom: 12px;
    }
    .nt-documentheque-item .nt-documentheque-item--title {
        margin-bottom: 12px;
    }
    .nt-documentheque-item .nt-documentheque-item--metas {
    }
}



/************************
 *       CARD GRID      *
 ***********************/

.nt-documentheque-listing--grid {
    flex-wrap: wrap;
    flex-direction: row;
}

.nt-documentheque-item--grid {
    max-width: calc(33.33% - 16px);
    flex: 0 0 calc(33.33% - 16px);
}
.nt-documentheque-item--grid .nt-documentheque-item--link {
    flex-direction: column;
    gap: 10px;
    padding: 12px 18px;
}
.nt-documentheque-item--grid .nt-documentheque-item-infos {
    width: 100%;
    flex: none;
}
.nt-documentheque-item--grid .nt-documentheque-item--title {
    font-size: 1.125rem;
    font-weight: 600;
    height: 50px;
    min-height: 50px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-align: center;
    padding-right: 0;
    padding-left: 0!important;
}
.nt-documentheque-item--grid img {
    margin: 0;
}


/************************
 *       CARD VIDEO     *
 ***********************/

.nt-documentheque-listing--video {
    flex-wrap: wrap;
    flex-direction: row;
}
.nt-documentheque-item--video {
    max-width: calc(33.33% - 16px);
    flex: 0 0 calc(33.33% - 16px);
}
.nt-documentheque-item--video .nt-documentheque-item--title {
    font-size: 1rem;
    margin-bottom: 4px;
}


/************************
 *       CARD IMAGE     *
 ***********************/

.nt-documentheque-listing--gallery {
    flex-wrap: wrap;
    flex-direction: row;
}
.nt-documentheque-item--gallery {
    max-width: calc(25% - 18px);
    flex: 0 0 calc(25% - 18px);
}
.nt-documentheque-item--gallery .nt-documentheque-item--cover {
    display: block;
    position: relative;
}
.nt-documentheque-item--gallery .nt-documentheque-item--cover img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    margin: 0;
    max-height: none;
}
.nt-documentheque-item--gallery .nt-documentheque-item--cover-overlay {
    position: absolute;
    inset: 0;
    opacity: 0;
    background-color: rgba(0,0,0,0.75);
    text-align: center;
    padding: 24px;
    transition: .3s;
}
.nt-documentheque-item--gallery .nt-documentheque-item--cover:hover .nt-documentheque-item--cover-overlay {
    opacity: 1;
}
.nt-documentheque-item--gallery .nt-documentheque-item--cover .nt-documentheque-item--cover-overlay .nt-documentheque-item--title {
    color: white;
    font-size: 1.25rem;
    margin-bottom: 24px;
}
.nt-documentheque-item--gallery .nt-documentheque-item--cover .nt-documentheque-item--cover-overlay i {
    color: white;
    font-size: 2rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.fancybox__container button {
    padding-left: 12px;
    padding-right: 12px;
}




/************************
 *       CAROUSEL       *
 ***********************/

.nt-documentheque-listing.owl-carousel .nt-documentheque-item {
    max-width: 100%;
}
.nt-documentheque-listing--row.owl-carousel .nt-documentheque-item img,
.nt-documentheque-listing--grid.owl-carousel .nt-documentheque-item img {
    width: auto;
}
.nt-documentheque-listing .owl-dots {
    display: flex;
    justify-content: center;
    margin-top: 12px;
}
.nt-documentheque-listing.owl-carousel .owl-dot {
    display: inline-block;
    margin: 0 5px;
    width: 13px;
    height: 13px;
    border: 2px solid #CDCDCD;
    border-radius: 100%;
}
.nt-documentheque-listing.owl-carousel .owl-dot.active {
    background: #CDCDCD;
}