/* Master Stylesheet
 * Version: 1.0
 *
 * Powered by VLThemes
 *
 * 01. Helpers
 * 02. Base
 * 03. Layout
 * 04. Pages
 * 05. Partials
 * 06. Vendors
 * 07. Widgets
 */

/* 01. Helpers */
:root
{
    --p1: #427AE0;
    --pf: Inter;
    --p2:#FF8C42;
    --p3:#E042A3;
    --p4:#42E0A4;
}

@-webkit-keyframes vlt_animate_icon_bottom
{
    49%
    {
        -webkit-transform: translateY(100%);
                transform: translateY(100%);
    }
    50%
    {
        -webkit-transform: translateY(-100%);
                transform: translateY(-100%); 

        opacity: 0;
    }
    51%
    {
        opacity: 1;
    }
}

@keyframes vlt_animate_icon_bottom
{
    49%
    {
        -webkit-transform: translateY(100%);
                transform: translateY(100%);
    }
    50%
    {
        -webkit-transform: translateY(-100%);
                transform: translateY(-100%); 

        opacity: 0;
    }
    51%
    {
        opacity: 1;
    }
}

@-webkit-keyframes vlt_animation_block
{
    0%
    {
        -webkit-transform: translateY(30px) translateZ(0) scaleY(1.1) skewY(2deg);
                transform: translateY(30px) translateZ(0) scaleY(1.1) skewY(2deg);
        -webkit-transform-origin: 0 0;
                transform-origin: 0 0;

        opacity: 0; 

        -webkit-transform-style: preserve-3d;
                transform-style: preserve-3d;
    }
    100%
    {
        -webkit-transform: translateY(0) translateZ(0) scaleY(1) skewY(0);
                transform: translateY(0) translateZ(0) scaleY(1) skewY(0);

        opacity: 1; 

        -webkit-transform-style: preserve-3d;
                transform-style: preserve-3d;
    }
}

@keyframes vlt_animation_block
{
    0%
    {
        -webkit-transform: translateY(30px) translateZ(0) scaleY(1.1) skewY(2deg);
                transform: translateY(30px) translateZ(0) scaleY(1.1) skewY(2deg);
        -webkit-transform-origin: 0 0;
                transform-origin: 0 0;

        opacity: 0; 

        -webkit-transform-style: preserve-3d;
                transform-style: preserve-3d;
    }
    100%
    {
        -webkit-transform: translateY(0) translateZ(0) scaleY(1) skewY(0);
                transform: translateY(0) translateZ(0) scaleY(1) skewY(0);

        opacity: 1; 

        -webkit-transform-style: preserve-3d;
                transform-style: preserve-3d;
    }
}

@-webkit-keyframes vlt_bounce
{
    0%,
    100%
    {
        -webkit-transform: scale(0);
                transform: scale(0);
    }
    50%
    {
        -webkit-transform: scale(1);
                transform: scale(1);
    }
}

@keyframes vlt_bounce
{
    0%,
    100%
    {
        -webkit-transform: scale(0);
                transform: scale(0);
    }
    50%
    {
        -webkit-transform: scale(1);
                transform: scale(1);
    }
}
.vlt-test{
    font-size: 0.925rem;
    font-weight: 400;
    line-height: 1.6;
    color: white;
    letter-spacing: .01em;

}
.flex-row{
    display: flex;
    flex-direction: row;
}
.vlt-timeline-item{
    .flex-col{
        margin-left: 32px;
        justify-content: center;
        img{
            height: 100%;
            width: auto;
        }
    }
}
.flex-col{
    display: flex;
    flex-direction: column;
}
.vlt-display-1,
.vlt-navbar-contacts ul,
.vlt-offcanvas-menu__locales a,
.vlt-offcanvas-menu__copyright,
.vlt-footer-copyright,
.vlt-custom-cursor .circle span,
.vlt-link-with-arrow,
.vlt-project-showcase .vlt-project-showcase__items .vlt-project-showcase__item__category,
.vlt-testimonial-item__meta span
{
    font-size: .8125rem;
    font-weight: 600;
    line-height: 1.6;

    letter-spacing: .01em;
    text-transform: uppercase;
}

.vlt-offcanvas-menu__socials a,
.vlt-fixed-socials
{
    font-size: 1.125rem;
    font-weight: 700;

    letter-spacing: .01em;
}

/* 02. Base */
.has-first-color
{
    color: var(--p1);
}
.has-second-color
{
    color: var(--p2);
}
.has-third-color
{
    color: var(--p3);
}
.has-foured-color
{
    color: var(--p4);
}
.has-first-background-color
{
    background-color: var(--p1);
}

.has-white-color
{
    color: #fff !important;
}

.has-white-background-color
{
    background-color: #fff;
}

.has-gray-color
{
    color: #999 !important;
}

.has-gray-background-color
{
    background-color: #999;
}

.vlt-large-heading
{
    font-size: 5rem;
}
@media only screen and (max-width: 575px)
{
    .vlt-large-heading
    {
        font-size: 3.625rem;
    }
}

.vlt-gap-5
{
    height: .3125rem;
}
@media only screen and (max-width: 767px)
{
    .vlt-gap-5--sm
    {
        height: .3125rem;
    }
}
@media only screen and (max-width: 991px)
{
    .vlt-gap-5--md
    {
        height: .3125rem;
    }
}

.vlt-gap-10
{
    height: .625rem;
}
@media only screen and (max-width: 767px)
{
    .vlt-gap-10--sm
    {
        height: .625rem;
    }
}
@media only screen and (max-width: 991px)
{
    .vlt-gap-10--md
    {
        height: .625rem;
    }
}

.vlt-gap-20
{
    height: 1.25rem;
}
@media only screen and (max-width: 767px)
{
    .vlt-gap-20--sm
    {
        height: 1.25rem;
    }
}
@media only screen and (max-width: 991px)
{
    .vlt-gap-20--md
    {
        height: 1.25rem;
    }
}

.vlt-gap-30
{
    height: 1.875rem;
}
@media only screen and (max-width: 767px)
{
    .vlt-gap-30--sm
    {
        height: 1.875rem;
    }
}
@media only screen and (max-width: 991px)
{
    .vlt-gap-30--md
    {
        height: 1.875rem;
    }
}

.vlt-gap-40
{
    height: 2.5rem;
}
@media only screen and (max-width: 767px)
{
    .vlt-gap-40--sm
    {
        height: 2.5rem;
    }
}
@media only screen and (max-width: 991px)
{
    .vlt-gap-40--md
    {
        height: 2.5rem;
    }
}

.vlt-gap-50
{
    height: 3.125rem;
}
@media only screen and (max-width: 767px)
{
    .vlt-gap-50--sm
    {
        height: 3.125rem;
    }
    .vlt-gap-50
{
    height: 1.125rem;
}
}
@media only screen and (max-width: 991px)
{
    .vlt-gap-50--md
    {
        height: 3.125rem;
    }
}

.vlt-gap-70
{
    height: 4.375rem;
}
@media only screen and (max-width: 767px)
{
    .vlt-gap-70--sm
    {
        height: 4.375rem;
    }
}
@media only screen and (max-width: 991px)
{
    .vlt-gap-70--md
    {
        height: 4.375rem;
    }
}

.vlt-gap-100
{
    height: 6.25rem;
}
@media only screen and (max-width: 767px)
{
    .vlt-gap-100--sm
    {
        height: 6.25rem;
    }
}
@media only screen and (max-width: 991px)
{
    .vlt-gap-100--md
    {
        height: 6.25rem;
    }
}

.vlt-fade-in-left,
.vlt-fade-in-left--small
{
    -webkit-transition: all 700ms 0s cubic-bezier(.46, .03, .52, .96);
            transition: all 700ms 0s cubic-bezier(.46, .03, .52, .96);
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);

    opacity: 0;
}
.vlt-fade-in-left--small
{
    -webkit-transform: translate3d(-100px, 0, 0);
            transform: translate3d(-100px, 0, 0);
}
.active .vlt-fade-in-left,
.active .vlt-fade-in-left--small
{
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);

    opacity: 1;
}

.vlt-fade-in-right,
.vlt-fade-in-right--small
{
    -webkit-transition: all 700ms 0s cubic-bezier(.46, .03, .52, .96);
            transition: all 700ms 0s cubic-bezier(.46, .03, .52, .96);
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);

    opacity: 0;
}
.vlt-fade-in-right--small
{
    -webkit-transform: translate3d(100px, 0, 0);
            transform: translate3d(100px, 0, 0);
}
.active .vlt-fade-in-right,
.active .vlt-fade-in-right--small
{
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);

    opacity: 1;
}

.vlt-fade-in-top,
.vlt-fade-in-top--small
{
    -webkit-transition: all 700ms 0s cubic-bezier(.46, .03, .52, .96);
            transition: all 700ms 0s cubic-bezier(.46, .03, .52, .96);
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);

    opacity: 0;
}
.vlt-fade-in-top--small
{
    -webkit-transform: translate3d(0, -100px, 0);
            transform: translate3d(0, -100px, 0);
}
.active .vlt-fade-in-top,
.active .vlt-fade-in-top--small
{
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);

    opacity: 1;
}

.vlt-fade-in-bottom,
.vlt-fade-in-bottom--small
{
    -webkit-transition: all 700ms 0s cubic-bezier(.46, .03, .52, .96);
            transition: all 700ms 0s cubic-bezier(.46, .03, .52, .96);
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);

    opacity: 0;
}
.vlt-fade-in-bottom--small
{
    -webkit-transform: translate3d(0, 100px, 0);
            transform: translate3d(0, 100px, 0);
}
.active .vlt-fade-in-bottom,
.active .vlt-fade-in-bottom--small
{
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);

    opacity: 1;
}

.message.success
{
    color: var(--success);
}

.message.danger
{
    color: var(--danger);
}

