/*Animation preloads (for fluidity when site loads)*/
.hover-mouvement-horizontal-apparition.preload-apparition svg,
.hover-mouvement-horizontal-apparition.preload-apparition .avia_button_icon::before {
  animation: hover-horizontal-apparition 0.3s ease-out forwards;
  animation-delay: -9999s;
}

.hover-mouvement-horizontal-animation.preload-animation svg,
.hover-mouvement-horizontal-animation.preload-animation .avia_button_icon::before{
  animation: hover-horizontal-reverse 0.3s ease-out forwards;
  animation-delay: -9999s;
}

.hover-mouvement-horizontal-animation-gauche.preload-animation-gauche svg,
.hover-mouvement-horizontal-animation-gauche.preload-animation-gauche .avia_button_icon::before{
  animation: hover-horizontal-reverse-gauche 0.3s ease-out forwards;
  animation-delay: -9999s;
}

/*Animation page load*/
#main {
    animation: slide 0.8s ease-in-out forwards;
}

@keyframes slide {
    0% {
        transform: translateY(1.5vh);
    }

    100% {
        opacity: 100%;
        transform: translateY(0);
    }
}

 body{
    animation: fade-slow 2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes fade-slow {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 100%;
    }
}


/**
 * Animations bouton
 * hover-mouvement-horizontal-apparition
 * hover-mouvement-horizontal-animation
 * hover-mouvement-horizontal-animation-gauche
 */
.avia-button {
    border-bottom: none;
}

.hover-mouvement-horizontal-apparition .avia_button_icon {
    width: 0px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
}

.hover-mouvement-horizontal-apparition {
    overflow: hidden;
    border: none;
}

.hover-mouvement-horizontal-apparition svg {
    overflow: visible;
}

.hover-mouvement-horizontal-apparition .avia_button_icon {
    overflow: visible;
}

.hover-mouvement-horizontal-apparition .avia_iconbox_title {
    transition: all 0.45s ease-out;
    transform: translateX(0);
}

.hover-mouvement-horizontal-apparition:hover .avia_iconbox_title {
    transform: translateX(-2%);
}

.hover-mouvement-horizontal-apparition svg {
    transition: all 0.3s ease-out;
    transform: translateX(0);
    position: absolute;
    left: 50px;
    top: -0.5px;
}

.hover-mouvement-horizontal-apparition:hover svg {
    transform: translateX(-70%);
    left: 0;
}

@media screen and (pointer: coarse) {
    .hover-mouvement-horizontal-apparition svg {
    transition: all 0.1s ease-out;
    transform: translateX(0);
    position: absolute;
    left: 50px;
    top: -0.5px;
    }

    .hover-mouvement-horizontal-apparition:hover svg {
    transform: translateX(-70%);
    left: 0;
    }
}

.hover-mouvement-horizontal-apparition .avia_button_icon::before {
    transition: all 0.3s ease-out;
    position: absolute;
    left: 40px;
}

.hover-mouvement-horizontal-apparition:hover .avia_button_icon::before {
    animation: hover-horizontal-apparition 0.3s ease-out forwards;
}

@media screen and (pointer: coarse) {
    .hover-mouvement-horizontal-apparition .avia_button_icon::before {
    transition: all 0.1s ease-out;
    position: absolute;
    left: 40px;
    }

    .hover-mouvement-horizontal-apparition:hover .avia_button_icon::before {
    animation: hover-horizontal-apparition 0.3s ease-out forwards;
    }
}

@keyframes hover-horizontal-apparition {
    0% { left: 40px;;
  }
    100% { left: -5px;; 
  }


}

/*==============================================================================================*/

.hover-mouvement-horizontal-animation .avia_button_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
}

.hover-mouvement-horizontal-animation {
    overflow: hidden;
    border: none;
}

.hover-mouvement-horizontal-apparition svg {
    overflow: visible;
}

.hover-mouvement-horizontal-animation .avia_button_icon {
    overflow: visible;
}

.hover-mouvement-horizontal-animation .avia_iconbox_title {
    transition: all 0.45s ease-out;
    transform: translateX(0);
}

.hover-mouvement-horizontal-animation:hover .avia_iconbox_title {
    transform: translateX(-2%);
}

.hover-mouvement-horizontal-animation:hover svg {
    animation: hover-horizontal-reverse 0.3s ease-out forwards;
}

.hover-mouvement-horizontal-animation:hover .avia_button_icon::before {
    animation: hover-horizontal-reverse 0.3s ease-out forwards;
}

@keyframes hover-horizontal-reverse {
    0% { transform: translateX(0); opacity: 1;}
    10% { transform: translateX(200%); opacity: 0; }
    20% {  opacity: 0.2; }

    40% {  opacity: 0.5; }

    100% { transform: translateX(0); opacity: 1;}
}

/*==============================================================================================*/

.hover-mouvement-horizontal-animation-gauche .avia_button_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
}

.hover-mouvement-horizontal-animation-gauche {
    overflow: hidden;
    border: none;
}

.hover-mouvement-horizontal-apparition-gauche svg {
    overflow: visible;
}

