:root{
    --hue: 213 !important;
    --primary: #00295b;
    --primary-rgb: 0, 41, 93;
    --primary-bg-subtle: #e9ecef;

    --light-rgb: 233, 236, 239;

    --cassiopeia-color-primary: var(--primary);
    --cassiopeia-color-hover: var(--template-bg-dark);
    --focus-ring-color: #00295b40;
    --link-color: var(--template-bg-dark-70);
    --template-link-hover-color: var(--template-bg-dark-80);
  }

body{
  color: var(--dark);
}

.d-comp-none .container-component{
  display: none !important;
}

.container:empty,.pb-5:empty{
  display: none;
}

@font-face{
    font-family: "Fjalla One";
    src: local("Fjalla One"), url("../../../../../templates/cassiopeia/fonts/FjallaOne-Regular.ttf");
}

.display-1,.display-2,.display-3,.display-4,
h1{
    font-family: "Fjalla One";
    font-weight: normal;
}

a:not(.btn){
  &:hover,&:focus{
    background-color: var(--gray-300);
  }
}

.container-header,.footer{
  background-image: initial;
}

.breadcrumb{
  --breadcrumb-font-size: 0.9rem;
}
.footer{
  --bg-opacity: 1;
    background-color: rgba(var(--light-rgb), var(--bg-opacity)) !important;
  color: inherit;

  a:not(.btn){
    color: var(--link-color);

    &:hover,&:focus{
      color: var(--link-color);
    }
  }
}

/* Logo bar */
.topbar-header .ext-link{
  opacity: 0.8;
  &:hover,&:focus{
    opacity: 1;
    color: #ffffff;
    border-bottom: 2px solid #ffffff;
    background-color: transparent;
}
  }
/* Header / Menu */
.header{
    background-color: var(--white);
    background-image: initial;
    box-shadow: 0px 2px 7px 0px rgba(0,0,0,0.2);

  .topbar-header{
        background-color: var(--primary);

    img{
       width: 250px;
    }
    }
  
    .container-below-top{
        .nav{
            flex-direction: row-reverse;
            font-weight: 500;
        }
    }
    .container-nav{
        padding: 0;
        .navbar{
            margin-top: 0;
        }
        .navbar-toggler{
            color: var(--gray-600);
            margin-top: 0.5rem;
            margin-bottom: 0.5rem;
        }
        .navbar-collapse.collapsing,.navbar-collapse.show{
            width: 100vw;
        }
        .mod-menu{
            li + li{
                margin-left: 0;
            }
            .metismenu-item{
                padding: 0;
                font-weight: 500;
                font-size: 1rem;

                a{
                    display: inline-block;
                    padding: 0.75em 1em 0.75em 1em;
                    color: var(--gray-800);
                }
            }
            .metismenu-item{
                border-bottom: 3px solid transparent;
            }
            .metismenu-item.active{
                background-color: var(--primary);

                a{
                    color: var(--white);

                  &:hover,&:focus{
                background-color: var(--primary);
              }
                }
            }
            .metismenu-item.active a:after{
                display: none;
            }
            .metismenu-item.active:hover{
                border-bottom: 3px solid var(--white);
            }
            .metismenu-item:hover:after{
                display: none;
            }
            .metismenu-item:hover{
                border-bottom: 3px solid var(--primary);
            }

        }
    }
}
.container-header .navbar-brand{
    display: none;
}
.container-header .grid-child{
    padding: 0;
}
.container-header .container-topbar #header_rechercher{
    a:not(.btn){
        color: var(--primary);
        border-bottom: 3px solid transparent;
    }
    a:not(.btn):hover{
        border-bottom: 3px solid var(--primary);
    }
}
.site-logo{
    img{
        padding-top : .75em;
        padding-bottom: 0.75em;
        max-height: 6em;
    }
    a:hover,a:focus{
        background: transparent;
    }
}

.img-white,.brand-logo img{
  filter: saturate(0) brightness(10);
}