.center-mode
{
    position: absolute;
    z-index: 1; 
    top: 50%;
    left: 50%;

    -webkit-transform: translate3d(-50%, -50%, 0);
            transform: translate3d(-50%, -50%, 0);
}

/* HTML
-------------------------------------------- */
html
{
    font-size: 14px;
}
@media only screen and (min-width: 768px)
{
    html
    {
        font-size: 15px;
    }
    
}
@media only screen and (min-width: 992px)
{
    html
    {
        font-size: 16px;
    }
}

/* BODY
-------------------------------------------- */

body
{
    font-family: var(--pf);
    font-size: 1rem;
    line-height: 1.7;

    min-width: 20rem;
    margin: 0;
    padding: 0;

    color: #5c5c5c;
    background-color: #fff;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
/* IMAGE
-------------------------------------------- */
img
{
    max-width: 100%;
    height: auto;
}

/* PARAGRAPH
-------------------------------------------- */
p
{
    margin: 0 0 1.875rem;
}
p:empty
{
    display: none;
}
p:last-of-type
{
    margin-bottom: 0;
}

/* STRONG
-------------------------------------------- */
strong
{
    font-weight: 600;
}

/* MARK
-------------------------------------------- */
mark
{
    background-color: var(--p1);
}

/* LINK
-------------------------------------------- */
a
{
    -webkit-transition: all 300ms cubic-bezier(.46, .03, .52, .96);
            transition: all 300ms cubic-bezier(.46, .03, .52, .96); 
    text-decoration: none;

    color: inherit;
}
a:hover,
a:focus,
a:active
{
    text-decoration: none;

    outline: none;
}
a:hover
{
    color: var(--p1);
}

/* HEADINGS
-------------------------------------------- */
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6
{
    font-weight: 700;

    margin: 0;
    padding: 0;

    letter-spacing: -.02em;

    color: #101010;
}

h1,
.h1
{
    font-size: 3.625rem;
    line-height: 1.15;
}
@media only screen and (max-width: 575px)
{
    h1,
    .h1
    {
        font-size: 2.375rem;
    }
}

h2,
.h2
{
    font-size: 3rem;
    line-height: 1.4;
}

h3,
.h3
{
    font-size: 2.375rem;
    line-height: 1.4;
}

h4,
.h4
{
    font-size: 2rem;
    line-height: 1.4;
}

h5,
.h5
{
    font-size: 1.5rem;
    line-height: 1.4;
}

h6,
.h6
{
    font-size: 1.375rem;
    line-height: 1.55;
}

/* FORM / INPUT / TEXTAREA / SELECT
-------------------------------------------- */
form
{
    max-width: 100%;
}

label
{
    display: block;

    margin-bottom: .3125rem;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    color: #101010;
}

input[type='text'],
input[type='date'],
input[type='email'],
input[type='password'],
input[type='tel'],
input[type='url'],
input[type='search'],
input[type='number'],
textarea,
select
{
    display: block;

    width: 100%;
    margin: 0;
    padding: .75rem 1rem;

    -webkit-transition: all 300ms cubic-bezier(.46, .03, .52, .96);
            transition: all 300ms cubic-bezier(.46, .03, .52, .96);

    color: #fff;
    border: none;
    border-radius: 4px;
    outline: none; 
    background-color: #222;
    -webkit-box-shadow: 0 5px 15px 5px rgba(16, 16, 16, .1), inset 0 -2px 0 0 rgba(16, 16, 16, .2);
            box-shadow: 0 5px 15px 5px rgba(16, 16, 16, .1), inset 0 -2px 0 0 rgba(16, 16, 16, .2);

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

select
{
    color: #999;
    background-image: url('data:image/svg+xml;utf8,<svg fill=\'%23999999\' height=\'24\' viewBox=\'0 0 24 24\' width=\'24\' xmlns=\'http://www.w3.org/2000/svg\'><path d=\'M7 10l5 5 5-5z\'/><path d=\'M0 0h24v24H0z\' fill=\'none\'/></svg>');
    background-repeat: no-repeat;
    background-position: right 16px bottom 50%;
    background-size: 18px 18px;
}

textarea
{
    width: 100%;
    max-width: 100%;
}

button:focus,
input[type='submit']:focus
{
    outline: none;
}

input[type='text'].placeholder,
input[type='date'].placeholder,
input[type='email'].placeholder,
input[type='password'].placeholder,
input[type='tel'].placeholder,
input[type='url'].placeholder,
input[type='search'].placeholder,
input[type='number'].placeholder,
textarea.placeholder,
select.placeholder
{
    opacity: 1; 
    color: #999;
}

input[type='text']:-moz-placeholder,
input[type='date']:-moz-placeholder,
input[type='email']:-moz-placeholder,
input[type='password']:-moz-placeholder,
input[type='tel']:-moz-placeholder,
input[type='url']:-moz-placeholder,
input[type='search']:-moz-placeholder,
input[type='number']:-moz-placeholder,
textarea:-moz-placeholder,
select:-moz-placeholder
{
    opacity: 1; 
    color: #999;
}

input[type='text']::-moz-placeholder,
input[type='date']::-moz-placeholder,
input[type='email']::-moz-placeholder,
input[type='password']::-moz-placeholder,
input[type='tel']::-moz-placeholder,
input[type='url']::-moz-placeholder,
input[type='search']::-moz-placeholder,
input[type='number']::-moz-placeholder,
textarea::-moz-placeholder,
select::-moz-placeholder
{
    opacity: 1; 
    color: #999;
}

input[type='text']:-ms-input-placeholder,
input[type='date']:-ms-input-placeholder,
input[type='email']:-ms-input-placeholder,
input[type='password']:-ms-input-placeholder,
input[type='tel']:-ms-input-placeholder,
input[type='url']:-ms-input-placeholder,
input[type='search']:-ms-input-placeholder,
input[type='number']:-ms-input-placeholder,
textarea:-ms-input-placeholder,
select:-ms-input-placeholder
{
    opacity: 1; 
    color: #999;
}

input[type='text']::-webkit-input-placeholder,
input[type='date']::-webkit-input-placeholder,
input[type='email']::-webkit-input-placeholder,
input[type='password']::-webkit-input-placeholder,
input[type='tel']::-webkit-input-placeholder,
input[type='url']::-webkit-input-placeholder,
input[type='search']::-webkit-input-placeholder,
input[type='number']::-webkit-input-placeholder,
textarea::-webkit-input-placeholder,
select::-webkit-input-placeholder
{
    opacity: 1; 
    color: #999;
}

input[type='text']:focus.placeholder,
input[type='date']:focus.placeholder,
input[type='email']:focus.placeholder,
input[type='password']:focus.placeholder,
input[type='tel']:focus.placeholder,
input[type='url']:focus.placeholder,
input[type='search']:focus.placeholder,
input[type='number']:focus.placeholder,
textarea:focus.placeholder,
select:focus.placeholder
{
    opacity: 0;
}

input[type='text']:focus:-moz-placeholder,
input[type='date']:focus:-moz-placeholder,
input[type='email']:focus:-moz-placeholder,
input[type='password']:focus:-moz-placeholder,
input[type='tel']:focus:-moz-placeholder,
input[type='url']:focus:-moz-placeholder,
input[type='search']:focus:-moz-placeholder,
input[type='number']:focus:-moz-placeholder,
textarea:focus:-moz-placeholder,
select:focus:-moz-placeholder
{
    opacity: 0;
}

input[type='text']:focus::-moz-placeholder,
input[type='date']:focus::-moz-placeholder,
input[type='email']:focus::-moz-placeholder,
input[type='password']:focus::-moz-placeholder,
input[type='tel']:focus::-moz-placeholder,
input[type='url']:focus::-moz-placeholder,
input[type='search']:focus::-moz-placeholder,
input[type='number']:focus::-moz-placeholder,
textarea:focus::-moz-placeholder,
select:focus::-moz-placeholder
{
    opacity: 0;
}

input[type='text']:focus:-ms-input-placeholder,
input[type='date']:focus:-ms-input-placeholder,
input[type='email']:focus:-ms-input-placeholder,
input[type='password']:focus:-ms-input-placeholder,
input[type='tel']:focus:-ms-input-placeholder,
input[type='url']:focus:-ms-input-placeholder,
input[type='search']:focus:-ms-input-placeholder,
input[type='number']:focus:-ms-input-placeholder,
textarea:focus:-ms-input-placeholder,
select:focus:-ms-input-placeholder
{
    opacity: 0;
}

input[type='text']:focus::-webkit-input-placeholder,
input[type='date']:focus::-webkit-input-placeholder,
input[type='email']:focus::-webkit-input-placeholder,
input[type='password']:focus::-webkit-input-placeholder,
input[type='tel']:focus::-webkit-input-placeholder,
input[type='url']:focus::-webkit-input-placeholder,
input[type='search']:focus::-webkit-input-placeholder,
input[type='number']:focus::-webkit-input-placeholder,
textarea:focus::-webkit-input-placeholder,
select:focus::-webkit-input-placeholder
{
    opacity: 0;
}

.vlt-form-group
{
    position: relative;

    display: block;

    margin-bottom: 1.875rem;
}
.vlt-form-group label.error
{
    font-size: .8125rem; 

    margin: .3125rem 0 0;

    color: var(--danger);
}

.vlt-form-row
{
    display: grid;

    grid-gap: 30px;
    grid-template-columns: repeat(1, 1fr);
}
.vlt-form-row.two-col
{
    grid-template-columns: repeat(2, 1fr);
}
@media only screen and (max-width: 767px)
{
    .vlt-form-row.two-col
    {
        grid-gap: 0;
        grid-template-columns: repeat(1, 1fr);
    }
    .vlt-services--service1 .vlt-services__title,
    .vlt-services--service1 a {
      color: var(--p1); /* Couleur au survol pour le premier service */
    }
    /* Survol du bloc service 2, seule la couleur du titre et du lien doit changer */
    .vlt-services--service2 .vlt-services__title,
    .vlt-services--service2  a {
      color: var(--p2); /* Couleur au survol pour le deuxième service */
    }
    
    /* Survol du bloc service 3, seule la couleur du titre et du lien doit changer */
    .vlt-services--service3 .vlt-services__title,
    .vlt-services--service3  a {
      color: var(--p3); /* Couleur au survol pour le troisième service */
      filter:brightness(0.9);
    }
    
    /* Survol du bloc service 4, seule la couleur du titre et du lien doit changer */
    .vlt-services--service4 .vlt-services__title,
    .vlt-services--service4  a {
      color: var(--p4); /* Couleur au survol pour le quatrième service */
      filter:brightness(0.9);
    }
}
.vlt-form-row.three-col
{
    grid-template-columns: repeat(3, 1fr);
}
@media only screen and (max-width: 767px)
{
    .vlt-form-row.three-col
    {
        grid-gap: 0;
        grid-template-columns: repeat(1, 1fr);
    }
}

/* 03. Layout */
/* LAYOUT: GRID
-------------------------------------------- */
@media only screen and (min-width: 1200px)
{
    .container
    {
        max-width: 1200px;
    }
}

/* MAIN
-------------------------------------------- */
.vlt-main
{
    position: relative;

    overflow: hidden;
}

/* LAYOUT: HEADER
-------------------------------------------- */
.vlt-header
{
    position: absolute;
    z-index: 30; 
    top: 0;
    left: 0;

    width: 100%;

    color: #101010;
}
.is-light .vlt-header
{
    color: #fff;
}

.vlt-navbar
{
    position: relative;
    z-index: 50;
}
.vlt-navbar .vlt-navbar-inner
{
    position: relative;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    padding: .9375rem;

    -webkit-transition: padding 300ms cubic-bezier(.46, .03, .52, .96);
            transition: padding 300ms cubic-bezier(.46, .03, .52, .96); 

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
}
@media only screen and (min-width: 768px)
{
    .vlt-navbar .vlt-navbar-inner
    {
        padding: 1.875rem;
    }
}
@media only screen and (min-width: 1200px)
{
    .vlt-navbar .vlt-navbar-inner
    {
        padding: 0.8rem 3.75rem;
    }
}
.vlt-navbar .vlt-navbar-inner--left
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
}
.vlt-navbar .vlt-navbar-background
{
    position: absolute;
    z-index: -1; 
    top: -1px;
    right: 0;
    left: 0;

    width: 100%;
    height: 0;

    -webkit-transition: all 300ms cubic-bezier(.46, .03, .52, .96);
            transition: all 300ms cubic-bezier(.46, .03, .52, .96);

    background-color: #101010;
    -webkit-box-shadow: none;
            box-shadow: none;
}
.is-dark .vlt-navbar .vlt-navbar-background
{
    background-color: #fff;
}
.vlt-navbar--fixed
{
    position: fixed;
    top: 0;
    left: 0;

    width: 100%;
}
.vlt-navbar--solid .vlt-navbar-inner
{
    padding-top: 0.875rem;
    padding-bottom: 0.875rem;
}
.vlt-navbar--solid .vlt-navbar-background
{
    height: 100%;
}
.vlt-navbar .vlt-navbar-logo
{
    line-height: 1;

    display: inline-block;

    vertical-align: middle;

    color: inherit;
}
.vlt-navbar .vlt-navbar-logo h2
{
    font-size: 1.75rem;
    font-weight: 700;

    margin: 0;

    letter-spacing: -.02em;

    color: inherit;
}
.vlt-navbar .vlt-navbar-logo img
{
    display: block;

    max-width: none; 

}
.is-light .vlt-navbar .vlt-navbar-logo img.black
{
    display: none;
}
.is-dark .vlt-navbar .vlt-navbar-logo img.white
{
    display: none;
}
.vlt-navbar .vlt-navbar-logo:hover
{
    text-decoration: none; 

    color: currentColor;
}
.vlt-navbar-contacts
{
    margin-left: 10%;
}
.vlt-navbar-contacts ul
{
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display:         inline-flex;

    margin: 0;
    padding: 0;

    list-style-type: none;
}
.vlt-navbar-contacts ul li.sep
{
    margin: 0 .9375rem;

    -webkit-transition: color 300ms cubic-bezier(.46, .03, .52, .96);
            transition: color 300ms cubic-bezier(.46, .03, .52, .96); 

    opacity: .5;
}
.vlt-navbar-contacts ul li a:hover
{
    opacity: .8; 
    color: inherit;
}

@media (min-width: 783px)
{
    .admin-bar .vlt-navbar--fixed
    {
        top: 32px !important;
    }
}

@media (max-width: 782px)
{
    .admin-bar .vlt-navbar--fixed
    {
        top: 46px !important;
    }
}

@media (max-width: 600px)
{
    .admin-bar .vlt-navbar--fixed
    {
        top: 0 !important;
    }
}

/* BURGER MENU
-------------------------------------------- */
.vlt-menu-burger
{
    font-size: 1.75rem;
    line-height: 0;
}
.vlt-menu-burger svg
{
    width: 1em; 
    height: 1em;
}
.vlt-menu-burger:hover
{
    color: inherit;
}
.vlt-menu-burger--opened:hover i
{
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg);
}

