:root {
    --crystal-body-bg: #fff;
    --crystal-body-text: #000;

    /* Fonts */
    --font-optima-extra: Optima LT W04 Extra Black;
    --font-optima-black: Optima LT W04 Black;
    --font-optima-bold: Optima LT W04 Bold;
    --font-optima-demi: Optima LT W04 Demi Bold;
    --font-optima-medium: Optima LT W04 Medium;
    --font-optima-italic: Optima LT W04 Italic;
    --font-optima-roman: Optima LT W04 Roman;
    --font-operetta-18: Operetta-18;

    /* Menu */
    --header-height: 80px;
    --megamenu-2x-width: 600px;
    --megamenu-3x-width: 800px;
    --megamenu-4x-width: 1000px;
    --ctamenu-width: calc(var(--megamenu-2x-width) / 2);

    /* Effects */
    --transition-cta-link: all .5s ease-out;
    --transition-linear-25: all .25s linear;
    --transition-ease-in-out-15: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;

    /* Roue marques */
    --roue-size: 350px;
    --roue-logo-width: 130px;
    --roue-logo-height: 20px;
    --roue-item-size: 100px;
    --roue-transition-item-hover: all .5s ease-out;

    /* Chronologie Histoire */
    --timeline-start-width: 50px;
    --timeline-info-width: 400px;
    --timeline-info-height: 250px;
    --timeline-info-border: .063rem;
    --timeline-spacer-height: 50px;
    --timeline-bullet-size: .8rem;
}
    
body * {
    font: .95rem/1.5 var(--font-optima-roman);
    color: var(--theme-dark-rgb);
}

.h3, h3 { font: 1.3rem var(--font-optima-demi); }

header .navbar-top {
    height: var(--header-height);
    background-color: inherit;
    border: 0;
}
header .navbar-top-left,
header .navbar-top-right { width: fit-content; }

#navbarVerticalCollapse { z-index: 1000; }

#navbarTop .dropdown-menu-card {
    max-width: 1100px;
    margin-top: 3rem;
    color: var(--backofficelight-rgb); /* TODO : CHECK VAR */
    background-color: var(--theme-primary-rgb);
    opacity: 0;
    transition: var(--transition-linear-25)!important;
}
#navbarTop .nav-item-special .dropdown-menu-card {
    background-color: var(--theme-secondary-special-rgb)!important;
}
#navbarTop .dropdown-menu-card.show {
    margin-top: 1rem;
    opacity: 1;
    transition: var(--transition-linear-25)!important;
}
header .navbar-top .dropdown-menu-card.menu-2x {
    width: var(--megamenu-2x-width);
    left: calc((100vw - var(--megamenu-2x-width)) / 2);
}
header .navbar-top .dropdown-menu-card.menu-3x {
    width: var(--megamenu-3x-width);
    left: calc((100vw - var(--megamenu-3x-width)) / 2);
}
header .navbar-top .dropdown-menu-card.menu-4x {
    width: var(--megamenu-4x-width);
    left: calc((100vw - var(--megamenu-4x-width)) / 2);
}
header .navbar-top .menu-2x .container-items-menu { width: calc(var(--megamenu-2x-width) - var(--ctamenu-width)); }
header .navbar-top .menu-3x .container-items-menu { width: calc(var(--megamenu-3x-width) - var(--ctamenu-width)); }
header .navbar-top .menu-4x .container-items-menu { width: calc(var(--megamenu-4x-width) - var(--ctamenu-width)); }
header .navbar-top .menu-3x .column-items-menu { width: 50%; }
header .navbar-top .menu-4x .column-items-menu { width: 33%; }
header .navbar-top .container-cta-menu { width: var(--ctamenu-width); }
header .navbar-top .container-items-menu .dropdown-item-title {
    position: relative;
    font-family: var(--font-optima-bold);
    font-size: 1.25rem;
    color: var(--theme-light-rgb)!important;
    line-height: 1.65rem;
    white-space: normal!important;
    padding-left: 1.5rem;
    margin: .75rem 0 .25rem 0!important;
}
header .navbar-top .nav-item-special .container-items-menu .dropdown-item-title,
header .navbar-top .nav-item-special .dropdown-item-title span,
header .navbar-top .nav-item-special .dropdown-link {
    color: var(--theme-primary-rgb)!important;
}
a.link-arrow-end::after,
header .navbar-top .container-items-menu .dropdown-item-title::after {
    position: absolute;
    font-family: 'bootstrap-icons';
    font-size: 14px;
    content: '\f134';
    bottom: -1px;
    right: -25px;
}
header .navbar-top .dropdown-item-title span {
    font-family: var(--font-optima-bold);
    color: var(--theme-light-rgb);
    font-size: 1.25rem;
    line-height:  1.65rem;
}
header .navbar-top .nav-link,
header .navbar-top .dropdown-link {
    color: var(--theme-light-rgb)!important;
}
header .navbar-top .nav-link {
    position: relative;
    font-family: var(--font-optima-demi);
    font-size: 1.05rem;
}
header .navbar-top .head-link:hover { text-decoration: none; }
header .navbar-top .head-link span {
    position: relative;
    display: inline-block;
}
header .navbar-top .head-link span::before { bottom: 1px!important; }
header .navbar-top .head-link span::before,
header .navbar-top .nav-item-special .nav-link::before,
header .navbar-top .nav-item .nav-link::before {
    content: '';
    background-color: var(--theme-secondary-rgb);
    position: absolute;
    left: 0;
    bottom: 11px;
    width: 100%;
    height: 0;
    z-index: -1;
    opacity: .7;
    transition: all .15s ease-in-out;
}
header .navbar-top .nav-item-special .head-link:hover span::before {
    background-color: var(--theme-light-rgb);
}
header .navbar-top .nav-item-special .nav-link {
    color: var(--theme-secondary-special-rgb)!important;
    /*border: 1px solid var(--theme-secondary-rgb);
    padding: 2px 5px!important;*/
    border-radius:0!important;
}
/*header .navbar-top .nav-item-special .nav-link::before {
    background-color: var(--theme-light-rgb);
}*/
header .navbar-top .head-link:hover span::before,
header .navbar-top .nav-link.show::before,
header .navbar-top .nav-link:hover::before {
    height: 8px;
}
header .navbar-top .nav-link.dropdown-toggle {
    padding-right: 0px!important;
    padding-left: 0px!important;
    margin: 0 8px;
}
header .navbar-top .nav-link.dropdown-toggle::after {
    content: unset;
}
header .navbar-top .nav-link.dropdown-toggle.show {
    background-color: inherit!important;
}
header .navbar-top .dropdown-link {
    font-size: 14px;
    line-height: 1rem;
    padding: .25rem 1.5rem;
}
header .navbar-top .dropdown-link:hover {
    color: var(--theme-secondary-rgb)!important;
    text-decoration: underline;
    background-color: inherit;
    transition: all .15s linear;
}
header .navbar-top .nav-item-special .dropdown-link:hover {
    color: var(--theme-primary-rgb)!important;
}
header .navbar-brand img {
    height: calc(var(--header-height) - 20px);
}

/* Main container */
main.main {
    margin-top: var(--header-height);
    padding-top: .8rem;
}
/*main.main:has(.cover-container) {
    padding-top: 4rem;
}*/