.moduletable{
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* MASTHEAD */
.img-cover{
    object-fit: cover !important;
    width: 100%;
    height: 100%;
}
.img-contain{
    object-fit: contain !important;
    width: 100%;
}

.lj-image{
    object-fit: cover;
    min-height: 350px;
}

.image-bg{
    position: relative;
    align-items: stretch;
    background: linear-gradient(151deg, var(--primary) 0, var(--light) 100%);
    min-height: 55vh;

    &.diaporama{
        min-height: 65vh;
    }

    .background,.foreground{
        box-sizing: border-box;
        width: 100%;
        flex: none;
    }

    .background{
        position: relative;
        z-index: 1;

        img{
            position: absolute;
        }
    }

    .foreground{
        margin-left: -100%;
        z-index: 2;
    }
    .nav-link{
        padding-left: 0;
    }
}

@media (max-width: 576px) {
    .image-bg{
        min-height: initial !important;
    }
    .image-bg .background img {
        position: initial;
    }
    .image-bg .foreground {
        margin-left: initial;
    }
}

.img-hover img{
  transition: all .2s;
}
.img-hover:focus img, .img-hover:hover img {
    opacity: .7;
    filter: grayscale(1);
    transition: all .2s;
  }

.menu-image{
    .nav-link{
        border-bottom: 3px solid transparent;
    }
    .nav-link:hover,.nav-link:focus{
        color: var(--nav-link-color);
        border-bottom: 3px solid var(--nav-link-color);
        background-color: transparent;
    }
}

/* Hide intro on sub-pages */
#mod-custom122{
  display: none;
}
.view-frontpage #mod-custom122{
  display: block;
}

/* Cart */
#eshop-cart .eshop-cart-items a #eshop-cart-total{
  background: initial;
  padding-right: 0;
}

.view-checkout table.list td{
  padding: 5px;
}

/* Component */
.view-product main{
  margin-top: 0;
}
.container-component main{
  margin-bottom: 2em;
}

.list-group-card .card-body{
  padding: 0;
}

.view-product.cat-books .product-image{
  display: none;
}

.view-product .product-image:has(.d-none){
  display: none;
}
/* Main (courses) page */
.courses{
  a.list-group-item{
    color: var(--primary);
  }
}

/* Modal */
div:has(>iframe.node-ready){
  padding-top: 0.75rem;
}

/* Eshop */
/*#param-list-name,
#param-course-type,
#param-image-class,
#param-registration-notes,
#param-conditional-fields,
#param-registration-start,
#param-registration-end{
  display: none;
}*/

.view-product .product-info .product-desc{
  border-bottom: none;
  border-top: 1px solid #E7E7E7;
  padding-top: 0.5rem;
}

.view-product .details-list-group + .card #param-details-en,.view-product .details-list-group + .card #param-details-fr{
  padding: 0;

  span > .list-group{
    margin: -1px;

    > .list-group-item{
    &:first-child{
      border-top-left-radius: 0;
      border-top-right-radius: 0;
    }
    &:last-child{
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0;
    }
      }
  }
  
  & > strong{
    display: none;
  }
}

.view-category{
  .eshop-buttons{
  display: none;
}
  .list .eshop-info-block{
  width: 66%;
}
  .img-thumbnail{
    border: none;
  }
  .product-image img{
    width: 100%;
    height: 150px;
    object-fit: cover;
  }
  .eshop-image-block{
   margin-top: 1rem; 
  }
  .eshop-product-price .price{
    background-color: var(--gray-200);
    padding: 0.5rem;
    font-size: inherit;
    font-weight: bold;
    margin-top: 0.5rem;
  }
  .sortPagiBar #adminForm{
    display: none;
  }
}

.d-product-options-none .product-options{
  display: none !important;
}

.hide-price .bg-light:has(.product-price){
  display: none !important;
}

.d-price-none .product-price{
  display: none !important;
}
.box-quantity .input-group-append.input-group-prepend{
  display: none;
}
#option-154,#option-157,#option-183{
  strong{
  display: none;
    }
}

#option-154 label:has(input[value="786"]),
#option-154 label:has(input[value="787"]),
#option-157 label:has(input[value="791"]),
#option-157 label:has(input[value="790"]){
    display: none;
  }