/* HEADER: OFFCANVAS
-------------------------------------------- */
.vlt-offcanvas-menu
{
    position: fixed;
    z-index: 40; 
    top: 0;
    right: 0;
    bottom: 0;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
            flex-direction: column;

    width: 100%;
    padding: 2.5rem 4.375rem 3.75rem;

    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);

    background-color: #101010;

    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
}
@media only screen and (min-width: 576px)
{
    .vlt-offcanvas-menu
    {
        width: 34.375rem;
    }
}
@media only screen and (max-width: 575px)
{
    .vlt-offcanvas-menu
    {
        padding: 2.5rem 2.5rem 3.75rem;
    }
}
.vlt-offcanvas-menu__header
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    width: 100%;
    padding-bottom: 6.25rem;

    color: #ccc; 

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
}
@media only screen and (max-width: 575px)
{
    .vlt-footer-copyright{
        display: none;
    }
    .vlt-offcanvas-menu__header
    {
        padding-bottom: 3.125rem;
    }
}
@media (max-height: 559px)
{
    .vlt-offcanvas-menu__header
    {
        padding-bottom: 3.125rem;
    }
}
.vlt-offcanvas-menu__header .vlt-menu-burger:hover
{
    color: #fff;
}
.vlt-offcanvas-menu__locales a
{
    display: inline-block;
}
.vlt-offcanvas-menu__locales a + a
{
    margin-left: 1.25rem;
}
.vlt-offcanvas-menu__locales a:hover,
.vlt-offcanvas-menu__locales a.active
{
    color: var(--p1);
}
.vlt-offcanvas-menu__navigation
{
    overflow-y: auto; 

    height: 100%;
}
.vlt-offcanvas-menu__navigation .sf-menu
{
    overflow: hidden;
}
.vlt-offcanvas-menu__navigation .sf-menu li
{
    display: block;
    float: none;
}
.vlt-offcanvas-menu__navigation .sf-menu a
{
    display: inline-block;
}
.vlt-offcanvas-menu__navigation .sf-menu > li
{
    padding: .625rem 0;
}
.vlt-offcanvas-menu__navigation .sf-menu > li > a
{
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.1;

    padding: .3125rem 0;

    letter-spacing: -.02em;

    color: #ccc;
}
@media only screen and (max-width: 575px)
{
    .vlt-offcanvas-menu__navigation .sf-menu > li > a
    {
        font-size: 1.75rem;
    }
}
.vlt-offcanvas-menu__navigation .sf-menu > li > a::before
{
    position: absolute;
    left: 0;

    display: inline-block;

    content: '/';
    -webkit-transition: -webkit-transform 300ms cubic-bezier(.46, .03, .52, .96);
            transition: -webkit-transform 300ms cubic-bezier(.46, .03, .52, .96); 
    -webkit-transform: translate(-15px, 0);
        -ms-transform: translate(-15px, 0);
            transform: translate(-15px, 0);

    opacity: 0;
}
.vlt-offcanvas-menu__navigation .sf-menu > li:last-child
{
    padding-bottom: 0;
}
.vlt-offcanvas-menu__navigation .sf-menu > li:first-child
{
    padding-top: 0;
}
.vlt-offcanvas-menu__navigation .sf-menu > li.active > a,
.vlt-offcanvas-menu__navigation .sf-menu > li:hover > a
{
    color: var(--p1);
}
.vlt-offcanvas-menu__navigation .sf-menu > li.active > a
{
    padding-left: 1.25rem;
}
.vlt-offcanvas-menu__navigation .sf-menu > li.active > a::before
{
    -webkit-transition-delay: 150ms;
            transition-delay: 150ms;
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0);

    opacity: 1;
}
.vlt-offcanvas-menu__footer
{
    padding-top: 6.25rem;
}
@media only screen and (max-width: 575px)
{
    .vlt-offcanvas-menu__footer
    {
        padding-top: 3.125rem;
    }
}
.vlt-offcanvas-menu__footer > div
{
    opacity: 0;
}
.vlt-offcanvas-menu__socials
{
    margin-bottom: 3.125rem;

    color: #ccc;
}
@media (max-height: 559px)
{
    .vlt-offcanvas-menu__socials
    {
        margin-bottom: 0;
    }
}
@media only screen and (max-width: 575px)
{
    .vlt-offcanvas-menu__socials
    {
        display: none;
    }
}
.vlt-offcanvas-menu__socials a:hover
{
    color: #fff;
}
.vlt-offcanvas-menu__socials a + a
{
    margin-left: 1.25rem;
}
.vlt-offcanvas-menu__copyright
{
    color: #ccc;
}
.vlt-offcanvas-menu__copyright p
{
    margin-bottom: 0;
}
@media (max-height: 559px)
{
    .vlt-offcanvas-menu__copyright
    {
        display: none;
    }
}

