
body {
    font-family: var(--text-font);
    font-size:1.2rem;
    min-width: 340px;
}


nav {
    font-family: var(--title-font);
    font-size:1.5rem;
}

main {
    background: white;
    margin-bottom:100px;
    z-index: 1;
    position: relative;
    min-width: 340px;
    color:var(--grey-color);
    margin-top:1rem;
}

footer {
    z-index: 0;
    position:fixed;
    width:100%;
    bottom:0;
}

footer nav {
    font-family: var(--text-font);
    line-height: 1.2;
    font-size: 1rem;
}

a {
    color:var(--grey-color);
    text-decoration: none;
}
a:focus, a:hover {
    color:var(--black-color);
    text-decoration: none;
}
h1 {
    font-size: var(--title-size);
}

/* Blocs System Specific front */

h2.subtitle {
    font-family:var(--title-font);
    color:var(--black-color);
    font-size: var(--title-size);
}

h2.subtitle.type-Sculptures, h2.subtitle.type-Dessins {
    display:none;
}

.card, .card-header, .card-footer, .card-subheader {
    background: transparent;
}

.card-bloc.body-no-grow .card-body {
    flex-grow: 0;
}

.card-bloc .card-body > p:last-of-type {
    margin:0px;
}

.card-bloc .card-images {
    min-height:150px;
}

.card-bloc .card-images .swiper-lazy-preloader {
    top: 100%;
}

.card-bloc .card-caption-image {
    display: flex;
    flex-direction: column;
    align-items: end;
    padding:0.25rem 0;
}

/* TopBar & sticky */

body.is-sticky-top header {
    animation: slideDown 0.35s ease-out;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020;
    height: 150px;
}

@keyframes slideDown {
    from {
        transform: translateY(-100%);
    }
    to {
        transform: translateY(0);
    }
}
body.is-sticky-top header #topBar {
}

#topBar {
    --bs-navbar-padding-y:0;
    --bs-navbar-brand-font-size: var(--title-size);
    z-index: 2;

    opacity: 1;
    transition: opacity 0.3s ease;
}

body.offcanvas-is-animating #topBar, body.offcanvas-is-animating #pageCitation {
    opacity: 0;
}

body.is-sticky-top.offcanvas-open header {
    z-index:1;
}

body.offcanvas-open #topBar {
    /* open offcanvas */
    opacity: 0;
    z-index:1;
}
body.offcanvas-open.offcanvas-is-animating #topBar, body.offcanvas-open.offcanvas-is-animating #pageCitation {
    /* on close offcanvas */
    z-index:2;
    opacity: 1;
}

.card-bloc .card-caption-image .caption-title, .card-bloc .card-caption-image .caption-description p {
    text-align: right;
    margin-bottom:0;
    font-size: 0.8rem;
    line-height: 0.9rem;
}

#langSelector { --bs-list-group-item-padding-y: 0;}
#langSelector a {border:0; border-radius: 0;}

/* Main Menu */
#mainMenu {
    width: 100%;
    background: var(--bg-color);
    line-height: 25px;
    padding-bottom:0.5rem;
}

body.offcanvas-open #mainMenu {
    z-index:1;
}

button.navbar-toggler:focus, button.navbar-toggler:active {
    box-shadow: none;
}

#mainMenu .nav-tabs, #mainMenu .nav-link {
    /*border:0;
    border-radius: 0;*/
    --bs-nav-tabs-border-width: 0;
    --bs-nav-link-padding-x : 1.25rem;
    --bs-nav-link-padding-y : 0.25rem;
    --bs-nav-tabs-border-radius : 0;
    --bs-nav-tabs-link-active-bg:transparent;
}

#mainMenu .nav-item .nav-link {
    color:var(--grey-light-color);
    text-decoration: none;
}


#mainMenu .nav-item .nav-link:hover, #mainMenu .nav-item .nav-link:active, #mainMenu .nav-item .nav-link:focus, #mainMenu .nav-item .nav-link.active {
    color:var(--black-color);
    border:0;
}


#mainMenu ul.navbar-nav {
    display: flex;
    flex-flow: column;
}

#mainMenu ul.navbar-nav.navbar-nav-depth-2 {
    padding-left:9.5rem;
    flex-flow:row;
}


#mainMenu .nav-link h2 {
    font-size: 1.5rem;
    line-height: unset;
}

#pageCitation {
    padding:1.5rem 0.75rem;
    opacity: 1;
    transition: opacity 0.3s ease;
}