/* Links */
.menu-link {
    position: relative;
    color: var(--theme-primary-rgb);
    font-family: var(--font-optima-demi);
    font-size: 18px;
    margin-left: -2px;
    padding-left: 2px;
    padding-right: 5px;
}
.menu-link:hover,
.menu-link.active {
    color: var(--theme-primary-rgb);
    text-decoration: none;
}
.menu-link::before {
    content: '';
    background-color: var(--theme-secondary-rgb);
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    z-index: -1;
    opacity: .7;
    transition: all .15s ease-in-out;
}
.menu-link.active::before,
.menu-link:hover::before {
    height: 8px;
}
.breadcrumb a:hover {
    color: var(--theme-primary-rgb);
}
.link-none,
.link-none:hover,
.link-none:active,
.link-none.active {
    color: inherit!important;
    text-decoration: none!important;
}
.cta-box {
    position: relative;
    display: inline-block;
    margin-top: .5rem;
    margin-bottom: 1rem;
    cursor: pointer;
    z-index: 2;
}
.cta-link,
.cta-link:hover {
    position: relative;
    display: inline;
    text-decoration: none;
}
.cta-link span {
    display: inline-block;
    line-height: .9rem;
}
.cta-sm .cta-link span {
    font-size: 11px;
    line-height: .5rem;
}
.cta-link span::before {
    position: absolute;
    content: '';
    top: 16px;
    left: 0;
    width: 0;
    height: 1px;
    background-color: var(--theme-primary-rgb);
    transition: var(--transition-cta-link);
}
.cta-sm .cta-link span::before { top: 14px; }
.cta-sm .cta-link:hover span::before { width: 95%; }
.cta-link:hover span::before { width: 97%; }
.cta-link span,
.cta-link:hover span {
    color: var(--theme-primary-rgb);
    text-transform: uppercase;
}
.cta-link .cta-icon {
    display: inline-block;
    width: 50px;
    height: 50px;
    background-repeat: no-repeat;
    background-size: cover;
    margin-right: 25px;
    transition: var(--transition-cta-link);
}
.cta-link:hover .cta-icon {
    margin-right: 0px;
}
.cta-sm .cta-link .cta-icon {
    width: 20px;
    height: 20px;
}
.lp-bg-primary .lp-bg-white .cta-link .cta-icon-right,
.cta-link .cta-icon-right { background-image: url(/assets/design/icons/btn-primary-right.webp); }
.lp-bg-primary .lp-bg-white .cta-link .cta-icon-left,
.cta-link .cta-icon-left { background-image: url(/assets/design/icons/btn-primary-left.webp); }
.lp-bg-primary .lp-bg-white .cta-link .cta-icon-down,
.cta-link .cta-icon-down { background-image: url(/assets/design/icons/btn-primary-down.webp); }

.cover-text .cta-link span { color: var(--theme-light-rgb); }
.cover-text .cta-link .cta-icon-right { background-image: url(/assets/design/icons/btn-ternary-right.webp); }

.lp-bg-primary-hover:hover .cta-link .cta-icon-right,
.lp-bg-primary .lp-bg-white.bg-opacity-25 .cta-link .cta-icon-right,
.lp-bg-primary .cta-link .cta-icon-right { background-image: url(/assets/design/icons/btn-secondary-right.webp); }
.lp-bg-primary-hover:hover .cta-link .cta-icon-left,
.lp-bg-primary .lp-bg-white.bg-opacity-25 .cta-link .cta-icon-left,
.lp-bg-primary .cta-link .cta-icon-left { background-image: url(/assets/design/icons/btn-secondary-left.webp); }
.lp-bg-primary-hover:hover .cta-link .cta-icon-down,
.lp-bg-primary .lp-bg-white.bg-opacity-25 .cta-link .cta-icon-down,
.lp-bg-primary .cta-link .cta-icon-down { background-image: url(/assets/design/icons/btn-secondary-down.webp); }
.lp-bg-primary-hover:hover .cta-link span,
.lp-bg-primary-hover:hover .cta-link:hover span,
.lp-bg-primary .cta-link span,
.lp-bg-primary .cta-link:hover span { color: var(--theme-secondary-rgb); }
.lp-bg-primary-hover:hover .cta-link span:before,
.lp-bg-primary .cta-link span:before { background-color: var(--theme-secondary-rgb); }
.lp-bg-primary .lp-bg-white .cta-link .cta-icon,
.lp-bg-primary .lp-bg-white .cta-link:hover .cta-icon,
.lp-bg-primary .lp-bg-white .cta-link span,
.lp-bg-primary .lp-bg-white .cta-link:hover span { color: var(--theme-primary-rgb); }
.lp-bg-primary .lp-bg-white .cta-link span:before { background-color: var(--theme-primary-rgb); }
.lp-bg-primary .lp-bg-white.bg-opacity-25 .cta-link .cta-icon,
.lp-bg-primary .lp-bg-white.bg-opacity-25 .cta-link:hover .cta-icon,
.lp-bg-primary .lp-bg-white.bg-opacity-25 .cta-link span,
.lp-bg-primary .lp-bg-white.bg-opacity-25 .cta-link:hover span { color: var(--theme-secondary-rgb); }
.lp-bg-primary .lp-bg-white.bg-opacity-25 .cta-link span:before { background-color: var(--theme-secondary-rgb); }
.lp-bg-secondary .cta-link .cta-icon,
.lp-bg-secondary .cta-link:hover .cta-icon,
.lp-bg-secondary .cta-link span,
.lp-bg-secondary .cta-link:hover span { color: var(--theme-primary-rgb); }
.text-white.cta-link .cta-icon,
.text-white.cta-link:hover .cta-icon,
.text-white.cta-link span,
.text-white.cta-link:hover span { color: var(--theme-light-rgb); }
.text-white.cta-link span:before { background-color: var(--theme-light-rgb); }
/*.text-link { color: var(--theme-link-rgb); }*/

/* Blocks */
.container-content {
    padding-top: 3rem;
}
.block-content * {
    font-size: 14px;
}
.block-content ul {
    list-style: none;
    list-style-position: outside;
}
.block-content li:before {
    content:'- ';
    margin-left: -10px;
}
.block-container { 
    display: flex;
    margin-bottom: 4rem;
}
.block-container > .stick-to-prev,
.block-container > .stick-in-prev {
    margin-top: -4rem;
}
.block-cards .card {
    border-width: 0;
}