@media (min-width: 783px)
{
    .admin-bar .vlt-aside-menu-wrapper
    {
        top: 32px !important;
    }
}

@media (max-width: 782px)
{
    .admin-bar .vlt-aside-menu-wrapper
    {
        top: 46px !important;
    }
}

@media (max-width: 600px)
{
    .admin-bar .vlt-aside-menu-wrapper
    {
        top: 0 !important;
    }
}

.vlt-site-overlay
{
    position: fixed;
    z-index: 35; 
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    visibility: hidden;

    opacity: 0;
    background-color: rgba(16, 16, 16, .15);
}

/* LAYOUT: FOOTER
-------------------------------------------- */
.vlt-footer
{
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    width: 100%;
    padding: 0 .9375rem .9375rem;

    pointer-events: none; 

    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
}
@media only screen and (min-width: 768px)
{
    .vlt-footer
    {
        padding: 0 1.875rem 1.875rem;
    }
}
@media only screen and (min-width: 1200px)
{
    .vlt-footer
    {
        padding: 0 3.75rem 2.5rem;
    }
}
.vlt-footer--fixed
{
    position: fixed;
    z-index: 20;
}
@media (max-height: 559px)
{
    .vlt-footer--fixed
    {
        display: none;
    }
}

/* FOOTER COPYRIGHT
-------------------------------------------- */
.vlt-footer-copyright
{
    pointer-events: auto; 

    color: #101010;
}
.is-light .vlt-footer-copyright
{
    color: #fff;
}
.vlt-footer-copyright p
{
    margin-bottom: 0;
}

/* 04. Pages */
/* PAGE: FULLPAGE SLIDER
-------------------------------------------- */
.vlt-fullpage-slider
{
    height: 100vh;
}
.vlt-fullpage-slider .vlt-section
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
            flex-direction: column;

    background-color: #fff; 
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;

    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
}
.vlt-fullpage-slider .vlt-section__vertical-align
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    overflow: hidden; 
            flex-direction: column;

    width: 100%;
    min-height: 100dvh; /* Dynamic viewport height - s'adapte dynamiquement aux barres d'interface */

    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
}
.vlt-fullpage-slider .vlt-section__content
{
    position: relative;
    z-index: 2; 

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    width: 100vw;
    min-height: 100dvh; /* Dynamic viewport height - s'adapte dynamiquement aux barres d'interface */
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;

    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
}
.vlt-fullpage-slider .vlt-section .vlt-section__ken-burn-background
{
    position: absolute;
    z-index: -1; 
    top: 0;
    left: 0;

    overflow: hidden;

    width: 100%;
    height: 100%;

    pointer-events: none;
}
.vlt-fullpage-slider .vlt-section .vlt-section__ken-burn-background img
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    -webkit-transition: -webkit-transform 2.5s cubic-bezier(.46, .03, .52, .96);
            transition: -webkit-transform 2.5s cubic-bezier(.46, .03, .52, .96);
            transition:         transform 2.5s cubic-bezier(.46, .03, .52, .96);
            transition:         transform 2.5s cubic-bezier(.46, .03, .52, .96), -webkit-transform 2.5s cubic-bezier(.46, .03, .52, .96);
    -webkit-transform: scale(1.5);
        -ms-transform: scale(1.5);
            transform: scale(1.5);

    -o-object-fit: cover;
       object-fit: cover;
    will-change: transform;
}
.vlt-fullpage-slider .vlt-section.active .vlt-section__ken-burn-background img
{
    -webkit-transition: -webkit-transform 5s cubic-bezier(.46, .03, .52, .96);
            transition: -webkit-transform 5s cubic-bezier(.46, .03, .52, .96);
            transition:         transform 5s cubic-bezier(.46, .03, .52, .96);
            transition:         transform 5s cubic-bezier(.46, .03, .52, .96), -webkit-transform 5s cubic-bezier(.46, .03, .52, .96); 
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1);
}
.vlt-fullpage-slider .vlt-section__particles
{
    position: absolute;
    z-index: -1; 
    top: 0;
    left: 0;

    overflow: hidden;

    width: 100%;
    height: 100%;

    pointer-events: auto;
}
.vlt-fullpage-slider .vlt-section__particles .vlt-particle
{
    position: absolute;

    background-repeat: no-repeat;
}
.vlt-fullpage-slider-progress-bar
{
    position: fixed;
    z-index: 25; 
    top: 50%;
    left: 60px;

    margin: 0;
    padding: 0;

    list-style-type: none;

    -webkit-transition: opacity 300ms 500ms cubic-bezier(.46, .03, .52, .96);
            transition: opacity 300ms 500ms cubic-bezier(.46, .03, .52, .96);
    -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
            transform: translate(0, -50%);

    opacity: 0;
}
@media only screen and (max-width: 991px)
{
    .vlt-fullpage-slider-progress-bar
    {
        display: none;
    }
}
.vlt-fullpage-slider-progress-bar.is-show
{
    opacity: 1;
}
.vlt-fullpage-slider-progress-bar li
{
    position: relative;

    width: 2px;
    height: 20px;

    -webkit-transition: background-color 300ms cubic-bezier(.46, .03, .52, .96);
            transition: background-color 300ms cubic-bezier(.46, .03, .52, .96); 

    background-color: rgba(16, 16, 16, .1);
}
.is-light .vlt-fullpage-slider-progress-bar li
{
    background-color: rgba(255, 255, 255, .1);
}
.vlt-fullpage-slider-progress-bar li::before
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 2px;
    height: 20px;

    content: '';
    -webkit-transition: height 0s, background-color 300ms cubic-bezier(.46, .03, .52, .96);
            transition: height 0s, background-color 300ms cubic-bezier(.46, .03, .52, .96); 

    background-color: #101010;
}
.is-light .vlt-fullpage-slider-progress-bar li::before
{
    background-color: #fff;
}
.vlt-fullpage-slider-progress-bar li.active ~ li::before
{
    height: 0;
}
.vlt-fullpage-slider-progress-bar li.active::before,
.vlt-fullpage-slider-progress-bar li:not(.prev)::before
{
    -webkit-transition: height 500ms cubic-bezier(.46, .03, .52, .96), background-color 300ms cubic-bezier(.46, .03, .52, .96);
            transition: height 500ms cubic-bezier(.46, .03, .52, .96), background-color 300ms cubic-bezier(.46, .03, .52, .96);
}
.vlt-fullpage-slider-numbers
{
    font-size: 1.25rem;
    font-weight: 700;

    position: fixed;
    z-index: 25; 
    right: 0;
    bottom: 0;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
            flex-direction: column;

    width: 6.25rem;
    height: 6.25rem;

    letter-spacing: -.01em;

    color: #fff;
    border-top-left-radius: 8px;
    background-color: #101010;

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
}
.vlt-fullpage-slider-numbers a
{
    font-size: 1.5rem; 

    color: inherit;
}
.vlt-fullpage-slider-numbers a svg
{
    width: 1em; 
    height: 1em;
}
.vlt-fullpage-slider-numbers a:hover svg
{
    -webkit-animation: vlt_animate_icon_bottom 300ms cubic-bezier(.46, .03, .52, .96);
            animation: vlt_animate_icon_bottom 300ms cubic-bezier(.46, .03, .52, .96);
}

/* 05. Partials */
/* PARTIAL: CUSTOM CURSOR
-------------------------------------------- */
.vlt-custom-cursor
{
    position: absolute;
    z-index: 100; 
    top: 0;
    left: 0;

    width: .9375rem;
    height: .9375rem;

    -webkit-transition: opacity 200ms cubic-bezier(.46, .03, .52, .96) 500ms;
            transition: opacity 200ms cubic-bezier(.46, .03, .52, .96) 500ms;
    pointer-events: none;

    color: #2C58A6;
}
.vlt-custom-cursor .circle
{
    position: fixed;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    width: .9375rem;
    height: .9375rem;

    -webkit-transform: translate3d(-50%, -50%, 0);
            transform: translate3d(-50%, -50%, 0);
    pointer-events: none; 

    opacity: .1;
    border-radius: 50%;
    background-color: currentColor;

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
}
.is-blue{
    color: var(--p1);
}
.is-orange{
    color: var(--p2);
}
.is-pink{
    color: var(--p3);
}
.is-green{
    color: var(--p4);
}
.vlt-custom-cursor .circle span
{
    color: #fff;
}
.vlt-custom-cursor .circle span i
{
    font-size: 2em;
    font-weight: normal; 
    line-height: 1;
}

/* PARTIAL: CUSTOM SCROLLBAR
-------------------------------------------- */
::-webkit-scrollbar
{
    width: 5px;
}

::-webkit-scrollbar-track
{
    background-color: #2C58A6;
}

::-webkit-scrollbar-thumb
{
    background-color: var(--p1);
}

/* PARTIAL: FIXED SOCIALS
-------------------------------------------- */
.vlt-fixed-socials
{
    position: fixed;
    z-index: 20; 
    right: 60px;
    bottom: 50%;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    -webkit-transform: rotate(-90deg) translate3d(50%, 0, 0);
            transform: rotate(-90deg) translate3d(50%, 0, 0);
    -webkit-transform-origin: 100% 100%;
        -ms-transform-origin: 100% 100%;
            transform-origin: 100% 100%;

    color: #101010;
}
@media only screen and (max-width: 991px)
{
    .vlt-fixed-socials
    {
        display: none;
    }
}
.is-light .vlt-fixed-socials
{
    color: #fff;
}
.vlt-fixed-socials a + a
{
    margin-left: 1.25rem;
}
.vlt-fixed-socials a:hover
{
    opacity: .8; 
    color: inherit;
}

