/*
 * Header
 */
header #header {
        background-color:var(--main-color) !important;
        color:#fff;
        padding:0;
}
.navbar, .navbar>.container, .navbar>.container-fluid, .navbar>.container-lg, .navbar>.container-md, .navbar>.container-sm, .navbar>.container-xl, .navbar>.container-xxl {
        display:block;
}

#header #top-menu {
        height:51px;
        border-bottom:solid 1px rgba(255, 255, 255, .35);
        display:flex;
        align-items:center;
}
#header #top-menu > .container {
        display:flex;
        flex-direction:row;
        justify-content:flex-end;
        align-items:center;
        position:relative;
}
#header #top-menu a {
        color:#fff;
}
#header #top-menu .mention-cd88 {
        position:absolute;
        left:var(--bs-gutter-x,.75rem);
        top:50%;
        margin-top: -11px;
        font-size: .9rem;
}
#header #top-menu .search-form {
        display:inline-block;
        min-width:0;
}
#header #top-menu .search-form .search-icon {
        display:inline-block;
        width:20px;
        height:20px;
        background:url('../img/search-icon.svg') no-repeat;
        background-size:contain;
        border:none;
        user-select:none;
}
#header #top-menu .search-form .search-input {
        width: 0px;
        /* height: 22px; */
        padding: 3px 0px 1px 0px;
        font-size: .8rem;
        border: none;
        transition:all .3s;
        border-radius: 4px;
        margin-right: 10px;
}
#header #top-menu .search-form .search-input:focus {
        outline:none;
}
#header #top-menu .search-form .search-input.visible {
        width:180px;
        padding-left:10px;
        padding-right:10px;
}
#header #top-menu ul.top-menu-nav {
        list-style:none;
        padding:0;
        margin:0;
        display:flex;
        font-size:.9rem;
}
#header #top-menu ul.top-menu-nav > li {
        position:relative;
        margin-right:20px;
        padding-right:20px;
}
#header #top-menu ul.top-menu-nav > li:after {
        content:'';
        position:absolute;
        right:0;
        top:0;
        bottom:0;
        width:1px;
        background:#fff;
        opacity:.5;
}
#header #top-menu ul.top-menu-nav li.user-account > a {
        padding-right:20px;
}
#header #top-menu ul.top-menu-nav li.user-account > a {
        position:relative;
        font-weight:100;
}
#header #top-menu ul.top-menu-nav li.user-account > a .user-name {
        font-weight:bold;
}
#header #top-menu ul.top-menu-nav li.user-account > a:after {
        content:'';
        position:absolute;
        top:6px;
        right:0;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 5px 5px 0 5px;
        border-color: #fff transparent transparent transparent;
}
#header #top-menu ul.top-menu-nav li ul {
        position:absolute;
        top:22px;
        right:20px;
        z-index:1;
        background: #fff;
        margin: 0;
        padding: 0;
        list-style: none;
        box-shadow: 2px 2px 10px 4px rgb(0, 0, 0, .3);
        pointer-events:none;
        opacity:0;
        transform:scaleY(.85);
        
        transform-origin:top center;
        transition:all .3s;
}
#header #top-menu ul.top-menu-nav li ul.opened {
        pointer-events:all;
        opacity:1;
        transform:scaleY(1);
        top:27px;
}
#header #top-menu ul.top-menu-nav li ul li a {
        color: var(--main-color);
        padding: 9px 20px 9px 15px;
        display: block;
        line-height:1;
        border-bottom:solid 1px #eee;
}
#header #top-menu ul.top-menu-nav li ul li:first-child a {
        padding-top:12px;
}
#header #top-menu ul.top-menu-nav li ul li:last-child a {
        padding-bottom:12px;
        border-bottom:0;
}
#header #top-menu ul.top-menu-nav li ul li a:hover {
        text-decoration:underline;
}
#header #top-menu ul.top-menu-nav li .bi {
        margin-right:6px;
}
#header #top-menu ul.top-menu-nav li ul li a .bi {
        font-size:1.1rem;
        margin-right:9px;
}


#header #main-menu {
        position:relative;
        background:var(--main-color);
}
#header #main-menu .navbar-brand {
        position:absolute;
        top:12px;
        left:52%;
        transform:translateX(-50%);
}

#header #main-menu .navbar-brand img {
        height: 135px;
        /*transition:all .3s;*/
}