.publication-blocks .publication-title h2,
.publication-blocks .publication-title h2 a {
    font: 1.3rem/1.6rem var(--font-optima-bold);
    text-transform: uppercase;
    margin-bottom: .5rem;
}
.publication-blocks .block-container h3 { 
    font: 1.3rem/1.6rem var(--font-optima-bold);
    margin-top: .5rem;
    margin-bottom: .5rem;
}
.publication-blocks .block-container p { line-height: 2rem; }
.publication-summary-menu {
    background: linear-gradient(to bottom, var(--theme-primary-rgb) 0%, var(--theme-primary-75) 100%);
}
.publication-summary-menu .list-group-item {
    border: 0;
    background-color: transparent !important;
}
.publication-summary-menu .list-group-item a {
    color: var(--theme-light-rgb);
}
.publication-blocks .block-cta-mkt.lp-bg-primary {
    background-color: transparent !important;
    background: linear-gradient(to right, var(--theme-primary-rgb) 25%, var(--theme-primary-75) 100%);
}
.publication-blocks .block-cta-mkt.lp-bg-secondary {
    background-color: transparent !important;
    background: linear-gradient(to right, var(--theme-secondary-rgb) 25%, var(--theme-secondary-75) 100%);
}
.publication-blocks .block-cta-mkt.lp-bg-ternary {
    background-color: transparent !important;
    background: linear-gradient(to right, var(--theme-ternary-rgb) 25%, var(--theme-ternary-75) 100%);
}
.publication-blocks .block-cta-mkt.lp-bg-primary .cta-button,
.publication-blocks .block-cta-mkt.lp-bg-ternary .cta-button {
    color: var(--theme-primary-rgb);
    background-color: var(--theme-secondary-rgb);
}
.publication-blocks .block-cta-mkt.lp-bg-secondary .cta-button {
    color: var(--theme-primary-rgb);
    background-color: var(--theme-ternary-rgb);
}
.publication-blocks .block-cta-mkt-2 .cta-content {
    font-size: 1.25rem;
    text-align: center;
    text-transform: uppercase;
}
.publication-blocks .block-cta-mkt-2.lp-bg-primary .cta-button,
.publication-blocks .block-cta-mkt-2.lp-bg-secondary .cta-button {
    color: var(--theme-primary-rgb);
    background-color: var(--theme-ternary-rgb);
}
.publication-blocks .block-cta-mkt-2.lp-bg-ternary .cta-button {
    color: var(--theme-primary-rgb);
    background-color: var(--theme-secondary-rgb);
}
.publication-blocks .block-cta-mkt-2.lp-bg-primary .gradient-to-left,
.publication-blocks .block-cta-mkt-2.lp-bg-primary .gradient-to-right {
    background-color: #fff !important;
    background: linear-gradient(to right, var(--theme-primary-rgb) 25%, var(--theme-primary-75) 100%);
}
.publication-blocks .block-cta-mkt-2.lp-bg-secondary .gradient-to-left,
.publication-blocks .block-cta-mkt-2.lp-bg-secondary .gradient-to-right {
    background-color: #fff !important;
    background: linear-gradient(to right, var(--theme-secondary-rgb) 25%, var(--theme-secondary-75) 100%);
}
.publication-blocks .block-cta-mkt-2.lp-bg-ternary .gradient-to-left,
.publication-blocks .block-cta-mkt-2.lp-bg-ternary .gradient-to-right {
    background-color: #fff !important;
    background: linear-gradient(to right, var(--theme-ternary-rgb) 25%, var(--theme-ternary-75) 100%);
}
.publication-blocks .block-cta-mkt-2.lp-bg-primary .gradient-to-left {
    background-color: #fff !important;
    background: linear-gradient(to left, var(--theme-primary-rgb) 25%, var(--theme-primary-75) 100%);
}
.publication-blocks .block-cta-mkt-2.lp-bg-secondary .gradient-to-left {
    background-color: #fff !important;
    background: linear-gradient(to left, var(--theme-secondary-rgb) 25%, var(--theme-secondary-75) 100%);
}
.publication-blocks .block-cta-mkt-2.lp-bg-ternary .gradient-to-left {
    background-color: #fff !important;
    background: linear-gradient(to left, var(--theme-ternary-rgb) 25%, var(--theme-ternary-75) 100%);
}
.publication-blocks .block-cta-mkt-2 .gradient-to-left p*{
    color: var(--theme-light-rgb);
}
.publication-blocks .block-cta-mkt-2 button.cta-button {
    background-color: var(--theme-primary-rgb)
}
.publication-blocks .block-cta-mkt-2.lp-bg-primary button.cta-button {
    background-color: var(--theme-secondary-rgb)
}


.product-disclaimer * {
    font-size: .9rem;
}

.block-container a.text-decoration-hover:hover,
.block-container a { text-decoration: underline; }
.block-container a:hover { color: var(--theme-primary-rgb); }
.lp-bg-primary .block-container a:hover { color: var(--theme-secondary-rgb); }
.block-container a.text-decoration-hover { text-decoration: none; }
.block-container .block-header { padding-bottom: .5rem; }

ul.bullet,
.block-cards ul,
.block-container ul {
    list-style-type: none;
    margin: 0 0 1rem 0;
    padding: 0 0 0 1.5rem;
}
ul.bullet > li,
.block-cards ul > li,
.block-container ul > li {
    position: relative;
} 
ul.bullet > li:not(.no-bullet)::before,
.block-cards ul > li:not(.no-bullet)::before,
.block-container ul > li:not(.no-bullet)::before {
    position: absolute;
    font-family: 'bootstrap-icons';
    content: '\f135';
    top: -2px;
    left: -1.2rem;
}
.block-container p,
.block-container li,
.block-container a,
.block-container em,
.block-container strong,
.block-container u { 
    font-size: 1rem;
    font-family: var(--font-optima-medium);
}
/*.block-container u { font: 0.95rem var(--font-optima-medium); }*/
.block-container ul a,
.block-container ul a:hover {
    /*font-weight: 500;*/
    font-family: var(--font-optima-demi);
}
.card-form h2,
.block-cards .card-content .h2,
.block-cards .card-content .h2 span,
.card-form .h2,
.block-cards .card-content h2,
.block-cards .card-content h2 span {
    font-family: var(--font-optima-bold);
    font-size: 1.5rem;
    text-transform: uppercase;
    margin-bottom: 1rem;
}
.block-cards .card-content .h2 .text-number,
.block-cards .card-content h2 .text-number {
    font-size: 2.5rem;
}
.block-cards .card-title .h2,
.block-cards .card-title .h2 a,
.block-cards .card-content .h3,
.block-cards .card-content h3 {
    font-family: var(--font-optima-demi);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: normal;
    margin-bottom: 1rem;
}
.block-cards .card-title a.h3,
.block-cards .card-title .h2 a {
    text-decoration: none;
}
.block-cards .card-title a.h3 {
    font-family: var(--font-optima-demi);
}
.card-form .underlined .h2,
.card-form .underlined h2 {
    color: var(--theme-dark-rgb)!important;
    margin-bottom: .25rem;
}
.block-cards .card-content.spacing-xl .h2,
.block-cards .card-content.spacing-xl .h3,
.block-cards .card-content.spacing-xl h2,
.block-cards .card-content.spacing-xl h3 {
    margin-top: 1rem;
    margin-bottom: 2rem;
}

.block-cards .card-number .h2 span,
.block-cards .card-number h2 span {
    font-size: 2.5rem;
    margin-bottom: 1rem;
}
.block-cards .card-title .h3,
.block-cards .h4,
.block-cards h4 {
    font-size: 1rem;
    margin-bottom: .8rem;
}
.block-cards .h4,
.block-cards h4 {
    font-family: var(--font-optima-demi);
}
.block-cards .card-number p {
    font-size: .8rem;
}
.block-cards .list-filters a {
    display: inline-block;
    color: var(--theme-secondary-rgb);
    padding: .25rem .5rem !important;
    margin: .25rem .5rem .25rem 0 !important;
    border: 1px solid var(--theme-ternary-rgb);
    cursor: pointer;
}
.block-cards .list-filters a:hover,
.block-cards .list-filters a.hover-active {
    background-color: var(--theme-primary-rgb);
}

/* Cards */
.card-form .card-header { border: 0; }
.card-form .card-header h3 {
    font: 1.5rem/1.2rem var(--font-optima-bold);
    text-transform: uppercase;
}
.lp-bg-primary .card-form .card-header h3 { color: var(--theme-primary-rgb); }
.card.lp-bg-primary-hover:hover * { color: var(--theme-light-rgb)!important; }
.card.lp-bg-transparent { background-color: transparent; }
/*.card.lp-bg-primary-hover:hover .cta-link span::before { background-color: var(--theme-light-rgb)!important; }*/

.bg-cards,
.bg-cards-1 { /* update templates files to add .bg-cards class to each .bg-cards-X blocks */
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}
.bg-cards-1 { background-image: url(/assets/design/backgrounds/bg-cards_1.webp); }
.bg-cards-2 { background-image: url(/assets/design/backgrounds/bg-cards_2.webp); }
.bg-cards-3 { background-image: url(/assets/design/backgrounds/bg-cards_3.webp); }
.bg-cards-4 { background-image: url(/assets/design/backgrounds/bg-cards_4.webp); }
.bg-cards-5 { background-image: url(/assets/design/backgrounds/bg-cards_5.webp); }
.bg-cards-6 { background-image: url(/assets/design/backgrounds/bg-cards_6.webp); }
.bg-cards-7 { background-image: url(/assets/design/backgrounds/bg-cards_7.webp); }
.bg-size-cover { background-size: cover; }
.bg-size-contain { background-size: contain; }

/* Backgrounds colors */
.lp-bg-primary {
    color: var(--theme-light-rgb);
    background-color: var(--theme-primary-rgb)!important;
}
.btn.lp-bg-secondary {
    color: var(--theme-light-rgb);
    background-color: var(--theme-secondary-rgb)!important;
}