.vlt-link-with-arrow
{
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display:         inline-flex;

    color: var(--p1); 

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
}
.vlt-link-with-arrow__icon
{
    margin-top: -2px;
    margin-left: 1.25rem;

    -webkit-transition: margin 300ms cubic-bezier(.46, .03, .52, .96);
            transition: margin 300ms cubic-bezier(.46, .03, .52, .96);
}
.vlt-link-with-arrow:hover .vlt-link-with-arrow__icon
{
    margin-left: .625rem;
}

/* PARTIAL: PRELOADER
-------------------------------------------- */
.animsition-loading-2
{
    position: fixed;
    z-index: 120; 
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;
}

.spinner
{
    position: absolute;
    z-index: 2; 
    top: calc(50% - 25px);
    left: calc(50% - 25px);

    width: 50px;
    height: 50px;
}

.double-bounce-one,
.double-bounce-two
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    -webkit-animation: vlt_bounce 2s infinite ease-in-out;
            animation: vlt_bounce 2s infinite ease-in-out; 

    opacity: .6;
    border-radius: 50%;
    background-color: var(--p1);
}

.double-bounce-two
{
    -webkit-animation-delay: -1s;
            animation-delay: -1s;
}

/* 06. Vendors */
/* VENDOR: FANCYBOX
-------------------------------------------- */
.fancybox-bg,
.vp-fancybox .fancybox-bg
{
    background-color: #101010;
}

.fancybox-is-open .fancybox-bg
{
    opacity: .8;
}

.fancybox-loading
{
    border: 2px solid rgba(255, 255, 255, .2);
    border-top-color: var(--p1);
}

/* VENDOR: PILING SLIDER
-------------------------------------------- */
body .pp-scrollable
{
    overflow-y: auto;
}

.vlt-section[data-anchor="Experience"].pp-scrollable {
    overflow-y: auto !important;
    height: 100%;
}

/* 07. Widgets */
/* WIDGET: ANIMATED BLOCK
-------------------------------------------- */
.vlt-animated-block.animated
{
    -webkit-animation-name: vlt_animation_block;
            animation-name: vlt_animation_block;
    -webkit-animation-timing-function: cubic-bezier(.46, .03, .52, .96);
            animation-timing-function: cubic-bezier(.46, .03, .52, .96);

    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
}

/* WIDGET: AWARD ITEM
-------------------------------------------- */
.vlt-award-item
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
}
.vlt-award-item__logo
{

    width: 5rem;
    height: 5rem;
    margin-right: 1.875rem;

    -webkit-transition: -webkit-box-shadow 300ms cubic-bezier(.46, .03, .52, .96);
            transition: -webkit-box-shadow 300ms cubic-bezier(.46, .03, .52, .96);
            transition:         box-shadow 300ms cubic-bezier(.46, .03, .52, .96);
            transition:         box-shadow 300ms cubic-bezier(.46, .03, .52, .96), -webkit-box-shadow 300ms cubic-bezier(.46, .03, .52, .96);

    border-radius: 4px;
    -webkit-box-shadow: 0 2px 5px 0 rgba(16, 16, 16, .1);
            box-shadow: 0 2px 5px 0 rgba(16, 16, 16, .1);

    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
            flex-shrink: 0;
            
}
.vlt-award-item__logo img {
    width: 100%; 
    height: 100%;
    transition: 0.4s;
    border-radius: 16px;
    overflow: hidden;
}

.vlt-award-item__logo:hover, .has-bounce-effect:hover {
    animation: bounce 0.6s ease-in-out; /* Animation plus douce */
    border-radius: 150px;
}

/* Keyframe pour un rebond plus subtil */
@keyframes bounce {
    0% {
        transform: scale(1);
    }
    20% {
        transform: scale(1.05); /* Légère augmentation au début */
    }
    40% {
        transform: scale(0.98); /* Un petit rétrécissement */
    }
    60% {
        transform: scale(1.02); /* Retour très léger à une taille légèrement plus grande */
    }
    80% {
        transform: scale(1); /* Retour presque à la taille originale */
    }
    100% {
        transform: scale(1); /* Taille originale */
    }
}

.vlt-award-item__content
{
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
    transition: 0.3s;
}


  
  .vlt-animated-block:nth-of-type(9) .vlt-progress-bar__bar span{
    background-color: var(--p3); /* Quatrieme barre en orange*/
  }
  .Blue:hover{
    color:var(--p1);
    transition: 0.3s;
}
  .Orange:hover{
        color:var(--p2);
        transition: 0.3s;
  }
  .Pink:hover{
    color:var(--p3);
    transition: 0.3s;
}
.Green:hover{
    color:var(--p4);
    transition: 0.3s;
}
  .vlt-animated-block:nth-of-type(5) .vlt-progress-bar__bar span{
    background-color: var(--p2); /* Deuxieme barre en Rose */
  }
  
  .vlt-animated-block:nth-of-type(3) .vlt-progress-bar__bar span{
    background-color: var(--p4); /* Premiere barre en vert */
  }
/* Style par défaut des titres */
.vlt-services__title {
  color: black;
  transition: color 0.3s ease;
}

.vlt-services__link {
  color: black;
  transition: color 0.3s ease;
}

/* Exemple de couleur définie pour chaque catégorie */
:root {
    --Blue: var(--p1);
    --Pink: var(--p3);
    --Orange: var(--p2);
    --Green: var(--p4);
}
/* Si vous voulez également une transition douce pour le changement de couleur du lien */
.vlt-services__link .vlt-link-with-arrow__text {
    transition: color 0.3s ease-in-out;
}
/* Animation lors du survol de vlt-services */
.vlt-services {
    transition: transform 0.3s ease, opacity 0.3s ease; /* Ajout d'une transition pour une animation fluide */
}

/* Animation spécifique pour les éléments survolés */
.highlight-service1 .vlt-services__title a,
.highlight-service1 .vlt-services__link,
.highlight-service1 .vlt-services__link .vlt-link-with-arrow__icon {
    color: var(--Blue);
    opacity: 1 !important;
    transform: translate3d(0, 0, 0); /* Similaire à l'animation sur vlt-services */
}
.highlight-service2 .vlt-services__title a,
.highlight-service2 .vlt-services__link,
.highlight-service2 .vlt-services__link .vlt-link-with-arrow__icon {
    color: var(--Orange);
    opacity: 1 !important;
    transform: translate3d(0, 0, 0);
}

.highlight-service3 .vlt-services__title a,
.highlight-service3 .vlt-services__link,
.highlight-service3 .vlt-services__link .vlt-link-with-arrow__icon {
    color: var(--Pink);
    opacity: 1 !important;
    transform: translate3d(0, 0, 0);
}

.highlight-service4 .vlt-services__title a,
.highlight-service4 .vlt-services__link,
.highlight-service4 .vlt-services__link .vlt-link-with-arrow__icon {
    color: var(--Green);
    opacity: 1 !important;
    transform: translate3d(0, 0, 0);
}

/* Couleur et animation sur le span */
.highlight-span1 {
    color: var(--Blue);
    transform: scale(1.1) translate3d(0, 0, 0); /* Légère échelle pour attirer l'attention */
}

.highlight-span2 {
    color: var(--Orange);
    transform: scale(1.1) translate3d(0, 0, 0);
}

.highlight-span3 {
    color: var(--Pink);
    transform: scale(1.1) translate3d(0, 0, 0);
}

.highlight-span4 {
    color: var(--Green);
    transform: scale(1.1) translate3d(0, 0, 0);
}

.vlt-counter-up .counter, 
.vlt-counter-up sup {
    transition: color 0.1s ease, filter 0.1s ease;
}

.highlight-span1 { color: var(--p1); }
.highlight-span2 { color: var(--p2); }
.highlight-span3 { color: var(--p3); filter: brightness(0.9); }
.highlight-span4 { color: var(--p4); filter: brightness(0.9); }

h4 span {
    transition: color 0.1s ease, filter 0.1s ease;
}
.vlt-services--service1:hover .vlt-services__title,
.vlt-services--service1:hover a {
  color: var(--p1); /* Couleur au survol pour le premier service */
}
/* Survol du bloc service 2, seule la couleur du titre et du lien doit changer */
.vlt-services--service2:hover .vlt-services__title,
.vlt-services--service2:hover  a {
  color: var(--p2); /* Couleur au survol pour le deuxième service */
}

/* Survol du bloc service 3, seule la couleur du titre et du lien doit changer */
.vlt-services--service3:hover .vlt-services__title,
.vlt-services--service3:hover  a {
  color: var(--p3); /* Couleur au survol pour le troisième service */
  filter:brightness(0.9);
}

/* Survol du bloc service 4, seule la couleur du titre et du lien doit changer */
.vlt-services--service4:hover .vlt-services__title,
.vlt-services--service4:hover  a {
  color: var(--p4); /* Couleur au survol pour le quatrième service */
  filter:brightness(0.9);
}


/* END */

.vlt-award-item:hover .vlt-award-item__logo
{
    -webkit-box-shadow: 0 5px 15px 5px rgba(16, 16, 16, .1);
            box-shadow: 0 5px 15px 5px rgba(16, 16, 16, .1);
}

/* WIDGET: BLOG POST
-------------------------------------------- */
.vlt-post-thumbnail
{
    position: relative;

    overflow: hidden;

    width: 100%;

    border-radius: 8px;
}
.vlt-post-thumbnail__link
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;
}
.vlt-post-thumbnail img
{
    -webkit-transition: -webkit-transform 1s cubic-bezier(.46, .03, .52, .96);
            transition: -webkit-transform 1s cubic-bezier(.46, .03, .52, .96);
            transition:         transform 1s cubic-bezier(.46, .03, .52, .96);
            transition:         transform 1s cubic-bezier(.46, .03, .52, .96), -webkit-transform 1s cubic-bezier(.46, .03, .52, .96);
}
.vlt-post-thumbnail .badge
{
    font-size: 1.25rem;

    position: absolute;
    top: 0;
    right: 0;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    width: 2.8125rem;
    height: 2.8125rem;

    color: #fff;
    border-radius: 0;
    border-bottom-left-radius: 8px;
    background-color: #101010; 

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
}
.vlt-post-thumbnail .badge svg
{
    width: 1em; 
    height: 1em;
}