#pageCitation p {
    font-size: var(--citation-size);
    color:var(--grey-light-color);
    line-height: 1.2;
}
#pageCitation p:last-child {
    margin: 0;
}

#mainBlocs:not(.grid-empty-1) {
    margin-top:30px;
}

/* SubPages index */

.grid-blocs-index {
    margin-top:30px;
}

.grid-blocs-index .bloc-type-slider.bloc-has-link-1 a { /*color:transparent;*/}


/* OffCanvas*/
#offcanvasOeuvre, #offcanvasVideo {
    --bs-offcanvas-width: 100%;
    --bs-offcanvas-zindex: 1045;
    --bs-offcanvas-transition-duration:600ms;
    transition:transform var(--bs-offcanvas-transition-duration) ease-in-out;
}

#offcanvasVideo video {
    padding-top:2rem;
}
#offcanvasOeuvre .offcanvas-loader {
    padding-top:0.45rem;
}

#offcanvasOeuvre .offcanvas-body {
    display: flex;
    flex-direction: column;
}

#offcanvasOeuvre .offcanvas-body h2.subtitle {
    display:none
}

#offcanvasOeuvre #mainBlocs {
    order:2;
}

#offcanvasOeuvre #mainBlocs .card-bloc {
    margin:0;
}

#offcanvasOeuvre.offcanvas-loading > *:not(.show-on-loading) {
    /* pendant le chargement du offcanvas, on cache tout ce qui n'est pas show-on-loading */
    display:none;
}

#offcanvasOeuvre:not(.offcanvas-loading) > *.show-on-loading {
    /* le offcanvas n'est plus en chargement, on cache tout ce qui est show-on-loading */
    display:none;
}


/* Parcours */
.parcours {
    border-top: 1px solid var(--bs-border-color);
    background-color: var(--bs-white);
    margin-top: 0.5rem;
}

.parcours > .parcours-prev a span {
    margin-left:0.5rem;
}

.parcours > .parcours-next a span {
    margin-right:0.5rem;
}

#offcanvasOeuvre .offcanvas-header .btn-close {
    font-size:1rem;
}

#offcanvasOeuvre .parcours {
    order:0;
    border:0;
    width: calc(100% - 50px);
    font-size: 1.7rem;
    margin-top: -0.9rem;
}
#offcanvasOeuvre .parcours-parent {
    display:none;
}

#offcanvasOeuvre .parcours a span {
    display:none;
}

@media (min-width: 576px) {
    #mainMenu ul.navbar-nav {
        flex-flow: row;
    }

    .card-bloc .card-caption-image .caption-title, .card-bloc .card-caption-image .caption-description p {
        font-size: 0.95rem;
        line-height: 1rem;
    }
}

@media (min-width: 768px) {

    #offcanvasOeuvre {
        --bs-offcanvas-width: 95%;
    }

    #offcanvasOeuvre #mainBlocs {
        margin-top: 0;
    }


    #offcanvasOeuvre .bloc-type-slider .swiper-slide {
        text-align: right;

    }

    .bloc-type-slider .swiper-slide img.img-fluid {
        max-height:calc(100vh - 60px);
        width:auto;
    }
    #offcanvasOeuvre .bloc-type-slider .swiper-slide img.img-fluid {
        max-height: calc(100vh - 5rem);
        width: auto;
    }

    #offcanvasOeuvre .parcours {
        /*position: fixed;
        bottom: 0;
        --parcours-width: calc(calc(var(--bs-offcanvas-width) / 2) - 3rem);
        width: var(--parcours-width);
        right: calc(var(--parcours-width) + 4rem);
        z-index: calc(var(--bs-offcanvas-zindex) + 5);*/
    }

    #offcanvasOeuvre .offcanvas-header .btn-close {
        /*z-index:5;
        position: fixed;
        right: var(--bs-offcanvas-width);
        top: 25px;
        background-color: #fff;
        opacity:1;*/
    }
}

@media (min-width: 992px) {

    #mainMenu {
        --main-menu-left-delta:62px;
        margin-left:var(--main-menu-left-delta);
    }


    #pageCitation {
       width:calc(41.66666667% - 70px);
        left:58.8%;
        top:10px;
        position: absolute;
        z-index: 2;
        padding:0;
    }

    body.offcanvas-open #pageCitation{
        z-index:1;
    }

    header {
        height: 150px;
    }
}

/* Gallery */

.gallery-item {
    cursor:zoom-in;
}
.lg-backdrop, .lg-next, .lg-prev {
    background: #fff;
}

.lg-next:hover:not(.disabled), .lg-prev:hover:not(.disabled) {
     color:#ddd;
}