/* TODO deplacer ce block dans les règles .block-container une fois toutes les pages statiques en bdd */
.lp-bg-primary h2, 
.lp-bg-primary h3,
.lp-bg-primary h4,
.lp-bg-primary h5,
.lp-bg-primary .h2, 
.lp-bg-primary .h3,
.lp-bg-primary .h4,
.lp-bg-primary .h5,
.lp-bg-primary p,
.lp-bg-primary strong,
.lp-bg-primary em,
.lp-bg-primary li,
.lp-bg-primary u,
.lp-bg-primary a,
.lp-bg-primary s,
.lp-bg-primary address,
.lp-bg-primary span {
    color: var(--theme-light-rgb);
}
.lp-bg-primary .lp-bg-white .bg-opacity-25 * {
    color: var(--theme-light-rgb) !important;
}
/*.lp-bg-white h2, 
.lp-bg-white h3,
.lp-bg-white h4,
.lp-bg-white h5,
.lp-bg-white .h2, 
.lp-bg-white .h3,
.lp-bg-white .h4,
.lp-bg-white .h5,
.lp-bg-white p,
.lp-bg-white strong,
.lp-bg-white em,
.lp-bg-white li,
.lp-bg-white u,
.lp-bg-white a,
.lp-bg-white s,
.lp-bg-white address,
.lp-bg-white span {*/
.lp-bg-white * {
    color: var(--theme-dark-rgb);
}
.lp-bg-primary a:hover {
    color: var(--theme-light-rgb);
}
.lp-bg-primary-75 {
    color: #fff;
    background-color: var(--theme-primary-75)!important;
}
.lp-bg-secondary {
    color: #222;
    background-color: var(--theme-secondary-rgb);
}
.lp-bg-ternary {
    color: #222;
    background-color: var(--theme-ternary-rgb);
}
.lp-bg-ternary-75 {
    color: #222;
    background-color: var(--theme-ternary-75)!important;
}
.lp-bg-primary-hover.hover-active,
.lp-bg-primary-hover:hover {
    color: #fff;
    background-color: var(--theme-primary-rgb)!important;
}
.lp-bg-secondary-hover:hover {
    color: #222!important;
    background-color: var(--theme-secondary-rgb);
}
.lp-bg-ternary-hover:hover {
    color: #222;
    background-color: var(--theme-ternary-rgb);
}
.lp-bg-white { background-color: #fff; }
.lp-bg-white-hover:hover { background-color: #fff!important; }
.lp-bg-white.bg-opacity-25 {
    background-color: rgba(255,255,255,.25);
}
.lp-bg-white.bg-opacity-hover-40:hover {
    background-color: rgba(255,255,255,.4);
}
.lp-bg-white.bg-opacity-75 {
    background-color: rgba(255,255,255,.75);
}
.lp-bg-white.bg-opacity-hover-90:hover {
    background-color: rgba(255,255,255,.9);
}
.lp-bg-white {
    background-color: #fff;
    color: var(--theme-dark-rgb);
}

/* Text colors */
.lp-text-primary { color: var(--theme-primary-rgb)!important; }
.lp-text-secondary { color: var(--theme-secondary-rgb)!important; }
.lp-text-ternary { color: var(--theme-ternary-rgb)!important; }
.lp-text-special { color: var(--theme-secondary-special-rgb)!important; }
.lp-text-dark { color: var(--theme-dark-rgb)!important; }
/*.lp-text-light .cta-link span::before { background-color: var(--theme-light-rgb)!important; }*/
.text-white sup,
.lp-bg-primary sup { color: var(--theme-light-rgb); }

/* Border colors */
.lp-border-primary { border-color: var(--theme-primary-rgb) !important; }
.lp-border-secondary { border-color: var(--theme-secondary-rgb) !important; }
.lp-border-100 { border-color: rgba(var(--crystal-100-rgb), var(--crystal-border-opacity))!important; }

/* Buttons backgrounds effects */
.lp-bg-primary.btn,
.lp-bg-primary.btn:active,
.lp-bg-primary.btn:visited {
    color: var(--theme-light-rgb);
}
.lp-bg-primary-hover:hover,
.lp-bg-primary-hover:hover a,
.lp-bg-primary.btn:hover {
    color: var(--theme-secondary-rgb)!important;
}
.lp-text-light-hover:hover { color: var(--theme-light-rgb)!important; }
.lp-text-primary-hover:hover { color: var(--theme-primary-rgb)!important; }

.nav-item-special .lp-bg-primary-hover:hover .btn {
    color: var(--theme-primary-rgb)!important;
    background-color: var(--theme-light-rgb)!important;
}
.cta-box.lp-text-secondary-hover .cta-link:hover span {
    color: var(--theme-secondary-rgb)!important;
}
.cta-box.lp-text-secondary-hover .cta-link:hover span::before {
    background-color: var(--theme-secondary-rgb)!important;
}

.lp-bg-secondary-hover:hover span,
.lp-bg-secondary-hover:hover a,
.lp-bg-secondary-hover:hover .lp-bg-secondary.btn,
.lp-bg-secondary.btn:hover {
    color: var(--theme-primary-rgb);
    background-color: var(--theme-light-rgb);
}
.cmn-hover-trigger .cmn-hover-block {
    opacity: 0;
    /*transition: all .25s linear;*/
}
.cmn-hover-trigger:hover .cmn-hover-block { opacity: 1; }
.lp-bg-primary-hover.hover-active,
.lp-bg-primary-hover:hover,
.lp-bg-secondary-hover:hover,
.lp-bg-ternary-hover:hover,
.lp-bg-white.bg-opacity-hover-40:hover,
.cmn-hover-trigger .cmn-hover-block,
.lp-bg-secondary.btn:hover,
.lp-bg-secondary-hover:hover .lp-bg-secondary.btn,
.lp-bg-primary-hover,
.lp-bg-secondary-hover,
.lp-bg-ternary-hover,
.lp-bg-white.bg-opacity-hover-40,
.lp-bg-secondary.btn,
.lp-bg-secondary-hover .lp-bg-secondary.btn,
.transition-ease-in-out-15 {
    transition: var(--transition-ease-in-out-15);
}


/* Buttons */
.btn-outline-primary {
    --crystal-btn-color: var(--theme-primary-rgb);
    --crystal-btn-hover-color: var(--theme-light-rgb);
    --crystal-btn-border-color: var(--theme-primary-rgb);
    --crystal-btn-hover-bg: var(--theme-primary-rgb);
    --crystal-btn-hover-border-color: var(--theme-primary-rgb);
    --crystal-btn-active-color: var(--theme-light-rgb);
    --crystal-btn-active-bg: var(--theme-primary-rgb);
    --crystal-btn-active-border-color: var(--theme-primary-rgb);
}
.btn-picto-download {
    width: 25px;
    height: 25px;
    text-align: center;
    border-color: rgba(var(--crystal-300-rgb), var(--crystal-border-opacity))!important;
}


/* Forms */
form.text-capitalize-value .form-floating > label { text-transform: capitalize!important; }
form.lp-text-primary-value .form-floating > label { color: var(--theme-primary-rgb)!important; }

/* Fonts */
.fw-400 { font-family: var(--font-optima-roman); }
.fw-500 { font-family: var(--font-optima-medium); }
.fw-600 { font-family: var(--font-optima-demi); }
.fw-700 { font-family: var(--font-optima-bold); }
.fw-800 { font-family: var(--font-optima-black); }
.fw-900 { font-family: var(--font-optima-extra); }
i, em, .text-italic { font-style: italic; }
b, strong { font-family: var(--font-optima-demi)!important; }
.text-number,
.text-number sup { font-family: var(--font-operetta-18) !important; }


/* Title styles */
.underlined {
    position: relative;
    text-align: left;
    /*margin-bottom: 2rem;*/
    text-transform: uppercase;
}
.lp-bg-primary .underlined h2,
.lp-bg-primary .underlined .h2,
.lp-bg-primary .underlined h3,
.lp-bg-primary .underlined + .h3,
.lp-bg-primary .underlined h4,
.lp-bg-primary .underlined h4 { color: var(--theme-light-rgb); }

.publication-header h1,
.underlined .h2,
.underlined .h2 a,
.underlined h2,
.underlined h2 a {
    font: 1.5rem/1.85rem var(--font-optima-bold);
    text-transform: uppercase;
    margin-bottom: 1.5rem;
}
.underlined .h4,
.underlined h4 { 
    font: 1.15rem/1rem var(--font-optima-bold);
    margin-bottom: .3rem;
}
.underlined h1::after,
.underlined h2::after,
.underlined .h2::after,
.underlined h3::after,
.underlined .h3::after,
.underlined h4::after,
.underlined .h4::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -15px;
    width: 80px;
    height: 2px;
    margin: 0;
    background-color: var(--theme-secondary-rgb);
}
.underlined-ternary .underlined h2::after,
.lp-bg-secondary .underlined h1::after,
.lp-bg-secondary .underlined h2::after,
.lp-bg-secondary .underlined .h2::after,
.lp-bg-secondary .underlined h3::after,
.lp-bg-secondary .underlined .h3::after,
.lp-bg-secondary .underlined h4::after,
.lp-bg-secondary .underlined .h4::after { background-color: var(--theme-ternary-rgb); }

.cover-text .underlined h1::after { bottom: -25px; }
.undertitle {
    position: absolute;
    top: 0;
    left: 0;
    width: 325px;
    height: 275px;
    z-index: -1;
}

/* Accordion */
.accordion-button.collapsed {
  color: var(--crystal-body-text);
}
.accordion-item:last-child {
    border-bottom: 0;
}
#accordionFaqs .accordion-button::after {
    display:none;
}