#header #main-menu .container .background-navbar-open{
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background-color: rgba(0,0,0,.7);
        z-index: 1;
}

#navbar {
        display:block !important;
        z-index: 2;
}
#menu-menu-principal {
        /*width:100%;*/
        margin-left:-30px;
        margin-right:-30px;
}

#menu-menu-principal .menu-item {
        flex-grow:1;
        padding-top:30px;
        padding-bottom:30px;
        /*width:calc((100% - 420px) / 6);*/
        text-align:center;
        /*transition:all .3s;*/
}
#menu-menu-principal .menu-item:nth-child(3) {
        margin-right:420px;
}
#menu-menu-principal .menu-item .nav-link {
        color:#fff;
        font-family:Faro;
        font-weight:300;
        font-size:1rem;
        text-transform:uppercase;
        display:inline-block;
        position:relative;
        padding-top:80px;
        /*transition:all .3s;*/
}
#menu-menu-principal .menu-item .nav-link:after {
        content:'';
        position:absolute;
        left:8px;
        /*right:8px;*/
        width:0;
        bottom:5px;
        height:2px;
        background:#fff;
        transition:width .25s;
}
#menu-menu-principal .menu-item:hover .nav-link:after,
#menu-menu-principal .menu-item.current-menu-item .nav-link:after {
        width:calc(100% - 16px);
}
        
#menu-menu-principal .menu-item-blog .nav-link:after {
        background:var(--blog-color);
}
#menu-menu-principal .menu-item-materiel .nav-link:after {
        background:var(--materiel-color);
}
#menu-menu-principal .menu-item-outils .nav-link:after {
        background:var(--outils-color);
}
#menu-menu-principal .menu-item-annuaire .nav-link:after {
        background:var(--annuaire-color);
}
#menu-menu-principal .menu-item-annonces .nav-link:after {
        background:var(--annonces-color);
}
#menu-menu-principal .menu-item-agenda .nav-link:after {
        background:var(--agenda-color);
}

#menu-menu-principal .menu-item .nav-link .nav-link-icon {
        position:absolute;
        top:20px;
        left:50%;
        transform:translateX(-50%);
/*        transition:all .3s;*/
}
#menu-menu-principal .menu-item-blog .nav-link .nav-link-icon {
        width:41px;
        height:44px;
        margin-left:4px;
        margin-top:5px;
}
#menu-menu-principal .menu-item-materiel .nav-link .nav-link-icon {
        width:48px;
        height:51px;
}
#menu-menu-principal .menu-item-outils .nav-link .nav-link-icon {
        width:52px;
        height:49px;
}
#menu-menu-principal .menu-item-annuaire .nav-link .nav-link-icon {
        width:44px;
        height:43px;
        margin-top:5px;
}
#menu-menu-principal .menu-item-annonces .nav-link .nav-link-icon {
        width:47px;
        height:44px;
        margin-top:2px;
}
#menu-menu-principal .menu-item-agenda .nav-link .nav-link-icon {
        width:42px;
        height:42px;
        margin-top:5px;
}

#menu-menu-principal .nav-link .nav-link-icon path,
#menu-menu-principal .nav-link .nav-link-icon line,
#menu-menu-principal .nav-link .nav-link-icon polyline {
        transition:stroke .25s;
}

#menu-menu-principal .nav-link .nav-link-icon path,
#menu-menu-principal .nav-link .nav-link-icon line,
#menu-menu-principal .nav-link .nav-link-icon polyline {
        stroke:#fff;
}