/* Sidebar */
    .vertical-menu .card-body{
        padding: 0;
    }
    .vertical-menu .mod-menu{

        li{
            padding: 0;
        }
        li.active>a{
            text-decoration: none;
            --bg-opacity: 0.2;
            background-color: var(--focus-ring-color);

            &:hover,&:focus{
                background-color: var(--focus-ring-color);
            }
        }
        li>a{
            display: block;
            padding: 0.5rem 1rem;
            border-bottom: 3px solid transparent;
            font-weight: 500;

            &:hover,&:focus{
                text-decoration: none;
                border-bottom: 3px solid var(--primary);
                background-color: inherit;
            }
        }
    }
    .mod-list li .mod-menu__sub{
        padding-left: 0;

        li a{
            padding-left: 2rem;
        }
    }
.custom-sidebar{
  a.list-group-item{
    color: var(--primary);
  }
}

.list-group-item p:last-of-type,.alert p:last-of-type{
  margin-bottom: 0;
}
/* Footer */
.footer{
  margin-top: 0;
}

/* Grid adjustments */
.view-product .grid-child.container-component,.grid-child.container-bottom-a,.grid-child.container-bottom-b{
  display: block !important;
}
.view-product .container-component,.container-bottom-a,.container-bottom-b{
  grid-column: full-start / full-end !important;
  max-width: none;
}

/* Text adjustments */
.lead{
        font-weight: 400;
    }

/* List group */
a.list-group-item{
  &:hover,&:focus{
    background-color: var(--primary-bg-subtle);
    text-decoration: underline;
  }
}

/* Background color utilities */
.bg-opacity-90{
    --bg-opacity : 0.9 !important;
}

.bg-white {
        background-color: rgba(var(--white-rgb), var(--bg-opacity)) !important;
    }
.bg-light {
        background-color: rgba(var(--light-rgb), var(--bg-opacity)) !important;
    }