/* Cards */
.card .underlined .h2 {
    font-size: 1.25rem;
}

/* Cards Number */
.card-number.fs--1 > p {
    margin: 0;
}
.card-number.fs--1 > p > span.text-number {
    font-size: 2.5rem;
    margin-bottom: 1rem;
}
.card-number.fs--1 > p > strong { /* cf. .block-cards h4) */
    display: inline-block;
    font-family: var(--font-optima-demi);
    font-size: 1rem;
    margin: .25rem 0 .8rem 0;
}

/* Cards carousel */
.card-carousel {
    width: 250px;
    cursor: pointer;
}
.card-carousel:not(:first-child) {
    margin-left: -20px;
}
.card-carousel .underlined {
    font-weight: 700;
    font-size: .8rem;
}
.card-carousel .shortlabel h3 { font-size: .9rem; }
.card-carousel .shortlabel .underlined {
    display: none;
}
.card-carousel .underlined span {
    display: block;
}
.card-carousel .underlined .text-number {
    font-size: 2rem;
}
.card-carousel .card-button,
.card-carousel .card-content ul,
.card-carousel .card-content p {
    height: 0;
    opacity: 0;
}
.card-carousel img.card-carousel-btn,
.card-carousel div.card-carousel-btn {
    opacity: .4;
    transition: all .5s linear;
}
.card-carousel:hover img.card-carousel-btn,
.card-carousel:hover div.card-carousel-btn {
    opacity: 1;
    transition: all .5s linear;
}
.card-carousel.active {
    width: calc(100% - 3 * 80px); /* 4 cards - 1 */
    z-index: 10!important;
    transition: all .1s linear;
    cursor: default;
}
.card-carousel.active .shortlabel .underlined {
    display: block;
}
.card-carousel.active .shortlabel h3 {
    display: none;
}
.card-carousel.active .underlined span {
    display: inline-block;
    text-align: left;
}
.card-carousel.active .underlined {
    font-weight: 800;
    font-size: 1.2rem;
}
.card-carousel.active .card-button,
.card-carousel.active .card-content ul,
.card-carousel.active .card-content p {
    height: auto;
    opacity: 1;
    transition: all .5s linear;
}
.card-carousel.active .card-carousel-btn {
    display: none!important;
}
@media (max-width: 991px) {
    .card-carousel {
        width: 100%;
        z-index: 1!important;
    }
    .card-carousel,
    .card-carousel .card-content {
        max-height: 80px;
    }
    .card-carousel .underlined span {
        display: inline-block;
    }
    .card-carousel:not(:first-child) {
        margin-left: 0;
        margin-top: -10px;
    }
    .card-carousel.active {
        width: 100%;
        z-index: 10!important;
    }
    .card-carousel.active,
    .card-carousel.active .card-content {
        max-height:fit-content;
    }
    .card-carousel.active img.card-carousel-btn {
        display: none!important;
    }  
}


/* Covers pages */
.cover-container {
    height: calc(100vh - var(--header-height));
    width: 100vw;
    /*margin-bottom: var(--content-margin-top);*/
}
.cover-container.cover-half { height: calc(50vh - var(--header-height))!important; }
.cover-background,
.cover-background-overlay {
    position: absolute;
    height: 100vh;
    width: 100vw;
    top: calc(0px - var(--header-height));
    left: 0;
    bottom: 0;
    right: 0;
}
.cover-container.cover-half .cover-background,
.cover-container.cover-half .cover-background-overlay { height: 50vh!important; }
.cover-background-overlay {
    background-color: var(--theme-primary-rgb);
    opacity: .7;
    z-index: 1;
}
.cover-background {
    background-position: 50% 50%;
    background-size: cover;
    background-repeat: no-repeat;
    z-index: 0;
}
.cover-text {
    position: absolute;
    bottom: 12rem;
    width: 100%;
    z-index: 1;
}
.cover-text.cover-half { bottom: 6rem!important; }
.cover-text h1,
.cover-text h1 sup,
.cover-text .h3 {
    color: var(--theme-light-rgb);
}
.cover-text h1, 
.cover-text h1 sup {
    font: 2.5rem/2.5rem var(--font-optima-bold);
    text-transform: uppercase;
    margin-bottom: 2.25rem;
}
.cover-text h1 sup {
    top: -1rem;
}
.cover-text .underlined h1::after {
    bottom: -18px;
}
.cover-text .h3 {
    position: absolute;
    display: block;
    font: 1.6rem/1.1 var(--font-optima-roman);
    text-transform: none;
    margin-top: 35px;
}
.cover-text .h3::after {
    content: none;
}
.cover-text .h3 ul {
    margin-top: .7rem;
}
.cover-text .h3 li {
    color: var(--theme-light-rgb);
    font: 1.15rem var(--font-optima-demi);
}
.cover-text.no-cover {
    position: static;
}
.cover-text.no-cover h1,
.cover-text.no-cover .h3 {
    color: var(--theme-dark-rgb);
}


/* Modal & static popups */
.modal-transparent,
#modal__form-contact .modal-content {
    background-color: transparent;
}
#products-search {
    margin-top: 1rem;
}
#products-search .list-products {
    max-height: calc(100vh - var(--header-height) - 10rem);
}


/* Socials icons */
.social-icon {
    display: inline-block;
    width: 30px;
    height: 30px;
}
.social-icon.linkedin {
    background-image: url(/assets/design/icons/linkedin.svg);
}
.lp-bg-primary .social-icon.linkedin {
    background-image: url(/assets/design/icons/linkedin-light.svg);
}
.social-icon.x {
    background-image: url(/assets/design/icons/x.svg);
}
.lp-bg-primary .social-icon.x {
    background-image: url(/assets/design/icons/x-light.svg);
}
.social-icon.facebook {
    background-image: url(/assets/design/icons/facebook.svg);
}
.lp-bg-primary .social-icon.facebook {
    background-image: url(/assets/design/icons/facebook-light.svg);
}
.social-icon.instagram {
    background-image: url(/assets/design/icons/instagram.svg);
}
.lp-bg-primary .social-icon.instagram {
    background-image: url(/assets/design/icons/instagram-light.svg);
}
.social-icon.youtube {
    background-image: url(/assets/design/icons/youtube.svg);
}
.lp-bg-primary .social-icon.youtube {
    background-image: url(/assets/design/icons/youtube-light.svg);
}