/*#menu-menu-principal .menu-item-blog .nav-link:hover .nav-link-icon path,
#menu-menu-principal .menu-item-blog .nav-link:hover .nav-link-icon line,
#menu-menu-principal .menu-item-blog .nav-link:hover .nav-link-icon polyline,*/
#menu-menu-principal .menu-item-blog.current-menu-item .nav-link .nav-link-icon path,
#menu-menu-principal .menu-item-blog.current-menu-item .nav-link .nav-link-icon line,
#menu-menu-principal .menu-item-blog.current-menu-item .nav-link .nav-link-icon polyline {
        stroke:var(--blog-color);
}
/*#menu-menu-principal .menu-item-materiel .nav-link:hover .nav-link-icon path,
#menu-menu-principal .menu-item-materiel .nav-link:hover .nav-link-icon line,
#menu-menu-principal .menu-item-materiel .nav-link:hover .nav-link-icon polyline,*/
#menu-menu-principal .menu-item-materiel.current-menu-item .nav-link .nav-link-icon path,
#menu-menu-principal .menu-item-materiel.current-menu-item .nav-link .nav-link-icon line,
#menu-menu-principal .menu-item-materiel.current-menu-item .nav-link .nav-link-icon polyline {
        stroke:var(--materiels-color);
}
/*#menu-menu-principal .menu-item-outils .nav-link:hover .nav-link-icon path,
#menu-menu-principal .menu-item-outils .nav-link:hover .nav-link-icon line,
#menu-menu-principal .menu-item-outils .nav-link:hover .nav-link-icon polyline,*/
#menu-menu-principal .menu-item-outils.current-menu-item .nav-link .nav-link-icon path,
#menu-menu-principal .menu-item-outils.current-menu-item .nav-link .nav-link-icon line,
#menu-menu-principal .menu-item-outils.current-menu-item .nav-link .nav-link-icon polyline {
        stroke:var(--outils-color);
}
/*#menu-menu-principal .menu-item-annuaire .nav-link:hover .nav-link-icon path,
#menu-menu-principal .menu-item-annuaire .nav-link:hover .nav-link-icon line,
#menu-menu-principal .menu-item-annuaire .nav-link:hover .nav-link-icon polyline,*/
#menu-menu-principal .menu-item-annuaire.current-menu-item .nav-link .nav-link-icon path,
#menu-menu-principal .menu-item-annuaire.current-menu-item .nav-link .nav-link-icon line,
#menu-menu-principal .menu-item-annuaire.current-menu-item .nav-link .nav-link-icon polyline {
        stroke:var(--annuaire-color);
}
/*#menu-menu-principal .menu-item-annonces .nav-link:hover .nav-link-icon path,
#menu-menu-principal .menu-item-annonces .nav-link:hover .nav-link-icon line,
#menu-menu-principal .menu-item-annonces .nav-link:hover .nav-link-icon polyline,*/
#menu-menu-principal .menu-item-annonces.current-menu-item .nav-link .nav-link-icon path,
#menu-menu-principal .menu-item-annonces.current-menu-item .nav-link .nav-link-icon line,
#menu-menu-principal .menu-item-annonces.current-menu-item .nav-link .nav-link-icon polyline {
        stroke:var(--annonces-color);
}
/*#menu-menu-principal .menu-item-agenda .nav-link:hover .nav-link-icon path,
#menu-menu-principal .menu-item-agenda .nav-link:hover .nav-link-icon line,
#menu-menu-principal .menu-item-agenda .nav-link:hover .nav-link-icon polyline,*/
#menu-menu-principal .menu-item-agenda.current-menu-item .nav-link .nav-link-icon path,
#menu-menu-principal .menu-item-agenda.current-menu-item .nav-link .nav-link-icon line,
#menu-menu-principal .menu-item-agenda.current-menu-item .nav-link .nav-link-icon polyline {
        stroke:var(--agenda-color);
}


/*
 * Burger Menu
 */
 #header #main-menu .menu-toggle,
 #header #main-menu .menu-toggle:focus{
		border: 0;
		box-shadow: none;
		padding: 0;
 }

 #header #main-menu .cross-burger-menu,
#header #main-menu .menu-toggle .burger-menu{
        position: relative;
        width: 45px;
        height: 38px;
        cursor: pointer;
        user-select: none;
}

#header #main-menu .cross-burger-menu{
        width: 35px;
        height: 26px;
}


#header #main-menu .cross-burger-menu .item-cross-burger-menu,
#header #main-menu .menu-toggle .burger-menu .item-burger-menu{
        display: block;
        position: absolute;
        width: 100%;
        height: 6px;
        background-color: #fff;
}

#header #main-menu .cross-burger-menu .item-cross-burger-menu{
        height: 5px;
}

#header #main-menu .menu-toggle .burger-menu > .item-burger-menu:first-of-type{
        top: 0;
        margin-top: 0;
}

#header #main-menu .menu-toggle .burger-menu > .item-burger-menu:nth-of-type(2){
        top: 51%;
        left: 0;
        transform: translateY(-50%);
        transition: .1s;
}