.vlt-post-thumbnail + .vlt-post-content
{
    padding-top: 1.875rem;
}

.vlt-post-title
{
    font-size: 1.5rem;
    line-height: 1.4;
}

.vlt-post-meta
{
    font-size: .875rem;
    font-weight: 500; 

    margin-bottom: .625rem;

    color: rgba(16, 16, 16, .8);
}
.vlt-post-meta span + span::before
{
    margin-right: .3125rem;
    margin-left: .5rem; 

    content: '/';
}

.vlt-post-footer
{
    padding-top: 1.25rem;
}
.vlt-post-footer .vlt-post__link
{
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);

    opacity: 0;
}

.vlt-post:hover .vlt-post__link
{
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);

    opacity: 1;
}

.vlt-post:hover .vlt-post-thumbnail img
{
    -webkit-transform: scale(1.05);
        -ms-transform: scale(1.05);
            transform: scale(1.05);
}

/* WIDGET: BUTTON
-------------------------------------------- */
.vlt-btn
{
    font-weight: 600;

    position: relative;

    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display:         inline-flex;
    overflow: hidden;

    padding: .75rem 1.1875rem;

    cursor: pointer; 
    -webkit-transition: all 300ms cubic-bezier(.46, .03, .52, .96);
            transition: all 300ms cubic-bezier(.46, .03, .52, .96);
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    text-decoration: none;
    letter-spacing: -.01em;

    border: none;
    border-radius: 4px;
    outline: 0;
    -webkit-box-shadow: 0 5px 15px 5px rgba(16, 16, 16, .1), inset 0 -2px 0 0 rgba(16, 16, 16, .2);
            box-shadow: 0 5px 15px 5px rgba(16, 16, 16, .1), inset 0 -2px 0 0 rgba(16, 16, 16, .2);

    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
}
.vlt-btn:disabled,
.vlt-btn.disabled
{
    cursor: not-allowed; 
    pointer-events: none;
}
.vlt-btn--block
{
    width: 100%;
}
.vlt-btn__icon
{
    text-decoration: inherit;
}
.vlt-btn__icon i,
.vlt-btn__icon svg
{
    display: block;
}
.vlt-btn__icon svg
{
    width: 1em; 
    height: 1em;
}
.vlt-btn__icon--left
{
    margin-right: .625rem;
}
.vlt-btn__icon--right
{
    margin-left: .625rem;
}
.vlt-btn__text
{
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
}
.vlt-btn:focus
{
    outline: none;
}
.vlt-btn:hover
{
    text-decoration: none;
}

  
  
/* BUTTON PRIMARY
-------------------------------------------- */
.vlt-btn--primary
{
    color: #fff;
    background-color: var(--p1);
    border-radius: 12px;
}
.vlt-btn--primary:hover
{
    color: #fff;
    background-color: #2C58A6;
}

  
  
  

/* BUTTON SECONDARY
-------------------------------------------- */
.vlt-btn--secondary {
    color: #fff;
    background: rgba(255, 255, 255, 0.05); /* Fond semi-transparent */
    backdrop-filter: blur(10px); /* Effet de flou */
    border: 1px solid rgba(255, 255, 255, 0.3); /* Bordure subtile */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); /* Ombre douce */
    border-radius: 10px; /* Coins arrondis */
    padding: 12px 24px; /* Ajustement du padding */
    transition: all 0.3s ease-in-out;
}

.vlt-btn--secondary:hover {
    background: rgba(var(--p1-rgb, 255, 255, 255), 0.3); /* Utilisation de la variable avec opacité */
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.5);
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.3);
}

/* WIDGET: CONTACT FORM
-------------------------------------------- */
.vlt-contact-form .message
{
    font-size: .875rem; 

    display: none;

    margin-bottom: 1.875rem;
}

/* WIDGET: COUNTER UP
-------------------------------------------- */
.vlt-counter-up
{
    font-size: 7.5rem;
    font-weight: 700;
    line-height: 1;

    letter-spacing: -.02em;

    color: var(--p1);
}
.vlt-counter-up sup
{
    font-size: 33.33%;

    vertical-align: super;
}

.vlt-counter-up-small
{
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display:         inline-flex;

    padding: .9375rem 1.875rem .9375rem 1.25rem;

    border-radius: 8px; 
    background-color: rgba(255, 255, 255, .1);
    -webkit-box-shadow: inset 0 -2px 0 0 rgba(255, 255, 255, .1);
            box-shadow: inset 0 -2px 0 0 rgba(255, 255, 255, .1);

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
}
.vlt-counter-up-small span
{
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1;

    min-width: 3.125rem;

    letter-spacing: -.02em;

    color: #fff;
}
.vlt-counter-up-small h6
{
    margin-left: .9375rem;

    color: #fff; 

    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
}

/* WIDGET: LINK
-------------------------------------------- */
.vlt-link
{
    font-size: 1.25rem;
    font-weight: 600;

    position: relative;

    letter-spacing: -.01em;

    color: #101010;
}
.vlt-link::before
{
    display: inline-block;

    width: 3.125rem;
    height: 2px;
    margin-top: -.125rem;
    margin-right: 1.25rem;

    content: '';
    -webkit-transition: width 300ms cubic-bezier(.46, .03, .52, .96);
            transition: width 300ms cubic-bezier(.46, .03, .52, .96); 
    vertical-align: middle;

    background-color: currentColor;
}
.vlt-link:hover::before
{
    width: 2.5rem;
}

/* WIDGET: PARTNER LOGO
-------------------------------------------- */
.vlt-partner-logo
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
}
.vlt-partner-logo a,
.vlt-partner-logo img
{
    display: block;

    width: auto; 

    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
            flex-shrink: 0;
}
.vlt-partner-logo img
{
    -webkit-transition: opacity 300ms cubic-bezier(.46, .03, .52, .96);
            transition: opacity 300ms cubic-bezier(.46, .03, .52, .96); 

    opacity: .5;
}
.vlt-partner-logo:hover img
{
    opacity: 1;
}

/* WIDGET: PROGRESS BAR
-------------------------------------------- */
.vlt-progress-bar{
    transition: 0.3s;
}
.vlt-progress-bar__title
{
    font-size: 1.25rem; 

    margin: 0 0 .5rem;
}
.vlt-progress-bar__title > span::before
{
    content: ' - ';
}
.vlt-progress-bar__title > span::after
{
    content: '%';
}

.vlt-progress-bar__bar
{
    position: relative;

    overflow: hidden; 

    width: 100%;
    height: 4px;

    background-color: rgba(16, 16, 16, .1);
}
.vlt-progress-bar__bar span
{
    position: absolute;
    top: 0;
    left: 0;

    height: 100%;

    background-color: var(--p1);
}

/* WIDGET: PROJECT SHOWCASE
-------------------------------------------- */
.vlt-project-showcase
{
    position: relative;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex; 

    width: 100%;
    height: 100%;
    min-height: 30vw;
    top: -30%;

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
}
.vlt-project-showcase .vlt-project-showcase__items
{
    position: relative;
    z-index: 2; 

    padding: 0 8vw;

    white-space: nowrap;

    will-change: transform;
}

.vlt-project-showcase ul
{
    position: relative;
    z-index: 2; 
    top: 60%;
}
.vlt-project-showcase .vlt-project-showcase__items .vlt-project-showcase__item
{
    position: relative;

    display: inline-block;
}
.vlt-project-showcase .vlt-project-showcase__items .vlt-project-showcase__item__title
{
    font-size: 5rem;
    line-height: 1.15;

    letter-spacing: -.02em;

    color: #fff;
}
.vlt-project-showcase .vlt-project-showcase__items .vlt-project-showcase__item__title a:hover 
{
    color: inherit;
}

.vlt-project-showcase .vlt-project-showcase__items .vlt-project-showcase__item__category
{
    display: block;

    margin-top: .625rem;

    color: #fff;
}
.vlt-project-showcase .vlt-project-showcase__items .vlt-project-showcase__item__category::before
{
    margin-right: .375rem; 

    content: '/';
}

.background-container {
    width: 100%;
    height: 350px;
    background-image: url('assets/img/skills.png') no-repeat; /* Image par défaut */
    background-size: cover;
    background-position: center;
    transition: background-image 0.2s ease; /* Transition douce pour changer l'image */
}


/* Conteneur du texte */
.text-switch-container {
    display: inline-block;
    position: relative;
}

/* Texte de remplacement qui apparaît */
.text-switch {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition: opacity 0.2s ease-in-out; /* Transition plus douce */
}

/* Animation pour l'apparition des lettres */
.letter {
    display: inline-block;
    opacity: 0;
    animation: showLetter 0.3s ease forwards;
}

/* Animation pour l'apparition des lettres */
@keyframes showLetter {
    to {
        opacity: 1;
    }
}

.text-visible {
    opacity: 1;
    transition: opacity 0.5s ease;
}

.text-fade {
    opacity: 0;
    transition: opacity 0.5s ease;
}