/* Icone "burger" menu principal */
.cover-menu-icon {
    position: relative;
    width: 50px;
    height: 50px; 
    border: 1px solid var(--theme-light-rgb);
    border-radius: 30px!important;
    transition: all var(--transition-cta-link);
}
.cover-menu-icon:hover {
    /*background-color: var(--theme-light-rgb);*/
    cursor: pointer;
    transition: all var(--transition-cta-link);
}
.cover-menu-icon span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    display: block;
    width: 28px;
    height: 2px;
    background-color: #FFF;
}
.cover-menu-icon span::before,
.cover-menu-icon span::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    transform: translateY(-8px);
    display: block;
    width: 28px;
    height: 2px;
    background-color: #FFF;
    transition: transform var(--transition-cta-link);
}
.cover-menu-icon span::after { transform: translateY(8px); }
.collapsed .cover-menu-icon span { background: transparent; }
.collapsed .cover-menu-icon span::before { transform: translateY(0) rotate(45deg); }
.collapsed .cover-menu-icon span::after { transform: translateY(0) rotate(-45deg); }
.collapsed .cover-menu-icon { transform: rotate(180deg); }

/* Carousel multiview */
/*
.carousel-videos .carousel-inner .carousel-item.active,
.carousel-videos .carousel-inner .carousel-item-next,
.carousel-videos .carousel-inner .carousel-item-prev {
    display: flex;
}
.carousel-videos .carousel-inner .carousel-item-end,
.carousel-videos .carousel-inner .carousel-item-start { 
  transform: translateX(0);
}
.carousel-videos .carousel-control-prev { left: -6%; }
.carousel-videos .carousel-control-next { right: -6%; }
.carousel-videos .carousel-control-prev-icon {
    background-image: url('/assets/design/icons/btn-primary-left.webp');
}
.carousel-videos .carousel-control-next-icon {
    background-image: url('/assets/design/icons/btn-primary-right.webp');
}
.carousel-videos .carousel-control-prev-icon,
.carousel-videos .carousel-control-next-icon {
    width: 3rem;
    height: 3rem;
}
@media (max-width: 575px) {   
    .carousel-videos .carousel-inner .carousel-item-end.active,
    .carousel-videos .carousel-inner .carousel-item-next {
      transform: translateX(100%);
    }
    .carousel-videos .carousel-inner .carousel-item-start.active, 
    .carousel-videos .carousel-inner .carousel-item-prev {
      transform: translateX(-100%);
    }
    .carousel-videos .carousel-control-prev { left: -10%; }
    .carousel-videos .carousel-control-next { right: -10%; }
}
@media (min-width: 576px) and (max-width: 991px) {   
    .carousel-videos .carousel-inner .carousel-item-end.active,
    .carousel-videos .carousel-inner .carousel-item-next {
      transform: translateX(50%);
    }
    .carousel-videos .carousel-inner .carousel-item-start.active, 
    .carousel-videos .carousel-inner .carousel-item-prev {
      transform: translateX(-50%);
    }
    .carousel-videos .carousel-control-prev-icon,
    .carousel-videos .carousel-control-next-icon {
        width: 2.5rem;
        height: 2.5rem;
    }
    .carousel-videos .carousel-control-prev { left: -10%; }
    .carousel-videos .carousel-control-next { right: -10%; }
}
@media (min-width: 992px) {   
    .carousel-videos .carousel-inner .carousel-item-end.active,
    .carousel-videos .carousel-inner .carousel-item-next {
      transform: translateX(33.33333%);
    }
    .carousel-videos .carousel-inner .carousel-item-start.active, 
    .carousel-videos .carousel-inner .carousel-item-prev {
      transform: translateX(-33.33333%);
    }
}
*/

/* iframe video */
.block-container .rounded-4 > iframe:not(.hs-form-iframe) {
    border-radius: var(--crystal-border-radius-xl) !important;
}

@media (max-width: 575px) {
    .carousel-inner .carousel-item>div { display: none; }
    .carousel-inner .carousel-item>div:first-child { display: block; }

    .block-container iframe:not(.hs-form-iframe) {
        width: 350px!important;
        height: calc(350px * 1/(16/9))!important;
    }
}
.carousel-inner .carousel-item.active,
.carousel-inner .carousel-item-start,
.carousel-inner .carousel-item-next,
.carousel-inner .carousel-item-prev { display: flex; }
.carousel-inner .carousel-item-right.active,
.carousel-inner .carousel-item-next,
.carousel-item-next:not(.carousel-item-start) { transform: translateX(100%) !important; }
.carousel-inner .carousel-item-left.active,
.carousel-item-prev:not(.carousel-item-end),
.active.carousel-item-start,
.carousel-item-prev:not(.carousel-item-end) { transform: translateX(-100%) !important; }
.carousel-item-next.carousel-item-start,
.active.carousel-item-end { transform: translateX(0) !important; }
.carousel-inner .carousel-item-prev,
.carousel-item-prev:not(.carousel-item-end) { transform: translateX(-100%) !important; }
.carousel-videos .carousel-control-prev { left: -10%; }
.carousel-videos .carousel-control-next { right: -10%; }
.carousel-videos .carousel-control-prev-icon { background-image: url('/assets/design/icons/btn-primary-left.webp'); }
.carousel-videos .carousel-control-next-icon { background-image: url('/assets/design/icons/btn-primary-right.webp'); }
.lp-bg-primary .carousel-videos .carousel-control-prev-icon { background-image: url('/assets/design/icons/btn-secondary-left.webp'); }
.lp-bg-primary .carousel-videos .carousel-control-next-icon { background-image: url('/assets/design/icons/btn-secondary-right.webp'); }
.carousel-videos .carousel-control-prev-icon,
.carousel-videos .carousel-control-next-icon {
    width: 3rem;
    height: 3rem;
}
@media (min-width: 576px) and (max-width:991px) {
    .carousel-videos .carousel-control-prev { left: -10%; }
    .carousel-videos .carousel-control-next { right: -10%; }
    .carousel-videos .carousel-control-prev-icon,
    .carousel-videos .carousel-control-next-icon {
        width: 2.5rem;
        height: 2.5rem;
    }
    .carousel-inner .carousel-item-right.active,
    .carousel-inner .carousel-item-next,
    .carousel-item-next:not(.carousel-item-start) { transform: translateX(50%) !important; }
    .carousel-inner .carousel-item-left.active,
    .carousel-item-prev:not(.carousel-item-end),
    .active.carousel-item-start,
    .carousel-item-prev:not(.carousel-item-end) { transform: translateX(-50%) !important; }
    .carousel-item-next.carousel-item-start,
    .active.carousel-item-end { transform: translateX(0) !important; }
    .carousel-inner .carousel-item-prev,
    .carousel-item-prev:not(.carousel-item-end) { transform: translateX(-50%) !important; }
}
@media (min-width: 576px) and (max-width:767px) {
    .block-container iframe:not(.hs-form-iframe) {
        width: 500px!important;
        height: calc(500px * 1/(16/9))!important;
        margin: 0 auto;
    }
}
@media (min-width: 768px) and (max-width:991px) {
    .block-container iframe:not(.hs-form-iframe) {
        width: 700px!important;
        height: calc(700px * 1/(16/9))!important;
        margin: 0 auto;
    }
    .block-container .video-half iframe:not(.hs-form-iframe) {
        width: 350px!important;
        height: calc(350px * 1/(16/9))!important;
        margin: 0 auto;
    }
}
@media (min-width: 992px) {
    .block-container iframe:not(.hs-form-iframe) {
        width: 900px!important;
        height: calc(900px * 1/(16/9))!important;
        margin: 0 auto;
    }
    .block-container .video-half iframe:not(.hs-form-iframe) {
        width: 500px!important;
        height: calc(500px * 1/(16/9))!important;
        margin: 0 auto;
    }

    .carousel-videos .carousel-control-prev { left: -8%; }
    .carousel-videos .carousel-control-next { right: -8%; }
    .carousel-inner .carousel-item-right.active,
    .carousel-inner .carousel-item-next,
    .carousel-item-next:not(.carousel-item-start) { transform: translateX(33.33333%) !important; }
    .carousel-inner .carousel-item-left.active,
    .carousel-item-prev:not(.carousel-item-end),
    .active.carousel-item-start,
    .carousel-item-prev:not(.carousel-item-end) { transform: translateX(-33.33333%) !important; }
    .carousel-item-next.carousel-item-start,
    .active.carousel-item-end { transform: translateX(0) !important; }
    .carousel-inner .carousel-item-prev,
    .carousel-item-prev:not(.carousel-item-end) { transform: translateX(-33.33333%) !important; }
}