/* Image position utilities */
    .ratio-31x9{
      --aspect-ratio: 29.03225%;
    }
    .ratio-41x9{
      --aspect-ratio: 21.95121%;
    }

    .pos-left-top {
        object-position: left top
    }

    .pos-left-bottom {
        object-position: left bottom
    }

    .pos-left-center {
        object-position: left center
    }

    .pos-left-10 {
        object-position: left 10%
    }

    .pos-left-20 {
        object-position: left 20%
    }

    .pos-left-30 {
        object-position: left 30%
    }

    .pos-left-40 {
        object-position: left 40%
    }

    .pos-left-50 {
        object-position: left 50%
    }

    .pos-left-60 {
        object-position: left 60%
    }

    .pos-left-70 {
        object-position: left 70%
    }

    .pos-left-80 {
        object-position: left 80%
    }

    .pos-left-90 {
        object-position: left 90%
    }

    .pos-right-top {
        object-position: right top
    }

    .pos-right-bottom {
        object-position: right bottom
    }

    .pos-right-center {
        object-position: right center
    }

    .pos-right-10 {
        object-position: right 10%
    }

    .pos-right-20 {
        object-position: right 20%
    }

    .pos-right-30 {
        object-position: right 30%
    }

    .pos-right-40 {
        object-position: right 40%
    }

    .pos-right-50 {
        object-position: right 50%
    }

    .pos-right-60 {
        object-position: right 60%
    }

    .pos-right-70 {
        object-position: right 70%
    }

    .pos-right-80 {
        object-position: right 80%
    }

    .pos-right-90 {
        object-position: right 90%
    }

    .pos-center-top {
        object-position: center top
    }

    .pos-center-bottom {
        object-position: center bottom
    }

    .pos-center-center {
        object-position: center center
    }

    .pos-center-10 {
        object-position: center 10%
    }

    .pos-center-20 {
        object-position: center 20%
    }

    .pos-center-30 {
        object-position: center 30%
    }

    .pos-center-40 {
        object-position: center 40%
    }

    .pos-center-50 {
        object-position: center 50%
    }

    .pos-center-60 {
        object-position: center 60%
    }

    .pos-center-70 {
        object-position: center 70%
    }

    .pos-center-80 {
        object-position: center 80%
    }

    .pos-center-90 {
        object-position: center 90%
    }

    .pos-10-top {
        object-position: 10%top
    }

    .pos-10-bottom {
        object-position: 10%bottom
    }

    .pos-10-center {
        object-position: 10%center
    }

    .pos-10-10 {
        object-position: 10% 10%
    }

    .pos-10-20 {
        object-position: 10% 20%
    }

    .pos-10-30 {
        object-position: 10% 30%
    }

    .pos-10-40 {
        object-position: 10% 40%
    }

    .pos-10-50 {
        object-position: 10% 50%
    }

    .pos-10-60 {
        object-position: 10% 60%
    }

    .pos-10-70 {
        object-position: 10% 70%
    }

    .pos-10-80 {
        object-position: 10% 80%
    }

    .pos-10-90 {
        object-position: 10% 90%
    }

    .pos-20-top {
        object-position: 20%top
    }

    .pos-20-bottom {
        object-position: 20%bottom
    }

    .pos-20-center {
        object-position: 20%center
    }

    .pos-20-10 {
        object-position: 20% 10%
    }

    .pos-20-20 {
        object-position: 20% 20%
    }

    .pos-20-30 {
        object-position: 20% 30%
    }

    .pos-20-40 {
        object-position: 20% 40%
    }

    .pos-20-50 {
        object-position: 20% 50%
    }

    .pos-20-60 {
        object-position: 20% 60%
    }

    .pos-20-70 {
        object-position: 20% 70%
    }

    .pos-20-80 {
        object-position: 20% 80%
    }

    .pos-20-90 {
        object-position: 20% 90%
    }

    .pos-30-top {
        object-position: 30%top
    }

    .pos-30-bottom {
        object-position: 30%bottom
    }

    .pos-30-center {
        object-position: 30%center
    }

    .pos-30-10 {
        object-position: 30% 10%
    }

    .pos-30-20 {
        object-position: 30% 20%
    }

    .pos-30-30 {
        object-position: 30% 30%
    }

    .pos-30-40 {
        object-position: 30% 40%
    }

    .pos-30-50 {
        object-position: 30% 50%
    }

    .pos-30-60 {
        object-position: 30% 60%
    }

    .pos-30-70 {
        object-position: 30% 70%
    }

    .pos-30-80 {
        object-position: 30% 80%
    }

    .pos-30-90 {
        object-position: 30% 90%
    }

    .pos-40-top {
        object-position: 40%top
    }

    .pos-40-bottom {
        object-position: 40%bottom
    }

    .pos-40-center {
        object-position: 40%center
    }

    .pos-40-10 {
        object-position: 40% 10%
    }

    .pos-40-20 {
        object-position: 40% 20%
    }

    .pos-40-30 {
        object-position: 40% 30%
    }

    .pos-40-40 {
        object-position: 40% 40%
    }

    .pos-40-50 {
        object-position: 40% 50%
    }

    .pos-40-60 {
        object-position: 40% 60%
    }

    .pos-40-70 {
        object-position: 40% 70%
    }

    .pos-40-80 {
        object-position: 40% 80%
    }

    .pos-40-90 {
        object-position: 40% 90%
    }

    .pos-50-top {
        object-position: 50%top
    }

    .pos-50-bottom {
        object-position: 50%bottom
    }

    .pos-50-center {
        object-position: 50%center
    }

    .pos-50-10 {
        object-position: 50% 10%
    }

    .pos-50-20 {
        object-position: 50% 20%
    }

    .pos-50-30 {
        object-position: 50% 30%
    }

    .pos-50-40 {
        object-position: 50% 40%
    }

    .pos-50-50 {
        object-position: 50% 50%
    }

    .pos-50-60 {
        object-position: 50% 60%
    }

    .pos-50-70 {
        object-position: 50% 70%
    }

    .pos-50-80 {
        object-position: 50% 80%
    }

    .pos-50-90 {
        object-position: 50% 90%
    }

    .pos-60-top {
        object-position: 60%top
    }

    .pos-60-bottom {
        object-position: 60%bottom
    }

    .pos-60-center {
        object-position: 60%center
    }

    .pos-60-10 {
        object-position: 60% 10%
    }

    .pos-60-20 {
        object-position: 60% 20%
    }

    .pos-60-30 {
        object-position: 60% 30%
    }

    .pos-60-40 {
        object-position: 60% 40%
    }

    .pos-60-50 {
        object-position: 60% 50%
    }

    .pos-60-60 {
        object-position: 60% 60%
    }

    .pos-60-70 {
        object-position: 60% 70%
    }

    .pos-60-80 {
        object-position: 60% 80%
    }

    .pos-60-90 {
        object-position: 60% 90%
    }

    .pos-70-top {
        object-position: 70%top
    }

    .pos-70-bottom {
        object-position: 70%bottom
    }

    .pos-70-center {
        object-position: 70%center
    }

    .pos-70-10 {
        object-position: 70% 10%
    }

    .pos-70-20 {
        object-position: 70% 20%
    }

    .pos-70-30 {
        object-position: 70% 30%
    }

    .pos-70-40 {
        object-position: 70% 40%
    }

    .pos-70-50 {
        object-position: 70% 50%
    }

    .pos-70-60 {
        object-position: 70% 60%
    }

    .pos-70-70 {
        object-position: 70% 70%
    }

    .pos-70-80 {
        object-position: 70% 80%
    }

    .pos-70-90 {
        object-position: 70% 90%
    }

    .pos-80-top {
        object-position: 80%top
    }

    .pos-80-bottom {
        object-position: 80%bottom
    }

    .pos-80-center {
        object-position: 80%center
    }

    .pos-80-10 {
        object-position: 80% 10%
    }

    .pos-80-20 {
        object-position: 80% 20%
    }

    .pos-80-30 {
        object-position: 80% 30%
    }

    .pos-80-40 {
        object-position: 80% 40%
    }

    .pos-80-50 {
        object-position: 80% 50%
    }

    .pos-80-60 {
        object-position: 80% 60%
    }

    .pos-80-70 {
        object-position: 80% 70%
    }

    .pos-80-80 {
        object-position: 80% 80%
    }

    .pos-80-90 {
        object-position: 80% 90%
    }

    .pos-90-top {
        object-position: 90%top
    }

    .pos-90-bottom {
        object-position: 90%bottom
    }

    .pos-90-center {
        object-position: 90%center
    }

    .pos-90-10 {
        object-position: 90% 10%
    }

    .pos-90-20 {
        object-position: 90% 20%
    }

    .pos-90-30 {
        object-position: 90% 30%
    }

    .pos-90-40 {
        object-position: 90% 40%
    }

    .pos-90-50 {
        object-position: 90% 50%
    }

    .pos-90-60 {
        object-position: 90% 60%
    }

    .pos-90-70 {
        object-position: 90% 70%
    }

    .pos-90-80 {
        object-position: 90% 80%
    }

    .pos-90-90 {
        object-position: 90% 90%
    }