#header #main-menu .menu-toggle:hover .burger-menu > .item-burger-menu:nth-of-type(2){
        width: 65% ;
}

#header #main-menu .menu-toggle .burger-menu > .item-burger-menu:last-of-type{
        bottom: 0;
}

#header #main-menu .burger-menu > .item-burger-menu:nth-of-type(2n+1){
        left: 0;
}

#header #main-menu .navbar-light .navbar-toggler{
	border : 0;
}

#header #main-menu .menu-toggle .burger-menu:hover > .item-burger-menu.widthHide{
        width: 0;
}

#header #main-menu .menu-toggle .burger-menu > .item-burger-menu.widthHide{
        width: 0;
}


/*
* CROSS MENU BURGER
*/

#header #main-menu .cross-menu-container{
        display: none;
        position: absolute;
        top: 31px;
        right: 30px;
}

#header #main-menu .cross-burger-menu > .item-cross-burger-menu:first-of-type{
        top: 50%;
        margin-top: 0;
        transform: translate(0%, -50%) rotate(45deg);
}

#header #main-menu .cross-burger-menu > .item-cross-burger-menu:last-of-type{
        bottom: 50%;
        transform: translate(0%, 50%) rotate(-45deg);
}

/*
 * Fixed header
 */
/*.fixed-header {
        padding-top:172px;
}*/
/*.fixed-header #header #top-menu {
        display:none;
}*/
#header #main-menu.fixed {
        position:fixed;
        top:0;
        left:0;
        right:0;
        z-index:100;
}
#header #main-menu.fixed .navbar-brand {
        top:0px;
        left: 51.85%;
}
#header #main-menu.fixed .navbar-brand img {
        height:60px;
}
#header #main-menu.fixed #menu-menu-principal .menu-item {
        padding-top: 0px;
        padding-bottom: 10px;
}
#header #main-menu.fixed #menu-menu-principal .menu-item:nth-child(3) {
        margin-right:240px;
}
#header #main-menu.fixed #menu-menu-principal .menu-item .nav-link {
        font-size:.9rem;
        padding-top: 27px;
        padding-left: 54px;
        padding-bottom: 11px;
}
#header #main-menu.fixed #menu-menu-principal .menu-item .nav-link .nav-link-icon {
        transform: scale(.8);
        left:0;
        top:10px;
}
#header #main-menu.fixed #menu-menu-principal .menu-item .nav-link:after {
        left:55px;
        bottom:8px;
}
#header #main-menu.fixed #menu-menu-principal .menu-item:hover .nav-link:after,
#header #main-menu.fixed #menu-menu-principal .menu-item.current-menu-item .nav-link:after {
        width:calc(100% - 63px);
}
#header #main-menu.fixed:after {
        content: '';
        position: absolute;
        bottom: -7px;
        height: 8px;
        left: 0;
        right: 0;
        background: linear-gradient(180deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%);
        opacity: .5;
}

/*
* Bouton compte en mode mobile
*/

#header #main-menu .container .account-toggler-container{
        display: none;
        justify-content: end;
        align-items: center;
}

#header #main-menu .container .account-button,
#header #main-menu .container .account-toggler-container a{
        width: 45px;
        height: 45px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        background-color: rgba(0,0,0,0);
        border: 0;
        padding: 0;
}

#header #main-menu .container .account-button .miniature-profil {
        width: 100%;
        border-radius: 100%;
        border: 2px solid var(--profil-color);
}

#header #main-menu .container .account-toggler-container .account-button i::before,
#header #main-menu .container .account-toggler-container a i::before{
        font-size: 35px;
}

/*
* MODAL COMTPE UTILISATEUR
*/

#header .modal-content {
        min-height: 110px;
        border-radius: 4px;
        background-clip: unset;
        border: 0;
        border-radius: 0;
}
      
#header .modal-body {
        display: flex;
        justify-content: center;
        flex-direction: column;
        padding: 0;
}

#header .modal-body .btn-close {
        position: absolute;
        top: 12px;
        right: 10px;
        box-shadow: none !important;
        border: 0;
}
      
      
#header .modal-body .login-with {
        border-bottom: 1px solid rgba(0,0,0,0.3);
        color: var(--default-text-color);
        font-family: Faro;
}
      
#header .modal-body .login-with .user-name{
        font-weight: bold;
        text-transform: capitalize;
}