/* Misc */
.maxw-40 { max-width: 40px; }
.maxw-100 { max-width: 100px; }
.maxw-150 { max-width: 150px; }
.maxw-200 { max-width: 200px; }
.maxw-300 { max-width: 300px; }
.maxw-350 { max-width: 350px; }
.maxw-400 { max-width: 400px; }
.maxh-40 { max-height: 40px; }
.maxh-60 { max-height: 60px; }
.maxh-80 { max-height: 80px; }
.maxh-100 { max-height: 100px; }
.maxh-150 { max-height: 150px; }
.maxh-200 { max-height: 200px; }
.maxh-250 { max-height: 250px; }
.maxh-450 { max-height: 450px; }
.minh-75 { min-height: 75px; }
.minh-150 { min-height: 150px; }
.minh-180 { min-height: 180px; }
.wpx-40 { width: 40px; }
.wpx-120 { width: 120px; }
.hpx-40 { height: 40px; }
.hpx-100 { height: 100px; }
.top-120 { top: 120px; }
.me-n16 { right: -16rem!important; }
.me-n20 { right: -20rem!important; }
.z-n1 { z-index: -1; }
.z-0 { z-index: 0; }
.z-1 { z-index: 1; }
.z-2 { z-index: 2; }
.z-3 { z-index: 3; }
.ul-m-0 ul, .ul-m-0 ol { margin-bottom: 0!important; }
.zindex--1 { z-index: -1!important; }
sup { font-size: .85rem!important; }
/*.shadow-md { box-shadow: 0 0 10px 2px rgba(36,40,46,.08) !important; }*/
.shadow-md { box-shadow: 0 0 .5rem .1rem rgba(36,40,46,.08) !important; }
.ql-align-center { text-align: center; }

#toTop {
    width: 40px;
    height: 40px;
    text-align:center;
    line-height: 3rem;
    background-color: var(--theme-ternary-75);
    overflow: hidden;
    cursor: pointer;
}
#toTop > i {
    font-size: 1.5rem;
    color: var(--theme-primary-rgb);
    font-weight: 700;
}

@media (min-width: 768px) {
    .top-md-120 { top: 120px; }
}

@media (max-width: 767px) {
    .publication-title h2 { font-size: .95rem; }
    .underlined h2 { font-size: 1rem; }
    .underlined h1 { font-size: 1.25rem; }
    .cover-text .h3 { font-size: 1.15rem; }
}

@media (max-width: 991px) {
    h3 { font-size: 1.15rem; }
}

/**
* Font Optima LT
* This CSS resource incorporates links to font software which is the valuable copyrighted property of Monotype and/or its suppliers. You may not attempt to copy, install, redistribute, convert, modify or reverse engineer this font software. Please contact Monotype with any questions regarding Web /assets/fonts/optima-LT: https://www.linotype.com
**/
@font-face {
    font-family: "Optima LT W04 Demi Bold";
    src: url("/assets/fonts/optima-LT/1564461/a111e138-4415-476d-9cc5-eef605c1e08e.woff2") format("woff2"), url("/assets/fonts/optima-LT/1564461/6dbe8975-da5e-4884-b009-61eda4b02739.woff") format("woff");
}

@font-face {
    font-family: "Optima LT W04 Bold";
    src: url("/assets/fonts/optima-LT/1564473/07a1e94d-e616-4b95-b35a-158f9dfa4fc2.woff2") format("woff2"), url("/assets/fonts/optima-LT/1564473/89af6aaf-28f9-43ee-8576-2f16f910ec88.woff") format("woff");
}

@font-face {
    font-family: "Optima LT W04 Black";
    src: url("/assets/fonts/optima-LT/1564485/ff8f8495-8302-4f15-af3c-3007521dadc9.woff2") format("woff2"), url("/assets/fonts/optima-LT/1564485/244c530c-3eb0-4fd5-9d67-94a2d37b8735.woff") format("woff");
}

@font-face {
    font-family: "Optima LT W04 Extra Black";
    src: url("/assets/fonts/optima-LT/1564497/7ce2c8c8-f124-4a2c-88cb-660ed1cc26ce.woff2") format("woff2"), url("/assets/fonts/optima-LT/1564497/65dd6ae7-c9f5-42a8-a53e-c9de02db0400.woff") format("woff");
}

@font-face {
    font-family: "Optima LT W04 Medium";
    src: url("/assets/fonts/optima-LT/5962248/db9bd2a5-7cc2-48cb-a18a-2fe7c470b436.woff2") format("woff2"), url("/assets/fonts/optima-LT/5962248/37464bb7-6fd2-4b40-bd6c-b2a5b82cf5ba.woff") format("woff");
}

@font-face {
    font-family: "Optima LT W04 Italic";
    src: url("/assets/fonts/optima-LT/5962250/6ac5c559-f917-4392-a16c-93437a46210d.woff2") format("woff2"), url("/assets/fonts/optima-LT/5962250/82dd84eb-4a5f-4e73-8e30-745aa9e918d5.woff") format("woff");
}

@font-face {
    font-family: "Optima LT W04 Roman";
    src: url("/assets/fonts/optima-LT/5962254/cf5e912a-25b2-4f77-a4fc-d8ff36cf891d.woff2") format("woff2"), url("/assets/fonts/optima-LT/5962254/6c4db7fc-5154-4b66-8fd1-0978db11f68b.woff") format("woff");
}

/*
 * The Typekit service used to deliver this font or fonts for use on websites
 * is provided by Adobe and is subject to these Terms of Use
 * http://www.adobe.com/products/eulas/tou_typekit. For font license
 * information, see the list below.
 *
 * operetta-18:
 *   - http://typekit.com/eulas/00000000000000007735e934
 *
 * © 2009-2022 Adobe Systems Incorporated. All Rights Reserved.
 */
@font-face {
    font-family: "operetta-18";
    src: url("https://use.typekit.net/af/2a8632/00000000000000007735e934/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n9&v=3") format("woff2"), url("https://use.typekit.net/af/2a8632/00000000000000007735e934/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n9&v=3") format("woff"), url("https://use.typekit.net/af/2a8632/00000000000000007735e934/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n9&v=3") format("opentype");
    font-display: auto;
    font-style: normal;
    font-weight: 900;
    font-stretch: normal;
}


/* Plugins */
/* Lightbox 2 */
.lb-close { display: none!important; }

/* Roue des marques */
.roue-marques {
    position: relative;
    width: var(--roue-size);
    height: var(--roue-size);
}
.roue-marques .roue-path {
    position: absolute;
    width: var(--roue-size);
    height: var(--roue-size);
    border: 1px solid rgba(255,255,255,.5);
    border-radius: calc(var(--roue-size) / 2);
}
.roue-marques .roue-path img {
    width: var(--roue-logo-width);
    height: var(--roue-logo-height);
    margin-top: calc((var(--roue-size) - var(--roue-logo-height)) / 2);
    margin-left: calc((var(--roue-size) - var(--roue-logo-width)) / 2);
    cursor: pointer;
}
.roue-marques .roue {
    position: absolute;
    text-align: center;
    width: var(--roue-item-size);
    height: var(--roue-item-size);
    top: calc((var(--roue-size) - var(--roue-item-size)) / 2);
    left: calc(var(--roue-size) - (var(--roue-item-size) / 2));
    transform-origin: calc(0px - ((var(--roue-size) - var(--roue-item-size)) / 2)) 50%;
}
.roue-marques .roue > div {
    background-color: var(--theme-primary-rgb);
}
.roue-marques .roue,
.roue-marques .roue img {
    transition-duration: .5s;
}