.vlt-project-showcase .vlt-project-showcase__items li + li
{
    margin-left: 5vw;
}
.vlt-project-showcase .vlt-project-showcase__images
{
    position: absolute;
    z-index: 1; 
    top: 60%;
    right: 0;

    overflow: hidden;

    width: 30vw;
    height: 30vw;
    margin: 0 5.3125rem;

    -webkit-transform: translate3d(0, -50%, 0);
            transform: translate3d(0, -50%, 0);
    pointer-events: none;

    border-radius: 0%;
}
.vlt-project-showcase .vlt-project-showcase__images .vlt-project-showcase__image
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;
}
.vlt-project-showcase .vlt-project-showcase__images .vlt-project-showcase__image img
{
    font-family: 'object-fit: cover;';

    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    -webkit-transition: opacity 500ms cubic-bezier(.46, .03, .52, .96), -webkit-transform 1.5s cubic-bezier(.46, .03, .52, .96);
            transition: opacity 500ms cubic-bezier(.46, .03, .52, .96), -webkit-transform 1.5s cubic-bezier(.46, .03, .52, .96);
            transition: opacity 500ms cubic-bezier(.46, .03, .52, .96), transform 1.5s cubic-bezier(.46, .03, .52, .96);
            transition: opacity 500ms cubic-bezier(.46, .03, .52, .96), transform 1.5s cubic-bezier(.46, .03, .52, .96), -webkit-transform 1.5s cubic-bezier(.46, .03, .52, .96);
    -webkit-transform: scale(1.05);
        -ms-transform: scale(1.05);
            transform: scale(1.05);

    opacity: 0; 

    -o-object-fit: cover;
       object-fit: cover;
    will-change: transform;
}
.vlt-project-showcase .vlt-project-showcase__images .vlt-project-showcase__image.is-active img
{
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1);

    opacity: 1;
}
.vlt-project-showcase .vlt-project-showcase__item
{
    -webkit-transition: opacity 300ms cubic-bezier(.46, .03, .52, .96);
            transition: opacity 300ms cubic-bezier(.46, .03, .52, .96); 

    opacity: .29;
}
.vlt-project-showcase .vlt-project-showcase__item.is-active
{
    opacity: 1;
}

.vlt-project-showcase-slider
{
    width: 100%;
}

.vlt-work-thumbnail
{
    position: relative;

    overflow: hidden;

    width: 100%;

    border-radius: 8px;
}
.vlt-work-thumbnail__link
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;
}
.vlt-work-thumbnail img
{
    -webkit-transition: -webkit-transform 1s cubic-bezier(.46, .03, .52, .96);
            transition: -webkit-transform 1s cubic-bezier(.46, .03, .52, .96);
            transition:         transform 1s cubic-bezier(.46, .03, .52, .96);
            transition:         transform 1s cubic-bezier(.46, .03, .52, .96), -webkit-transform 1s cubic-bezier(.46, .03, .52, .96);
}

.vlt-work-thumbnail + .vlt-work-content
{
    padding-top: 1.875rem;
}

.vlt-work-title
{
    font-size: 1.5rem;
    line-height: 1.4;

    color: #fff;
}

.vlt-work-meta
{
    font-size: .875rem;
    font-weight: 500; 

    margin-bottom: .625rem;

    color: rgba(255, 255, 255, .8);
}
.vlt-work-meta span + span::before
{
    margin-right: .3125rem;
    margin-left: .5rem; 

    content: '/';
}

.vlt-work-footer
{
    padding-top: 1.25rem;
}
.vlt-work-footer .vlt-work__link
{
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);

    opacity: 0;
}

.vlt-work:hover .vlt-work__link
{
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);

    opacity: 1;
}

.vlt-work:hover .vlt-work-thumbnail img
{
    -webkit-transform: scale(1.05);
        -ms-transform: scale(1.05);
            transform: scale(1.05);
}

/* WIDGET: SERVICES
-------------------------------------------- */
.vlt-services
{
    overflow: hidden;
}
.vlt-services__title
{
    margin-bottom: .9375rem;
}
.vlt-services__text
{
    margin-bottom: 0;
}
.vlt-services__link
{
    margin-top: 1.25rem;

    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);

    opacity: 0;
}
.vlt-services:hover .vlt-services__link
{
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);

    opacity: 1;
}

/* WIDGET: SLIDE PHOTO
-------------------------------------------- */
.vlt-slide-photo
{
    position: relative;
    z-index: 1;
}
.vlt-slide-photo__inside
{
    position: relative;
    
    display: inline-block;

    border-radius: 10px;
    img{
        transform: scale(1);
    }
}
.vlt-slide-photo__caption
{
    font-size: .875rem;
    font-style: italic;

    margin-top: .3125rem;

    color: #999;
}
.vlt-slide-photo__particle
{
    position: absolute;

    display: inline-block;
    overflow: hidden; 

    width: auto;
}
.vlt-slide-photo__particle img
{
    display: block;

    margin: 0 auto;
}
.vlt-slide-photo__particle.has-border-radius
{
    border-radius: 8px;
}
.vlt-slide-photo__particle.has-box-shadow
{
    -webkit-box-shadow: 0 5px 15px 5px rgba(16, 16, 16, .1);
            box-shadow: 0 5px 15px 5px rgba(16, 16, 16, .1);
}
.vlt-slide-photo__particle.negative-z-index
{
    z-index: -1;
}

/* WIDGET: TESTIMONIAL SLIDER
-------------------------------------------- */
.vlt-testimonial-slider .swiper-slide:not(.swiper-slide-active)
{
    -webkit-transition: opacity 500ms cubic-bezier(.46, .03, .52, .96), -webkit-transform 500ms cubic-bezier(.46, .03, .52, .96);
            transition: opacity 500ms cubic-bezier(.46, .03, .52, .96), -webkit-transform 500ms cubic-bezier(.46, .03, .52, .96);
            transition: opacity 500ms cubic-bezier(.46, .03, .52, .96), transform 500ms cubic-bezier(.46, .03, .52, .96);
            transition: opacity 500ms cubic-bezier(.46, .03, .52, .96), transform 500ms cubic-bezier(.46, .03, .52, .96), -webkit-transform 500ms cubic-bezier(.46, .03, .52, .96); 
    -webkit-transform: scale(.8);
        -ms-transform: scale(.8);
            transform: scale(.8);

    opacity: 0;
}

.vlt-testimonial-slider-controls,
.vlt-timeline-slider-controls
{
    font-size: 1.25rem;
    font-weight: 600;

    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display:         inline-flex;

    letter-spacing: -.01em;

    color: #999; 

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
}
.vlt-testimonial-slider-controls .pagination,
.vlt-timeline-slider-controls .pagination
{
    min-width: 3.75rem; 
    margin: 0 .9375rem;

    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
}
.vlt-testimonial-slider-controls .prev,
.vlt-timeline-slider-controls .prev,
.vlt-testimonial-slider-controls .next,
.vlt-timeline-slider-controls .next
{
    cursor: pointer;
    -webkit-transition: color 300ms cubic-bezier(.46, .03, .52, .96);
            transition: color 300ms cubic-bezier(.46, .03, .52, .96);

    outline: none;
}
.vlt-testimonial-slider-controls .prev:hover,
.vlt-timeline-slider-controls .prev:hover,
.vlt-testimonial-slider-controls .next:hover,
.vlt-timeline-slider-controls .next:hover
{
    color: #fff;
}

.vlt-testimonial-item
{
    position: relative;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    padding: 2.1875rem 5rem 2.1875rem 2.5rem;

    color: #fff;
    border-radius: 10px;
    -webkit-box-shadow: 0 5px 15px 5px rgba(16, 16, 16, .1);
            box-shadow: 0 5px 15px 5px rgba(16, 16, 16, .1);
}
#graphismeButton{
    position: absolute; left: 50%; transform: translateX(-50%); bottom: 64px; z-index: 10;
}
@media only screen and (max-width: 767px)
{
    .vlt-testimonial-item
    {
        padding-right: 2.5rem;
    }
    #graphismeButton{
        position: absolute;
        left: 15px !important;
        transform: none;
        bottom: 15vh !important;
        height: 50px;
    }
    /* Nouveau centrage vertical avec flexbox */
    .vlt-section[data-anchor="Portfolio"] .vlt-section__vertical-align {
        align-items: center;
        justify-content: center;
        display: flex;
        min-height: 85vh; /* Réduit de 100vh à 85vh pour tenir compte des barres d'interface */
        padding-top: 0;
        padding-bottom: 0;
    }
    
    .vlt-project-showcase-slider {
        position: relative;
        width: 100%;
        padding: 20px 0; /* Réduit le padding vertical */
        margin-top: -30px; /* Ajuste la position verticale */
    }
    
    .swiper-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        overflow-y: auto; /* Permet le défilement si nécessaire */
        -webkit-overflow-scrolling: touch; /* Défilement fluide sur iOS */
    }
    .vlt-work {
        position: relative;
        margin-bottom: 20px;
    }
    .vlt-work-thumbnail {
        height: 320px !important;
        overflow: hidden;
    }
    .vlt-work-thumbnail img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .vlt-work-header{
        position: absolute !important;
        bottom: 70px !important;
        left: 15px !important;
        width: calc(100% - 30px);
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
    }
    .vlt-work-meta {
        margin: 0 0 5px 0 !important;
        padding: 0 !important;
    }
    .vlt-work-title {
        margin: 0 !important;
        padding: 0 !important;
    }
    .vlt-work-footer {
        position: absolute !important;
        bottom: 20px !important;
        left: 15px !important;
    }
}
.vlt-testimonial-item::after
{
    position: absolute;
    right: 2.5rem;
    bottom: 2.5rem;

    width: 3.125rem;
    height: 3.125rem;

    content: '';

    opacity: .2; 
    background-image: url('../img/root/quote.svg');
    background-position: center;
    background-size: cover;
}
.vlt-testimonial-item__avatar
{
    margin-right: 2.5rem;
}
.vlt-testimonial-item__avatar img
{
    max-width: 7.5rem;

    border-radius: 50%;
}
@media only screen and (max-width: 767px)
{
    .vlt-testimonial-item__avatar
    {
        display: none;
    }
}
.vlt-testimonial-item__content
{
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
}
.vlt-testimonial-item__content p
{
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1.5;

    letter-spacing: -.01em;
}
.vlt-testimonial-item__meta
{
    margin-top: 1.875rem;
}
.vlt-testimonial-item__meta h6
{
    font-size: 1.25rem;
    line-height: 1.5;

    color: inherit;
}
.vlt-testimonial-item__meta span
{
    opacity: .8;
}