/* Negative Margin utility classes */
.m-n1{margin:-.25rem!important}.m-n2{margin:-.5rem!important}.m-n3{margin:-1rem!important}.m-n4{margin:-1.5rem!important}.m-n5{margin:-3rem!important}.m-n6{margin:-4rem!important}.mx-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-n5{margin-right:-3rem!important;margin-left:-3rem!important}.mx-n6{margin-right:-4rem!important;margin-left:-4rem!important}.my-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.my-n6{margin-top:-4rem!important;margin-bottom:-4rem!important}.mt-n1{margin-top:-.25rem!important}.mt-n2{margin-top:-.5rem!important}.mt-n3{margin-top:-1rem!important}.mt-n4{margin-top:-1.5rem!important}.mt-n5{margin-top:-3rem!important}.mt-n6{margin-top:-4rem!important}.me-n1{margin-right:-.25rem!important}.me-n2{margin-right:-.5rem!important}.me-n3{margin-right:-1rem!important}.me-n4{margin-right:-1.5rem!important}.me-n5{margin-right:-3rem!important}.me-n6{margin-right:-4rem!important}.mb-n1{margin-bottom:-.25rem!important}.mb-n2{margin-bottom:-.5rem!important}.mb-n3{margin-bottom:-1rem!important}.mb-n4{margin-bottom:-1.5rem!important}.mb-n5{margin-bottom:-3rem!important}.mb-n6{margin-bottom:-4rem!important}.ms-n1{margin-left:-.25rem!important}.ms-n2{margin-left:-.5rem!important}.ms-n3{margin-left:-1rem!important}.ms-n4{margin-left:-1.5rem!important}.ms-n5{margin-left:-3rem!important}.ms-n6{margin-left:-4rem!important}