.roue-marques .roue img {
    width: var(--roue-item-size);
    height: var(--roue-item-size);
    cursor: pointer;
    opacity: .5;
}
.roue-marques .roue img:hover {
    opacity: 1;
}
.roue-marques .roue.show img {
    opacity: 1;
    cursor: default;
}
.infos-marques .info {
    min-height: 500px;
}
.infos-marques .info .h3,
.infos-marques .info h3 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
}
.tab-marque img {
    opacity: .5;
    cursor: pointer;
    transition: all var(--roue-transition-item-hover);
}
.tab-marque img:hover,
.tab-marque.show img {
    opacity: 1;
}
.tab-marque {
    padding-bottom: .75rem;
    border-bottom: 2px solid var(--theme-light-rgb);
    transition: all var(--roue-transition-item-hover);
}
.tab-marque.show {
    border-color: var(--theme-secondary-rgb);
}


/* Histoire */
.dates-container {
    width: 100%;
    min-height: 200px;
    overflow-x: hidden; 
    white-space: nowrap;
    scrollbar-color: rgba(255,255,255,0);
    -ms-overflow-style: none;
}
.dates-container::-webkit-scrollbar {
    display: none;
}
.dates-container > ul {
    display: inline-flex;
    margin: 0 0 0 20%!important;
    padding: 0!important;
}
.dates-container > ul > li {
    margin: 0!important;
    padding: 0!important;
}
.dates-container .start,
.dates-container .top,
.dates-container .bottom {
    width: var(--timeline-info-width);
    height: var(--timeline-info-height);
}
.dates-container .start {
    width: var(--timeline-start-width);
    border-bottom: var(--timeline-info-border) dashed var(--theme-secondary-rgb);
}
.dates-container .top {
    border-bottom: var(--timeline-info-border) solid var(--theme-secondary-rgb);
}
.dates-container .bottom {
    border-top: var(--timeline-info-border) solid var(--theme-secondary-rgb);
    margin-top: calc(var(--timeline-info-height) - var(--timeline-info-border));
}
.dates-container .bullet {
    width: var(--timeline-bullet-size);
    height: var(--timeline-bullet-size);
    margin-left: calc(0px - (var(--timeline-bullet-size) / 2) + (var(--timeline-info-border) / 2));
    border: var(--timeline-info-border) solid var(--theme-secondary-rgb);
    border-radius: 50%;
}
.dates-container .spacer {
    width: var(--timeline-bullet-size);
    height: var(--timeline-spacer-height);
    border-left: var(--timeline-info-border) solid var(--theme-secondary-rgb);
}
.dates-container time,
.dates-container span {
    display: block;
}
.dates-container .top time {
    margin-top: auto;
}
.dates-container .bottom time {
    margin-top: 1rem;
}
.dates-container .top .info {
    padding-bottom: 1rem;
}
.dates-container .year {
    font: 2.6rem/.9 var(--font-operetta-18);
    margin-bottom: 1rem;
}
#carousel-histoire .year {
    padding-bottom: 1rem;
    border-bottom: var(--timeline-info-border) solid var(--theme-secondary-rgb);
}
#carousel-histoire .year::before {
    position: absolute;
    top: 72px;
    content: '';
    width: var(--timeline-bullet-size);
    height: var(--timeline-bullet-size);
    background-color: var(--theme-ternary-rgb);
    border: var(--timeline-info-border) solid var(--theme-secondary-rgb);
    border-radius: 50%;
}
.dates-container .month {
    min-height: 25px;
    font: 1rem/1.5 var(--font-optima-roman);
    text-transform: uppercase;
}
.dates-container .data {
    display: flex;
    flex-direction: column;
    white-space: normal;
    height: calc(var(--timeline-info-height) - var(--timeline-spacer-height) - var(--timeline-bullet-size));
}
.dates-container .data .month,
.dates-container .data .year,
.dates-container .data .info,
.dates-container .data p,
.dates-container .data li {
    color: var(--theme-primary-rgb);
}
.dates-container .carousel-item .data {
    height: auto;
}
.dates-container .data .info {
    font-size: .9rem;
    line-height: 1.25rem;
}
.dates-container .data ul {
    padding-left: 0;
    list-style-position: outside;
}
.dates-container .data li {
    list-style: none;
    padding-left: 16px;
}
.dates-container .data li:before {
    content:'- ';
    left: .5rem!important;
    margin-left: -10px;
}
.histoire-container .carousel-control-prev {
    top: 25px;
    left: -15px;
}
.histoire-container .carousel-control-next {
    top: 25px;
    right: -15px;
}
.histoire-container .carousel-control-prev .carousel-control-prev-icon {
    background-image: url(/assets/design/icons/btn-chevron-left.svg);
}
.histoire-container .carousel-control-prev.active .carousel-control-prev-icon {
    background-image: url(/assets/design/icons/btn-chevron-left-active.svg);
}
.histoire-container .carousel-control-prev.active:hover .carousel-control-prev-icon {
    background-image: url(/assets/design/icons/btn-chevron-left-hover.svg);
}
.histoire-container .carousel-control-next .carousel-control-next-icon {
    background-image: url(/assets/design/icons/btn-chevron-right.svg);
}
.histoire-container .carousel-control-next.active .carousel-control-next-icon {
    background-image: url(/assets/design/icons/btn-chevron-right-active.svg);
}
.histoire-container .carousel-control-next.active:hover .carousel-control-next-icon {
    background-image: url(/assets/design/icons/btn-chevron-right-hover.svg);
}
@media (max-width: 575.98px) {
    .dates-container > ul {
        margin: 0!important;
    }
    .dates-container .start {
        width: 5px;
    }    
}
@media (min-width: 768px) and (max-width: 991.98px) {
    .histoire-container .carousel-control-prev {
        top: -10px;
        left: -60px;
    }
    .histoire-container .carousel-control-next {
        top: -10px;
        right: -60px;
    }
}
@media (min-width: 992px) {
    .infos-marques {
        border-left: 1px solid var(--theme-light-rgb);
    }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    .histoire-container .carousel-control-prev {
        top: -2px;
        left: -78px;
    }
    .histoire-container .carousel-control-next {
        top: -2px;
        right: -78px;
    }
}
@media (min-width: 1200px) {
    .histoire-container .carousel-control-prev {
        top: 0;
        left: -110px;
    }
    .histoire-container .carousel-control-next {
        top: 0;
        right: -110px;
    }
}

/* Select2 */
.form-select-lg ~ .select2-container--bootstrap-5 .select2-selection,
.form-select-lg ~ .select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__rendered .select2-selection__choice,
.select2-container--bootstrap-5 .select2-dropdown .select2-results__options .select2-results__option { font-size: .8rem; }
.select2-container--bootstrap-5 .select2-dropdown .select2-results__options .select2-results__option[role="group"] .select2-results__group {
    display: block;
    margin: .75rem 0 0 0;
    padding: .75rem 0 .75rem .5rem;
    background-color: #f7f7f7;
}
.select2-selection { min-height: calc(2.875rem + 2px) !important; }
.select2-selection.select2-selection--single { padding-top: .8rem !important; }
.select2-selection__placeholder { 
    color: #8a94ac!important;
    font-weight: 700!important;
    font-size: .64rem;
    text-transform: uppercase;
}
.select2-container--bootstrap-5 .select2-selection--single { background-position: right .4rem center; }
.select2-container--bootstrap-5 .select2-selection--single .select2-selection__clear { right: 1.5rem; }