/* WIDGET: TIMELINE SLIDER
-------------------------------------------- */
.vlt-timeline-slider .swiper-slide:not(.swiper-slide-active)
{
    -webkit-transition: opacity 500ms cubic-bezier(.46, .03, .52, .96);
            transition: opacity 500ms cubic-bezier(.46, .03, .52, .96); 

    opacity: 0;
}

.vlt-timeline-item
{
    padding-bottom: 1.875rem;
    .row{
        align-items: center;
        text-align: left;
        justify-content: space-between;
    }

.vlt-timeline-item + .vlt-timeline-item
{
    padding-top: 1.875rem;

    border-top: 1px solid rgba(255, 255, 255, .25);
}
.vlt-timeline-item__year
{
    font-size: 1.025rem;
    font-weight: 700;

    display: block;
    letter-spacing: -.02em;
    padding: 20px;
    background: transparent;
    border: 1px solid #FFF;
    border-radius: 50px;
    align-items: center;
    color: #ffffffaf;
    text-align: center;
    min-width: 160px;
}
.vlt-item_logo{
    width: 50px;
    height: auto;
    border-radius: 50px;
    img{
        width: 100%;
        height: 100%;
    }
}
@media only screen and (max-width: 1199px)
{
    .vlt-item_logo{
        width: 63px;
        height: 120px;
        border-radius: 50px;
        img{
            width: 100%;
            height: 100%;
        }
    }
}
@media only screen and (max-width: 767px)
{
    .vlt-timeline-item__year
    {
        margin-bottom: .625rem;
    }
    .vlt-timeline-item__text{
        padding: 16px 0px;
    }
    .vlt-timeline-item{
        padding: 0px 0px;
        .row{
            margin: 8px 0px;
            gap: 8px;
        }
        .flex-col{
            justify-content: space-evenly;
        }
        .vlt-item_logo{
            width: 50px;
            height: auto;
            border-radius: 50px;
            img{
                width: 100%;
                height: 100%;
            }
        }
    }
}
.vlt-timeline-item__title
{
    font-size: 1.575rem;
    color: #ffffff;
}
@media only screen and (max-width: 767px)
{

}
.vlt-timeline-item__text
{
    color: #FFF;
}

/* WIDGET: VIDEO BUTTON
-------------------------------------------- */
.vlt-video-button
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
            flex-direction: column; 

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
}
.vlt-video-button h6
{
    font-size: 1.125rem;

    margin-top: .9375rem;

    white-space: nowrap;
}
.vlt-video-button a
{
    font-size: 10px;
    line-height: 1;

    position: relative;
    z-index: 1; 

    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display:         inline-flex;

    width: 3.75rem;
    height: 3.75rem;

    color: #fff;
    border-radius: 50%;
    outline: none;
    background-color: #101010;

    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
}
.vlt-video-button a svg
{
    font-size: 2.5em; 

    position: relative;

    width: 1em;
    height: 1em;
    margin-left: .15em;
}
.vlt-video-button a::after
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    content: '';
    -webkit-transition: -webkit-transform 300ms cubic-bezier(.46, .03, .52, .96);
            transition: -webkit-transform 300ms cubic-bezier(.46, .03, .52, .96);
            transition:         transform 300ms cubic-bezier(.46, .03, .52, .96);
            transition:         transform 300ms cubic-bezier(.46, .03, .52, .96), -webkit-transform 300ms cubic-bezier(.46, .03, .52, .96);

    opacity: .1; 
    border-radius: 50%;
    background-color: #101010;
}
.vlt-video-button a:hover
{
    color: #fff;
}
.vlt-video-button a:hover::after
{
    -webkit-transform: scale(1.2);
        -ms-transform: scale(1.2);
            transform: scale(1.2);
}
.vlt-btn--custom{
    background: transparent;
    border: solid 1px #FFF;
    border-radius: 50px;
    padding: 4px 16px;
    margin: 8px 0px;
    color:white;
    transition: 0.5s;
}
.vlt-btn--custom:hover{
    background: rgba(255, 255, 255, 0.2);
    
    
}
/* variables */
:root{
    --dark: #111111;
    --sun: #ffd700;
    --sun-shadow: #987416;
    --moon: #dddddd;
    --moon-shadow: #808080;
    --star: #ffffff;
    --cloud: #ffffff;
    --crater: #535370;
    --shadow-01: #80808077;
    --shadow-02: #ffffff22;
    --shadow-03: #555555;
    --white: #ffffff;
    --background-day: linear-gradient(skyblue, cadetblue);
    --background-night: linear-gradient(-45deg, #222, #000030);
  }
  .containeur{
    position: relative;
    display: inline-block;
    width: 80px;
    height: 34px;
    margin-left: 30px;
    text-decoration: none;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  .container input{
    opacity: 1;

  }
  .slider{
    position: absolute;
    cursor: pointer;
    inset: 0;
    background: var(--background-day);
    box-shadow: inset 0 0 3px;
    -webkit-transition: 0.4s;
    transition: 0.4s;
    filter: drop-shadow(0 0 2px var(--dark));
    overflow: hidden;
    z-index: 1;
  }
  .slider::before{
    position: absolute;
    content: "";
    height: 26px;
    width: 26px;
    left: 4px;
    bottom: 4px;
    background-color: var(--sun);
    -webkit-transition: 0.4s;
    transition: 0.4s;
    box-shadow:
      inset 0 -1px 2px var(--sun-shadow),
      0 1px 2px var(--shadow-01),
      0 0 0 10px var(--shadow-02),
      0 0 0 20px var(--shadow-02),
      10px 0 0 20px var(--shadow-02);
  }
  input:checked + .slider{
    background: var(--background-night);
    filter: drop-shadow(0 0 2px var(--white));
  }
  
  input:checked + .slider:before{
    background: var(--moon);
    -webkit-transform: translateX(180%);
    -ms-transform: translateX(180%);
    transform: translateX(180%);
    box-shadow:
      inset 0 -1px 2px var(--moon-shadow),
      0 1px 2px var(--shadow-03),
      0 0 0 10px var(--shadow-02),
      0 0 0 20px var(--shadow-02),
      -10px 0 0 20px var(--shadow-02);
  }
  .slider.round{
    transform: scale(0.6);
}
input[type="checkbox"] {
    visibility: hidden;
  }
  .vlt-offcanvas-menu__locales{
    display: flex;
    flex-direction: row;
    align-items: center;
  }

/* iOS Touch Improvements */
@supports (-webkit-touch-callout: none) {
    .swiper-container {
        touch-action: none;
        -webkit-overflow-scrolling: touch;
    }
    .swiper-wrapper {
        will-change: transform;
    }
    .swiper-slide {
        -webkit-transform: translate3d(0, 0, 0);
                transform: translate3d(0, 0, 0);
    }
}

/* Slider Fixes */
.swiper-container {
    overflow: hidden;
    width: 100%;
    height: 100%;
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
}

/* iOS Fade Effect */
@supports (-webkit-touch-callout: none) {
    .swiper-container {
        overflow: hidden;
    }
    .swiper-slide {
        opacity: 0;
        transition: opacity 0.4s ease;
    }
    .swiper-slide-active {
        opacity: 1;
    }
}

.ellipse {
    position: absolute;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(0.5);
    opacity: 0;
    background: white;
    transition: opacity 0.4s ease-out, transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
    pointer-events: none;
}

@keyframes background {
    0% {
      opacity: 0;
      transform: translate(-50%, -50%) scale(0.5);
    }
    100% {
      opacity: 1;
      transform: translate(-50%, -50%) scale(1);
    }
}
@media only screen and (max-width: 767px)
{
    .vlt-testimonial-item
    {
        padding-right: 2.5rem;
    }
    #graphismeButton{
        position: absolute;
        left: 15px !important;
        transform: none;
        bottom: 2.5dvh !important;
        height: 50px;
    }
    /* Solution radicale avec positionnement absolu */
    .vlt-work {
        position: relative;
    }
    .vlt-work-content {
        position: relative;
        padding: 0;
    }
    .vlt-work-header{
        position: absolute !important;
        bottom: 0px !important;
        left: 15px !important;
        width: 100%!important;;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
    }
    .vlt-work-meta {
        margin: 0 0 5px 0 !important;
        padding: 0 !important;
    }
    .vlt-work-title {
        margin: 0 !important;
        padding: 0 !important;
    }
    .vlt-work-footer {
        position: absolute !important;
        bottom: 20px !important;
        left: 15px !important;
    }
}
.vlt-section[data-anchor="Portfolio"] {
    height: 100vh !important; /* Force la hauteur à 100vh */
}
    
.vlt-section[data-anchor="Portfolio"] .vlt-section__vertical-align {
    align-items: center;
    justify-content: center;
    display: flex;
}
    
.vlt-project-showcase-slider {
    position: relative;
    width: 100%;
}
    
.swiper-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

@media only screen and (max-width: 767px) {
    .vlt-section[data-anchor="Experience"] {


        overflow: scroll !important; /* Permet le défilement à l'intérieur de la section */
        touch-action: pan-y !important; /* Autorise explicitement le défilement vertical tactile */
    }
    
    /* Empêcher FullPage.js de capturer les événements de défilement dans cette section */
    .vlt-section[data-anchor="Experience"] .pp-tableCell,
    .vlt-section[data-anchor="Experience"] .vlt-section__vertical-align {
        overflow: visible !important;

        touch-action: pan-y !important;
    }
    
    .vlt-section[data-anchor="Experience"] .vlt-section__content {


        overflow: scroll!important;
    }
    
    .vlt-section[data-anchor="Experience"] .vlt-timeline-slider {
        margin-top: 30px;

    }
    
    .vlt-section[data-anchor="Experience"] .swiper-container {
        max-height: none !important;
        overflow-y: visible !important;
        padding-top: 20px;

    }
    

    }
}