.hover-mouvement-horizontal-animation-gauche .avia_button_icon {
    overflow: visible;
}

.hover-mouvement-horizontal-animation-gauche .avia_iconbox_title {
    transition: all 0.45s ease-out;
    transform: translateX(0);
}

.hover-mouvement-horizontal-animation-gauche:hover .avia_iconbox_title {
    transform: translateX(2%);
}

.hover-mouvement-horizontal-animation-gauche:hover svg {
    animation: hover-horizontal-reverse 0.3s ease-out forwards;
}

.hover-mouvement-horizontal-animation-gauche:hover .avia_button_icon::before {
    animation: hover-horizontal-reverse-gauche 0.3s ease-out forwards;
}

@keyframes hover-horizontal-reverse-gauche {
    0% { transform: translateX(0); }
    10% { transform: translateX(-200%); opacity: 0;}    
    20% {  opacity: 0.2; }

    40% {  opacity: 0.5; }

    100% { transform: translateX(0%); }
}

/*==============================================================================================*/
/* Click button animations */

html body #wrap_all .click-box:hover .animation {
    animation: clickMoveSequence 0.7s ease forwards;
}

@keyframes clickMoveSequence {
    0% { transform: translate(0, 0); }
    25% { transform: translate(10px, -10px); }
    35% { transform: translate(10px, -10px); }
    100% { transform: translate(0, 0); }
}

html body #wrap_all .click-box:hover svg {
    animation: svgGrowShrinkSequence 0.7s ease forwards;
    transform-origin: center;
}

@keyframes svgGrowShrinkSequence {
    0% { transform: scale(1); }
    25% { transform: scale(1); }
    35% { transform: scale(1.1); }
    100% { transform: scale(1); }
}

*:not(html):not(body):not(div):not(#wpadminbar):not(header):not(svg):not(path):not(.wpc-search-icon):not(.gform-loader)  {
    animation: fade-slow 2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Animation Menu */
.sub_menu ul li,
.avia-menu.av-main-nav-wrap li.menu-item {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
}

.sub_menu ul li::before,
.avia-menu.av-main-nav-wrap li.menu-item::before {
    content: '' !important;
    position: absolute !important;
    top: 20px;
    left: 0;
    width: 0;
    height:60%;
    background-color: #f2f1f1;
    border-radius: 10px;
    transition: width 0.2s ease;
    z-index: 0;
}
.sub_menu ul li::before {
    top: 8px;
    height: 65%;
}

.avia-menu.av-main-nav-wrap .menu-item-membres {
    margin-right: -13px;
    padding-right: 13px;
}

.sub_menu ul li:hover::before,
.avia-menu.av-main-nav-wrap li.menu-item:hover::before {
    width: 100%;
}

.sub_menu ul li a,
.avia-menu.av-main-nav-wrap li.menu-item span {
    position: relative;
    z-index: 2; 
}

#top .sidebar_left ul li {
    position: relative;
    overflow: hidden;
}

#top .sidebar_left ul.nested_nav li a::before,
#top .sidebar_left ul.menu li a::before,
#top .sidebar_left .menu-sidebar-outils-container ul li a::before {
    content: '' !important;
    position: absolute !important;
    top: 50%;
    transform: translate(0, -50%);
    left: 0;
    width: 0;
    height: 100%;
    border-radius: 10px;
    background-color: #f2f1f1;
    transition: width 0.2s ease;
    z-index: -1;
}

#top .sidebar_left ul.nested_nav li.current_page_parent ul.children li a::before {
    content: '' !important;
    position: absolute !important;
    top: 50%;
    transform: translate(0, -50%);
    left: 6px;
    width: 0;
    height: 90%;
    border-radius: 10px;
    background-color: #f2f1f1;
    transition: width 0.2s ease;
    z-index: -1;
}

#top .sidebar_left ul li.current_page_parent a::before {
    content: unset !important;
}

#top .sidebar_left ul.nested_nav li a:hover::before,
#top .sidebar_left .menu-sidebar-outils-container ul li a:hover::before,
#top .sidebar_left ul.menu li a:hover::before,
#top .sidebar_left ul li.current_page_parent ul.children li a:hover::before {
    width: 100%;
}

#top .sidebar_left ul.nested_nav > li,
#top .sidebar_left ul.menu li,
#top .sidebar_left .menu-sidebar-outils-container ul li {
    margin-left: -5px;
}

#top .sidebar_left ul.nested_nav > li > a,
#top .sidebar_left ul.menu li a,
#top .sidebar_left .menu-sidebar-outils-container ul li a {
    padding-left: 5px;
    padding-right: 5px;
}

#top .sidebar_left ul li a, #top .sidebar_left ul li.current_page_parent ul.children li a {
    width: fit-content;
    position: relative;
    z-index: 1;
}

.avia-content-slider, .avia-content-slider-inner {
    overflow: visible;
}

.avia-content-slider.avia-content-grid-active article {
    transition: all .2s;
}
.avia-content-slider.avia-content-grid-active article:hover {
    transform: translateY(-10px);
    transition: all .2s;
}