#header .modal-body .login-with .info-current-profile{
        padding: 12px 1.2em;
        background-color: rgba(0,0,0,0.2);
}

#header .modal-body .login-with > p{
        padding: 12px 1.2em;
        padding-bottom: 7px;
        margin: 0;
}

#header .modal-body .user-submenu {
        padding: 0;
        margin: 10px 0;
}

#header .modal-body .info-current-profile,
#header .modal-body .profiles-container li,
#header .modal-body .user-submenu li{
        list-style-type: none;
        cursor: pointer;
        transition: background-color .1s;
}

#header .modal-body .info-current-profile:hover,
#header .modal-body .profiles-container li:hover,
#header .modal-body .user-submenu li:hover{
        background-color: rgba(0, 0, 0, .08);
        transition: background-color .1s;
}

#header .modal-body .user-submenu a{
        display: block;
        width: 100%;
        color: var(--default-text-color);
        padding: 6.5px 1.2em;
        font-size: 14px;
}

#header .modal-body .user-submenu a i{
        margin-right: 16px;
        margin-left: 4px;
}

#header .modal-body .user-submenu a i::before{
        font-size: 18px;
}

#header .modal-body .profiles-container {
        padding: 0em 0;
        margin: 0;
        border-bottom: 1px solid rgba(0,0,0,0.3);
}

#header .modal-body .current-profil,
#header .modal-body .profil-item {
        display: block;
        padding: 10px 1.2em;
        width: 100%;
        color: var(--default-text-color);
        font-weight: bold;
        font-size: 14px;
        line-height: 1.2;
        display: flex;
        align-items: center;
        text-transform: uppercase;
        font-family:Faro;
}

#header .modal-body .current-profil{
        padding: 0;
}

#header .modal-body .current-profil p,
#header .modal-body .profil-item p {
        margin: 0;
}

#header .modal-body .current-profil p{
        line-height: 1.2;
}

#header .modal-body .actor-type {
        font-weight: normal;
        font-size: 14px;
        text-transform: none;
}

#header .modal-body .current-profil .miniature-profil,
#header .modal-body .profil-item .miniature-profil {
        width: 40px;
        margin-right: 15px;
}

#header .modal-dialog {
        margin-right: 40px;
        max-width: 350px;
}
      
#header .login-container {
        padding: 10px 20px;
        border: 2px solid var(--main-color);
        border-radius: 3px;
}
      
#header .login-container a {
        color: var(--main-color);
}
#header #navbar .logo-navbar-mobile{
        display: none;
}
      

/*
 * Footer
 */
#footer {
        background:var(--main-color);
        color:#fff;
        padding:30px 0;
        font-size:.9em;
}
#footer a {
        color:inherit;
        font-weight:600;
}
#footer .container {
        display:grid;
        grid-template-columns: 1fr 1fr 1fr;
        grid-template-rows:50px min-content;
}
#footer .container .menu-menu-pied-de-page-container {
        /* grid-column:1; */
        grid-column: span 3;
        grid-row:1;
}
#footer .container .menu-menu-pied-de-page-container .menu-item {
        margin-right:16px;
        position:relative;
}
#footer .container .menu-menu-pied-de-page-container .menu-item:after {
        content:'';
        position:absolute;
        top:3px;
        bottom:3px;
        right:-8px;
        width:1px;
        background:#fff;
}
#footer .container .menu-menu-pied-de-page-container .menu-item:last-child:after {
        content:none;
}
#footer .container .menu-menu-pied-de-page-container .menu-item .nav-link {
        color:inherit;
        padding:0;
}
#footer .container .adresse-cd88 {
        grid-column:1;
        grid-row: 2;
        display: flex;
        height: 100%;
}
#footer .container .liens-utils {
        grid-column:2;
        grid-row: 2;
        display: flex;
        height: 100%;
        justify-content: center;
}
#footer .container .adresse-cd88 img {
        margin-right:10px;
        margin-bottom: 0;
}
#footer .container .mention-cd88 {
        grid-column:3;
        grid-row: 2;
        display: flex;
        height: 100%;
        text-align: start;
}
#footer .container .textwidget {
        /* align-self: flex-end; */
        display: inline-block;
}
#footer .liens-utils a{
        font-weight: normal;
}
#footer h3{
        font-size: .9em;
}