@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

:root {
    --font: "Poppins";
    --color0: #fff;
    --color1: #ff8000;
    --color2: #ff7b00;
    --color3: #d35100;
    --color4: #111111;
    --black: #000000;
    --bg-light: #1919199e;
    --letter-spacing: 1px;
    --radius: 50px;
    --border-radius: 10px;

    /* Theme Transition */
    --transition-speed: 0.3s;
}

body.light-theme {
    --color0: #111111;
    --color4: #f8f9fa;
    --black: #ffffff;
    --bg-light: #eeeeee9e;
}

* {
    margin: 0;
    padding: 0;
    user-select: none;
    transition: background-color var(--transition-speed) ease, color var(--transition-speed) ease, border-color var(--transition-speed) ease;
}

/* preloader */
.preloader {
    position: fixed;
    z-index: 999999;
    background: var(--color0);
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    width: 100%;
}

/* preloader */

.h2 {
    -webkit-transform: rotate(60deg);
    transform: rotate(60deg);
}

.h3 {
    -webkit-transform: rotate(-60deg);
    transform: rotate(-60deg);
}


* {
    margin: 0;
    padding: 0;
    user-select: none;
}

.alerte {
    position: relative;
    width: 96%;
    background: #001d10;
    padding: 2% 2%;
    display: flex;
    justify-content: space-between;
    color: var(--color0);
    letter-spacing: 1.5px;
    font-size: 15px;
    margin-bottom: 30px;
    align-items: flex-start;
    border-radius: var(--border-radius);
    gap: 2vw;
}

.hidden {
    display: none;
}

a.fermer {
    font-size: 22px;
    cursor: pointer;
    color: var(--color2);
}

a.fermer i {
    background: var(--color3);
    color: var(--color0);
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 18px;
}

.description p {
    padding: 0 2vw;
    font-size: 13px;
}

.item-group {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 20px;
}

.item-group .item {
    padding: 0;
    display: flex;
    background: linear-gradient(0deg, #0d0d0d94, #8640031f);
    backdrop-filter: blur(15px);
    border-radius: var(--border-radius);
}

.item-group .item .btn {
    margin: 4vh 2vw;
}

.item-group .item ul {
    padding: 0vw 3vw 2vw 3vw;
    font-weight: 400;
    line-height: 2;
}

.item-group .item ul li::marker {
    color: var(--color1);
}

.item .content span.position {
    font-weight: 400;
    letter-spacing: 2px;
    font-size: 15px;
    color: var(--color2);
}

.item .content span.name a {
    color: var(--color0);
    font-weight: 300;
    text-transform: uppercase;
    text-align: center;
}

.item .content {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px;
    background: var(--color4);
    min-height: 7vh;
    justify-content: center;
}

.item-img {
    height: 45vh;
    overflow: hidden;
}

.item-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all .3s linear;
}

.item-img:hover img {
    transform: scale(1.5);
}

.slick-dots {
    width: 100%;
    bottom: -65px;
}

.slideshow-text .item {
    height: 400px;
}

.item small {
    letter-spacing: 4px;
    /* border-bottom: 1px solid #eee; */
    width: 100%;
    font-size: 2em;
}

.item-group .item small {
    font-size: 22px;
    letter-spacing: 1px;
    display: block;
}

.item-group .item h3 small {
    display: none;
}

.btn-group {
    position: relative;
    display: flex;
    gap: 15px;
}

.item-content .btn-group {
    margin-top: 2em;
}

form .btn-group {
    align-items: center;
    justify-content: space-between;
}

form .btn-group span {
    letter-spacing: 1px;
    font-size: 14px;
}

.banner-intern .btn-group {
    margin-top: 2vh;
}

.btn-group .btn {
    background: var(--color1);
    color: var(--color0);
    border: 0;
}

.btn-group .btn:nth-child(2) {
    background: #ffffff1c;
    backdrop-filter: blur(10px);
}

.btn-group .btn:hover {
    background: var(--color3);
}

.item.slick-slide {
    display: flex;
    flex-direction: column;
    gap: 30px;
    min-height: 50vh;
}

.item.slick-slide small {
    border-bottom: 1px solid #ffffff1c;
    padding-bottom: 10px;
    letter-spacing: 6px;
    font-size: 14px;
    text-transform: uppercase;
    font-family: var(--font);
}

.navbar-fixed .infos {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 60px;
}

.navbar-fixed .infos i {
    margin-right: 7px;
}

.navbar-fixed .rs {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
}

.navbar-fixed .rs a i {
    color: var(--color0);
}

.navbar-fluid {
    display: flex;
    justify-content: space-between;
    width: 80%;
    position: relative;
    align-items: center;
    padding: 10px 5%;
}

.navbar-fixed {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-around;
    flex-direction: row;
    background: var(--color1);
    height: 100px;
    position: relative;
    display: none;
}

.fixed .navbar-fixed {
    display: none;
}

.input-group {
    grid-gap: 15px;
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.input-group input {
    display: inline-block;
    width: calc(100% - 40px);
}

input:focus,
textarea:focus {
    outline: none;
    background: #fccc9c1a !important;
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
    right: 60px !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 50%;
    background: var(--hover);
}

.swiper-button-next,
.swiper-button-prev {
    opacity: .4;
    transition: all .3s linear;
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
    opacity: 1;
}

.custom-package {
    box-shadow: 4px 4px 50px #00000017;
    display: flex;
    justify-content: space-between;
    padding: 4%;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    /* fallback for old browsers */
    /* Chrome 10-25, Safari 5.1-6 */
    background: var(--color2);
    /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
    border-radius: var(--border-radius);
}

.custom-package .btn {
    background: var(--color4);
}

a {
    text-decoration: none;
    color: var(--color1);
}

a.seemore {
    font-size: 20px;
    margin: 12px 0;
}

ul.social a {
    opacity: .5;
}

ul.social a:hover {
    opacity: 1;
    color: var(--color1);
}

a.btn-rs:hover i {
    color: var(--color2);
}

a.logo {
    display: flex;
    align-items: center;
    justify-content: center;
}

body {
    font-family: var(--font);
    color: var(--color0);
    letter-spacing: var(--letter-spacing);
    font-size: 16px;
    position: relative;
    top: 0px !important;
    line-height: 1.7;
    font-weight: 200;
    letter-spacing: 0.7px;
    user-select: none;
}

span.name {
    text-align: center;
    font-size: 20px;
}

.text-group {
    line-height: 2;
}

.title {
    position: relative;
    margin-bottom: 50px;
    text-align: center;
}

.title.left {
    text-align: left;
}

.title.left::before {
    left: 0;
    transform: translate(0);
}

.title p {
    color: var(--light);
    line-height: 2;
}

.title:before {
    content: "";
    position: absolute;
    width: 50px;
    height: 1px;
    background: var(--color2);
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
}

.newslist aside .title::before {
    display: none;
}

.newslist aside .container .sticky h2::before {
    display: none;
}

.text-bloc {
    width: 50%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--color1);
    font-family: var(--font);
}

h2 {
    font-size: 3em;
}

h3 {
    font-size: 1.75em;
}

.item-group .item h3 {
    color: var(--color2);
    border-bottom: 0px solid #ff6f0f2b;
    padding: 4vh 2vw;
    text-align: left;
}

h4 {
    font-size: 1.5em;
}

h5 {
    font-size: 1.2em;
}

h6 {
    font-size: 1em;
}

.btn,
a.btn,
a.devis {
    padding: 15px 30px;
    background: #ffffff14;
    backdrop-filter: blur(10px);
    transition: all .3s linear;
    text-decoration: none;
    -webkit-text-wrap: nowrap;
    -O-text-wrap: nowrap;
    -moz-text-wrap: nowrap;
    text-wrap: nowrap;
    font-size: 16px;
    display: flex;
    align-items: center;
    gap: 15px;
    width: fit-content;
    font-weight: 300;
    letter-spacing: 1.5px;
    border-radius: var(--radius);
    color: var(--color0);
    border: 0;
    box-shadow: 0px 0px 10px #00000036;
    cursor: pointer;
}

a.devis {
    font-size: 14px;
    border: 0;
    color: var(--color0);
    padding: 10px 20px;
    letter-spacing: 2px;
    font-weight: 400;
    /* display: none; */
    background: var(--color1);
}

a.btn i {
    padding-left: 2px;
    transition: all .3s linear;
    opacity: .8;
}

a.btn:hover i {
    padding-left: 4px;
}

a.btn:hover,
.btn:hover,
a.devis:hover,
section#advice .btn:hover {
    background-color: var(--color3);
    color: var(--color0);
    opacity: 1;
}

a.btn-more {
    padding: 8px 16px;
    margin: 15px 0;
    font-size: 16px;
}

section {
    padding: 4% 15% 4%;
    position: relative;
    overflow-x: clip;
}

section#atout {
    display: flex;
    gap: 3em;
}

section#contact {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4vw;
}

section#contact img {
    width: 100%;
    height: 100%;
}

section#contact .left {
    display: flex;
    align-items: center;
    justify-items: center;
}

.contact-container {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: stretch;
    overflow: hidden;
}

section#contact .right #form {
    display: flex;
    flex-direction: column;
    grid-gap: 15px;
    background: transparent;
    padding: 6%;
    border: 1px solid #fff5ea1a;
    border-radius: var(--border-radius);
}

section#contact .right #form .btn {
    width: fit-content;
    display: block;
    padding: 20px 40px;
    margin-top: 2vh;
    float: right;
    align-self: flex-end;
    border: 2px solid #fc650052;
}

button#Submitbutton[disabled="true"] {
    pointer-events: none;
    opacity: .5;
}

section#contact .right #form input,
section#contact .right #form textarea {
    padding: 15px 20px;
    font-size: 20px;
    letter-spacing: 1px;
    border: none;
    background: var(--bg-light);
    color: var(--color0);
    border-radius: var(--border-radius);
}

section#contact .item {
    display: flex;
    grid-gap: 20px;
    align-items: flex-start;
    margin-bottom: 2rem;
}

section#contact .item i {
    font-size: 30px;
    padding-top: 10px;
    color: var(--color2);
}

section#contact .item p {
    display: flex;
    flex-direction: column;
    font-size: 20px;
    letter-spacing: 1.5px;
}

section#contact .item p span:nth-child(1) {
    font-weight: 500;
    letter-spacing: 1px;
    font-size: 20px;
}

section#contact .item img {
    width: 50px;
}

section#contact .title {
    margin-bottom: 4rem;
}

.rgpd {
    font-size: 10px;
    font-weight: 400;
}

section#history {
    display: flex;
    flex-direction: column;
    align-items: center;
    grid-gap: 30px;
    line-height: 1.7;
    color: var(--color0);
    background: var(--color3);
}

section#history .gallery {
    display: flex;
    grid-gap: 20px;
}

section#history .gallery .img-bloc img {
    transition: all .3s linear;
}

section#history .gallery .img-bloc:hover img {
    transform: scale(1.2);
}

section#history .title h2 {
    color: var(--color2);
}

section#history .container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 30px;
    padding-bottom: 2rem;
    border-bottom: 1px solid #eeeeee1c;
    margin-bottom: 2rem;
    text-align: justify;
}

section#service {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding-top: 2%;
    padding-bottom: 2%;
}

section#service .title {
    text-align: center;
}

section.about .title:before,
section.about\ atout .title:before,
section#contact .title::before {
    left: 0;
    transform: translateX(0%);
}

section#package {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    text-align: center;
    padding: 0% 15% 2%;
}

section#package .container .package-item {
    box-shadow: 10px 10px 50px #0000000f;
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
    min-height: 400px;
    grid-gap: 30px;
    width: 400px;
    background: var(--color0);
    border: 1px solid #01aeea40;
}

section#package .container .package-item:nth-child(2) {
    background: var(--color1);
    color: var(--color0);
}

section#package .container {
    display: flex;
    padding: 3rem 0;
    grid-gap: 25px;
    justify-content: space-between;
    align-items: stretch;
}

section#steps {
    gap: 60px;
    background-attachment: fixed;
    padding: 4% 15% 5%;
    background-size: cover;
}

section#steps .right {
    width: 100%;
    position: relative;
    overflow: hidden;
    max-height: 600px;
    display: none;
}

section#steps .right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
}

section#steps .container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-areas:
        "item1 item2 item3" "item4 item5 item3";
    grid-gap: 20px;
}

section.about\ atout {
    display: flex;
    grid-gap: 50px;
    padding: 5% 10% 5%;
}

section.about\ atout:before {
    content: "";
    position: absolute;
    width: 18%;
    height: 40%;
    background: linear-gradient(to right, #fc6500, #ff6f0f);
    top: 0%;
    left: 5%;
    z-index: 0;
    border-radius: 0% 61% 40% 70% / 59% 50% 51% 47%;
    backdrop-filter: blur(10px);
    animation: rotate 100s infinite;
    opacity: .2;
}


/* start header style */

header {
    height: 100vh;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas: "navbar" "banner";
    grid-template-rows: 100px 5fr;
    position: relative;
    overflow: hidden;
}

header.header-intern {
    height: 52vh;
}

header.header-intern:before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, #000000d4, #000000b5, #000000ba);
    z-index: 0;
    backdrop-filter: blur(0px);
}

nav.navbar {
    display: flex;
    justify-content: space-evenly;
    background: transparent;
    align-items: center;
    color: var(--color0);
    z-index: 999;
    height: 100px;
    position: fixed;
    width: 100%;
    transition: all .3s linear;
    flex-direction: column;
}

nav.navbar.fixed {
    background: var(--color4);
}

#menubar,
#menu {
    display: none;
}

.nav-right-icons {
    display: none;
}

.nav-actions {
    display: flex;
    align-items: center;
    gap: 15px;
}

.fixed {
    margin: 0 !important;
    width: 100% !important;
    left: 0 !important;
    transform: translate(0) !important;
}

nav.navbar a.logo img {
    width: 200px;
}

nav.navbar ul.menu-list {
    display: flex;
    list-style: none;
    align-items: center;
    position: relative;
}

nav.navbar ul.menu-list li {
    margin: 10px 15px;
    position: relative;
}

nav.navbar ul.menu-list li a {
    color: var(--color0);
    text-decoration: none;
    transition: all .3s linear;
    font-size: 16px;
    font-family: var(--font);
    letter-spacing: 2px;
    font-weight: 400;
}

nav.navbar ul.menu-list li a i {
    font-size: 15px;
    margin: 0px;
}



nav.navbar ul.submenu {
    background: var(--color4);
    list-style: none;
    position: absolute;
    top: 54px;
    visibility: hidden;
    width: 230px;
    transition: all .3s linear;
}

nav.navbar ul.submenu li {
    border-bottom: 1px solid #ffffff54;
    margin: 0;
    padding: 10px 15px;
}

nav.navbar ul.submenu li:last-child {
    border: none;
}

nav.navbar a.tel {
    text-decoration: none;
    color: var(--color0);
    word-spacing: 2px;
}

nav.navbar a.tel i {
    margin-right: 10px;
    color: var(--color2);
}

.banner-mobile {
    display: none;
}

.banner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1.5;
    padding: 0 10%;
    text-align: center;
    color: var(--color0);
    position: relative;
    height: 100vh;
}

.banner-intern {
    background: url(../assets/banner/default.jpg);
    height: inherit;
    background-size: cover;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0% 12% 0;
    background-position: center;
    flex-direction: column;
    line-height: 1.2;
}

.banner-intern p {
    position: relative;
    margin: 2vh;
    font-size: 18px;
    font-weight: 200;
    letter-spacing: 1.5px;
}

.banner-intern.contact {
    background: url(../assets/banner/contact.jpg);
    background-size: cover;
    background-position: center;
}

.banner-intern h1 {
    font-size: 4rem;
    color: var(--color0);
    z-index: 9;
    position: relative;
    text-align: center;
    line-height: 1.2;
}

.banner p {
    padding: 25px;
    font-size: 22px;
}

.banner h1 {
    font-size: 4rem;
    line-height: 1.2;
    color: var(--color0);
}

body.light-theme .banner h1,
body.light-theme .banner-intern h1 {
    color: var(--color4);
}

.banner a.scroll {
    position: relative;
    color: var(--color0);
    top: 70px;
    background: #f1f9ff2e;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
}

.banner a.scroll i {
    z-index: 2;
    position: relative;
    font-size: 25px;
}

.banner a.scroll::before {
    content: "";
    position: absolute;
    width: 80px;
    height: 80px;
    background: #ffffffa1;
    border-radius: 50%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 0;
    animation: zoom 2s infinite alternate-reverse;
    transition: all .3s linear;
}

@keyframes zoom {
    from {
        transform: translate(-50%, -50%) scale(0);
        opacity: 0;
    }

    to {
        transform: translate(-50%, -50%) scale(1);
        opacity: 1;
    }
}

header video {
    position: absolute;
    z-index: -1;
    width: 100%;
}


/* end header style */


/* start main style */
/* accordion */
.accordion {
    display: flex;
    width: 100%;
    justify-content: space-between;
    gap: 30px;
}

.titre-comment {
    margin-bottom: 45px;
    margin-top: 40px;
    text-align: center;
}

.accordion .comment_part1 {
    width: 50%;
}

.accordion .comment_part2 {
    width: 50%;
}

.accordion .accordion-item {
    margin-bottom: 20px;
    padding: 0 0px 0px 0px;
    position: relative;
    border: 1px solid #ffffff21;
    color: var(--color0);
    border-radius: var(--border-radius);
}

.accordion .accordion-item button[aria-expanded='true'] {
    border-bottom: 1px solid #02365f36;
    background: var(--color1);
}

.accordion button {
    position: relative;
    display: block;
    text-align: left;
    width: 100%;
    padding: 10px 20px;
    border: none;
    background: none;
    outline: none;
}

.accordion button:hover,
.accordion button:focus {
    cursor: pointer;
}

.accordion button:hover::after,
.accordion button:focus::after {
    cursor: pointer;
    color: #03b5d2;
    border: 1px solid #03b5d2;
}

.accordion button .accordion-title {
    padding: 12px 1.5em 12px 3em;
    width: 100%;
    text-align: left;
    display: block;
    font-family: var(--font);
    text-transform: initial;
    font-size: 16px;
    letter-spacing: 1px;
    color: var(--color0);
    font-weight: 400;
    letter-spacing: 1px;
}

span.numerotation {
    position: absolute;
    top: 50%;
    left: 20px;
    font-family: var(--font);
    font-size: 25px;
    opacity: 1;
    transform: translateY(-50%);
    font-weight: 900;
    color: var(--color2);
}

.accordion button .icon {
    display: inline-block;
    position: absolute;
    top: 20px;
    right: 25px;
    width: 22px;
    height: 22px;
    border: 1px solid;
    border-radius: 22px;
    opacity: 1;
    color: var(--color1);
}

.accordion button .icon::before {
    display: block;
    position: absolute;
    content: '';
    top: 10px;
    left: 6.5px;
    width: 10px;
    height: 2px;
    background: currentColor;
}

.accordion button .icon::after {
    display: block;
    position: absolute;
    content: '';
    top: 6px;
    left: 10px;
    width: 2px;
    height: 10px;
    background: currentColor;
}

.accordion button[aria-expanded='true'],
.accordion button[aria-expanded='true'] span.numerotation {
    color: var(--color0);
}

.accordion button[aria-expanded='true'] .icon::after {
    width: 0;
}

.accordion button[aria-expanded='true']+.accordion-content {
    opacity: 1;
    max-height: 12em;
    transition: all 200ms linear;
    will-change: opacity, max-height;
    padding: 0 20px;
    font-size: 18px;
}

.accordion .accordion-content {
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: opacity 200ms linear, max-height 200ms linear;
    will-change: opacity, max-height;
}

.accordion .accordion-content p {
    margin: 1em 0 2em;
    text-align: left;
    font-size: 16px;
    line-height: 2;
}

/* accordion */
main {
    z-index: 1;
    background: var(--black);
}

.bloc {
    display: flex;
    align-items: flex-start;
    grid-gap: 15px;
    background: #1111113b;
    /* box-shadow: 5px 5px 10px #7f7f7f1a; */
    padding: 20px;
    position: relative;
    /* flex-direction: column; */
    justify-content: space-between;
    backdrop-filter: blur(5px);
    width: 33%;
}

section.portfolio {
    display: flex;
    gap: 60px;
    padding: 4% 15% 2%;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

section.portfolio .item-group {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 350px 350px;
    grid-gap: 2.5vw;
    width: 100%;
    grid-template-areas:
        "item1 item2 item3"
        "item4 item5 item6";
}

section.portfolio .item-website {
    position: relative;
    overflow: hidden;
    border-radius: var(--border-radius);
}

section.portfolio .item-website:nth-child(1) {
    grid-area: item1;
}

section.portfolio .item-website:nth-child(2) {
    grid-area: item2;
}

section.portfolio .item-website:nth-child(3) {
    grid-area: item3;
}

section.portfolio .item-website:nth-child(4) {
    grid-area: item4;
}

section.portfolio .item-website:nth-child(5) {
    grid-area: item5;
}


section.portfolio .item-website a {
    position: absolute;
    inset: 0;
    background: #111111bd;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: all .5s cubic-bezier(0.86, -0.18, 0.2, 0.69);
    font-size: 18px;
    text-transform: uppercase;
    letter-spacing: 2px;
    width: 100%;
    backdrop-filter: blur(4px);
    border-radius: 0;
}

section.portfolio .item-website:hover a {
    opacity: 1;
}

section.portfolio .item-website a i {
    position: relative;
    top: -10px;
    font-size: 13px;
    color: var(--color2);
    padding-left: 30px;
    opacity: 0;
    transition: all .5s linear .3s;
}

section.portfolio .item-website:hover a i {
    padding-left: 10px;
    opacity: 1;
}

section.portfolio .item-website img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

section.portfolio .title {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    height: 100%;
    margin-bottom: 15px;
}

section#steps .container .bloc {
    transition: all .3s linear;
    color: var(--light);
    display: flex;
    justify-content: center;
    align-items: flex-start;
    width: auto;
    padding: 20px;
    flex-direction: column;
    background: var(--bg-light);
    box-shadow: 2px 2px 25px #0000002e;
    border-radius: var(--border-radius);
}

section#steps .container .bloc img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

section#steps .container .bloc:nth-child(1) {
    grid-area: item1
}

section#steps .container .bloc:nth-child(2) {
    grid-area: item2
}

section#steps .container .bloc:nth-child(3) {
    grid-area: item3;
    padding: 0;
    background: var(--color2);
}

section#steps .container .bloc:nth-child(4) {
    grid-area: item4
}

section#steps .container .bloc:nth-child(5) {
    grid-area: item5
}

section#steps .container .bloc:hover {
    transform: translateY(-10px);
}

section#steps .container .bloc:nth-child(3):hover {
    transform: translateY(0px);
}

section#steps .container .bloc:hover h3 {
    color: var(--color0);
}

.bloc .description {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    grid-gap: 2px;
    text-align: left;
}

.bloc .description h3 {
    margin-bottom: 5px;
    font-family: var(--font);
    font-size: 18px;
    line-height: 1.5;
    color: var(--color0);
    text-align: left;
}

.bloc .step i {
    right: 9px;
    top: 0px;
    opacity: 1;
    font-size: 50px;
    color: var(--color2);
}


.bloc img {
    width: 100px;
}

.bloc span {
    font-size: 16px;
}

.custom-package h4 span {
    display: block;
    font-size: 18px;
    text-align: center;
    font-weight: 400;
    font-family: var(--font);
    padding: 2px;
    letter-spacing: 1px;
    color: var(--color0);
}

.custom-package h4 {
    text-align: center;
    font-size: 3rem;
    color: var(--color0);
    font-family: var(--font);
}

section#package .container .package-item .features {
    display: flex;
    flex-direction: column;
    grid-gap: 4px;
    align-items: center;
}

section#package .container .package-item:nth-child(2) a.btn {
    background-color: #1e93e9;
}

section#package .container .package-item:nth-child(2) a.btn:hover {
    background: var(--color2);
}

section#package .container .package-item .features ul li {
    border-bottom: 1px solid #0367b047;
    list-style: none;
    padding: 20px;
    font-size: 18px;
}

section#package .container .package-item:nth-child(2) .features ul li {
    border-color: #ffffff40;
}

section#package .container .package-item .features ul li:last-child {
    border: none;
}

section#package .container .package-item .price h4 {
    font-size: 35px;
    color: var(--color3);
    font-family: var(--font);
}

section#package .container .package-item:nth-child(2) .price h4 {
    color: var(--color0);
}

section#package .container .package-item .price sup {
    font-size: 18px;
    margin: 0 10px;
    font-weight: 100;
}

section#package .container .package-item .top {
    line-height: 1.4;
    font-size: 20px;
}

section#package .container .package-item .top h3 {
    font-size: 30px;
}

section.about {
    display: flex;
    padding: 5% 15% 5%;
    grid-gap: 58px;
}

.scrollbars {
    height: 55vh;
    overflow-y: scroll;
    padding-right: 20px;
    text-align: justify;
}

.scrollbars::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgb(194, 194, 194);
    background-color: #F5F5F5;
    cursor: pointer;
}

.scrollbars::-webkit-scrollbar {
    width: 4px;
    background-color: #F5F5F5;
    cursor: pointer;
}

.scrollbars::-webkit-scrollbar-thumb {
    cursor: pointer;
    background-color: var(--color1);
    border: 2px solid var(--color1);
}

section.about {
    padding-top: 7%;
    padding-bottom: 4%;
}

section.about>div {
    background: linear-gradient(0deg, #0d0d0d94, #8640031f);
    padding: 40px;
    border-radius: var(--border-radius);
    backdrop-filter: blur(10px);
}

section.about .title,
section.about\ atout .title,
section#contact .title {
    text-align: left;
}

.img-bloc {
    width: 50%;
    overflow: hidden;
    position: relative;
    border-radius: var(--border-radius);
}

.img-bloc img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.about .img-bloc img {
    object-fit: contain;
}

.title span {
    color: var(--color2);
    font-weight: 600;
}

.jumbotron span {
    line-height: 2;
}

.title h2 {
    line-height: 1.2;
    padding: 10px 0 10px;
    color: var(--color0);
    position: relative;
    margin-bottom: 0px;
    font-weight: 800;
    font-size: 50px;
}

.jumbotron img {
    width: 30px;
    display: none;
}

.jumbotron {
    background: var(--bg-light);
    padding: 20px 20px;
    display: flex;
    align-items: flex-start;
    grid-gap: 14px;
    margin: 18px 0px 0px;
    box-shadow: 0px 4px 60px #0000000d;
    text-align: left;
    font-size: 16px;
    backdrop-filter: blur(4px);
    border-radius: var(--border-radius);
}

.slideshow {
    position: absolute;
    z-index: 1;
    top: 0px;
    left: 0px;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
}

.slideshow .slider {
    width: 100vw;
    height: 100vw;
    z-index: 2;
}

.slideshow .slider * {
    outline: none;
}

.item-content {
    position: absolute;
    top: 50%;
    left: 10%;
    width: 60%;
    text-align: left;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 15px;
    transform: translateY(-50%);
    text-wrap: balance;
}

.item-content h2,
.item-content h1 {
    color: var(--color0);
    font-size: 4em;
    line-height: 1.2;
    text-transform: uppercase;
}

.slideshow .slider .item {
    height: 100vh;
    width: 100vw;
    position: relative;
    overflow: hidden;
    border: none;
}

.slideshow .slider .item::before {
    content: "";
    position: absolute;
    inset: 0px;
    background: #000000ad;
    z-index: 1;
}

.slideshow .slider .item .text {
    display: none;
}

.slideshow .slider .item img {
    min-width: 100%;
    min-height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    object-fit: cover;
    height: 100%;
    object-position: center;
}

.slideshow .slick-dots {
    position: absolute;
    z-index: 100;
    width: 34px;
    height: auto;
    inset: 90vh 40px auto auto;
    color: rgb(255, 255, 255);
    display: flex;
    top: 40vh;
    right: 11%;
    flex-direction: column;
    gap: 20px;
    justify-content: center;
    align-items: center;
}

.slideshow .slick-dots li {
    display: block;
    width: 100%;
    height: auto;
}

.slideshow .slick-dots li button {
    position: relative;
    width: 40px;
    height: 40px;
    text-align: center;
    border: 1px solid #ffffff1c;
    border-radius: 50%;
    transition: all .1s linear;
}

.slideshow .slick-dots li.slick-active button,
.slideshow .slick-dots li button:hover {
    border: 2px solid var(--color2);
}

.slideshow .slick-dots li button::before {
    content: "";
    background: var(--color0);
    color: rgb(255, 255, 255);
    height: 5px;
    width: 5px;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: all 0.3s ease-in-out 0s;
    opacity: 1;
}

.slideshow .slick-dots li.slick-active button::before,
.slideshow .slick-dots li button:hover:before {
    background: var(--color2);
}

.slideshow.slideshow-right {
    left: 0px;
    z-index: 1;
    width: 50vw;
    pointer-events: none;
}

.slideshow.slideshow-right .slider {
    left: 0px;
    position: absolute;
}

.slideshow-text {
    position: absolute;
    top: 60vh;
    left: 0%;
    transform: translate(0%, -50%);
    z-index: 100;
    font-size: 20px;
    width: 60vw;
    text-align: left;
    color: rgb(255, 255, 255);
    font-weight: 100;
    display: block;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 5% 0% 10% 10%;
}

.slideshow-text h1 {
    text-transform: inherit;
    padding: 0px;
    margin: 0px;
    line-height: 1.2;
    font-family: var(--font);
    /* display: none; */
    text-wrap: balance;
}

.slideshow-text span {
    font-size: 18px;
    letter-spacing: 2px;
    line-height: 1.5;
    display: block;
    margin: 0px 0;
    text-align: left;
    padding: 0px 0% 30px 0;
    font-weight: 200;
}

.slideshow-text button {
    display: block;
    text-align: center;
    left: 50%;
    position: relative;
    transform: translate(-50%);
    padding: 15px 30px;
    border: 1px solid var(--color1);
    border-radius: 5px;
    font-size: 16px;
    color: var(--color1);
    cursor: pointer;
    transition: all 0.3s linear 0s;
    margin-top: 40px;
    overflow: hidden;
    font-family: var(--font);
    letter-spacing: 5px;
    text-transform: uppercase;
    background: transparent;
}

.slideshow-text button:hover {
    color: var(--color0);
}

.slideshow-text button::before {
    content: "";
    position: absolute;
    inset: 0px;
    background: var(--color1);
    z-index: -1;
    transform: translateY(60px);
    border-radius: 31% 69% 70% 30% / 48% 29% 71% 52%;
    transition: all 0.5s ease-in-out 0s;
}

.slideshow-text button:hover::before {
    transform: translateY(0px);
    border-radius: 5px;
}

/* start slick slider*/

.img-area {
    /* width: 70%; */
    position: relative;
    padding: 2% 15%;
    text-align: center;
}

.img-area .slick-next {
    right: 30px;
    font-size: 30px;
}

.img-area .slick-prev {
    left: 30px;
    z-index: 10;
}

.slick-prev,
.slick-next {
    top: 30%;
}

.slick-prev:before,
.slick-next:before {
    font-size: 50px;
    color: var(--color1);
}

section#serice {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

/* page service */
section#service-list {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 40px;
}

section#service-list label.filterChecked {
    background: var(--color1);
}

section#service-list .checkbox label {
    background: var(--color4);
    padding: 10px 20px;
    font-size: 16px;
    cursor: pointer;
    transition: all .3s linear;
    display: block;
    position: relative;
    border-radius: var(--radius);
}

section#service-list .checkbox label i {
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 18px;
    display: none;
}

section#service-list label.filterChecked {
    background: var(--color1);
    color: var(--color0);
}

section#service-list .filter {
    display: flex;
    /* background: #0000000a; */
    padding: 0;
    grid-gap: 10px;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

section#service-list .filter h4 {
    font-size: 30px;
    margin-bottom: 15px;
}

section#service-list .filter input {
    display: none;
}

section#service-list .gallery .item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all .3s linear;
}

section#service-list .gallery .item:hover img {
    transform: scale(1.2);
}

section#service-list .gallery .item span {
    position: absolute;
    inset: 0;
    background: #000000bd;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 32px;
    letter-spacing: 2px;
    color: var(--color0);
    font-weight: 900;
    transition: all .3s linear;
    height: 100%;
    transform: translate(100%);
    padding: 10px 20px;
}

section#service-list .gallery .item:hover span {
    transform: translate(0);
}

section#service-list .gallery {
    grid-gap: 20px;
    padding: 0;
    justify-content: center;
    align-items: center;
    height: 55vh;
}

section#service-list .gallery .item {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 100%;
}

section#service-list .service-container {
    overflow: hidden;
    font-size: 16px;
    text-align: justify;
}

.service-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 3vw;
}

section#service-list .service-container .text-content {
    line-height: 2;
}

section#service-list .service-container ul li {
    list-style: disc !important;
    font-style: italic;
}

section#service-list .service-container ul {
    padding: 10px 20px 10px 45px;
}

section#service-list .service-container .service {
    flex-direction: column;
}

section#service-list .service-container .service h2,
section#service-list .service-container .service h3 {
    color: var(--color2);
    padding: 20px 0 10px;
    line-height: 1.2;
    text-align: left;
}

section#service-list .service-container .service h3 {
    font-size: 35px;
    line-height: 1.2;
}

section#service-list .service-container h3 {
    font-size: 48px;
}

/* page service */
.service-list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 30px;
    padding: 1rem 0 0rem;
}

.item-service {
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
}

.item-service:hover img {
    transform: scale(1.2);
}

.item-service .img-bloc {
    width: 100%;
    height: 355px;
    overflow: hidden;
    position: relative;
}

.item-service .img-bloc img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all .3s linear;
    position: relative;
}

.item-service .btn {
    margin: 10px 0 0 0;
}


.item-service .description {
    display: flex;
    flex-direction: column;
    text-align: left;
    line-height: 1.7;
    padding: 20px;
    position: relative;
    justify-content: center;
    bottom: 4vh;
    left: 50%;
    background: var(--color4);
    color: var(--color0);
    transition: all .3s linear;
    gap: 5px;
    transform: translate(-50%);
    text-align: center;
    align-items: center;
    width: 80%;
    border-radius: var(--border-radius);
}

.item-service:hover .description {
    bottom: 10%;
    background: var(--color2);
}

.item-service .description p {
    font-size: 14px;
    line-height: 1.7;
    padding: 0;
}

.item-service .description h4 {
    font-size: 25px;
    color: var(--color0);
}


/* end slick slider*/

/* filter section */
/* =======================================
The juicy stuff
======================================= */

.filter-section {
    transition: 1.3s;
    padding-top: 5%;
}

.controls ul {
    text-align: center;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
}

.controls ul li {
    color: var(--color0);
    opacity: 1;
    background: var(--color4);
    display: inline;
    padding: 10px 16px;
    margin: 0 5px;
    cursor: pointer;
    -webkit-transition: 0.2s;
    -moz-transition: 0.2s;
    -o-transition: 0.2s;
    transition: all .3s linear;
    font-size: 16px;
    width: 100px;
    border-radius: var(--radius);
    font-weight: 300;
    letter-spacing: 1px;
}

.controls ul li:hover,
.controls ul li.active {
    text-decoration: underline solid white 2px;
    opacity: 1;
    color: var(--color0);
    background: var(--color1);
    text-decoration: none;
}

.clearfix:after {
    display: table;
    content: " ";
    clear: both;
}

.item-grid {
    padding: 1% 0%;
    margin-top: 50px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 30vh;
    gap: 2rem;
}

.item-grid .item {
    display: none;
    overflow: hidden;
    background: #1d1d1d;
    position: relative;
    border-radius: var(--border-radius);
}

.item-grid .item a {
    position: absolute;
    inset: 0;
    background: #000000bf;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-family: var(--font);
    gap: 20px;
    z-index: 9;
    letter-spacing: 1px;
    transform: scale(0);
    transition: all .3s linear;
    width: auto;
    border-radius: var(--border-radius);
}

.item-grid .item:hover a {
    transform: scale(1);
    border: 0;
}

.item-grid .item img {
    width: 100%;
    transition: all .3s linear;
    height: 100%;
    object-fit: contain;
}

.item-grid .item.websites img {
    object-fit: cover;
}

.item-grid .item:hover img {
    transform: scale(1.5) rotate(5deg)
}

/* filter section */
section#team {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    grid-gap: 20px;
}

section#team .title {
    display: flex;
    flex-direction: column;
    align-items: center;
}

section#team .container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-gap: 30px;
    width: 100%;
}

section#team h2 {
    padding-bottom: 5px;
    text-align: center;
}


ul.social {
    list-style: none;
    display: flex;
    justify-content: center;
    align-items: center;
    grid-gap: 30px;
    padding: 7px 20px;
    border-top: 1px solid #0000003d;
    border-bottom: 1px solid #ffffff69;
    margin-top: 14px;
    display: none;
}

ul.social a i {
    color: var(--color1);
    font-size: 15px;
    position: relative;
}

section#advice {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: url(../assets/contact.jpg);
    background-size: cover;
    padding: 5% 10% 5%;
    background-attachment: fixed;
    background-position: bottom;
}

section#advice:before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, black, #000000c4, black);
    z-index: 0;
}

section#advice .title:before {
    display: none;
}

section#advice .btn {
    background: var(--color1);
    color: var(--color0);
    border: 0;
    z-index: 1;
}

section#advice .bloc .description h3 {
    font-size: 25px;
    font-family: var(--font);
    color: var(--color0);
}

section#advice .bloc .description span {
    color: var(--light);
    font-size: 16px;
    opacity: 1;
}

section#advice .twice {
    position: relative;
    display: flex;
    grid-gap: 30px;
    padding: 5% 20% 0;
    justify-content: center;
}

section#advice .twice .bloc {
    width: 400px;
    padding: 30px 40px;
    background: #19191975;
    border-radius: var(--border-radius);
    transition: all .3s linear;
}

section#advice .twice .bloc:hover {
    background: var(--color1);
    transform: translateY(-10px);
}

section#advice .title {
    text-align: center;
    padding: 0 10%;
}

section#advice .title p {
    font-size: 18px;
}

section#advice .title a.btn {
    top: 70px;
    position: relative;
}

section#advice .title h2 {
    color: var(--color0);
}

section.news {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    background: var(--white);
    padding-bottom: 4%;
}

section.news h3.new-title {
    font-size: 18px;
    text-transform: math-auto;
    font-weight: 200;
    line-height: 1.5;
    color: var(--color0);
    margin: 5px 0 20px;
    letter-spacing: 2px;
    text-wrap: balance;
}

.newslist {
    display: grid;
    grid-template-columns: 2fr 1fr;
    padding: 6em 10% 5em;
    grid-gap: 2vw;
}

.newslist aside {
    position: sticky;
    display: flex;
    padding: 2em 2em;
    background: var(--color4);
    box-shadow: 10px 10px 100px #0000000f;
    border-radius: var(--border-radius);
}

.sticky {
    position: sticky;
    display: flex;
    flex-direction: column;
    gap: 40px;
    top: 0em;
}

.sticky {
    position: sticky;
    top: 7em;
}

.newslist aside .container .sticky h2 {
    border-bottom: 1px solid #e9e9e91c;
    padding-bottom: 5px;
    font-size: var(--body-size);
    color: var(--color0);
    opacity: 1;
    letter-spacing: 1px;
    text-align: left;
    margin: 0;
}

.newslist aside .container .recent-posts {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.newslist aside .container .recent-posts .item .img {
    position: relative;
    overflow: hidden;
    border-radius: var(--border-radius);
}

.newslist aside .container .recent-posts .item .date {
    font-size: 12px;
    opacity: 1;
}

.newslist aside .container .recent-posts .item {
    border-radius: var(--border-radius);
    display: grid;
    grid-template-columns: 1fr 2fr;
    grid-template-rows: 100px;
    grid-gap: 15px;
    margin-bottom: 0px;
}

.newslist aside .container .recent-posts .item h3 {
    font-weight: 400;
    font-size: 15px;
    letter-spacing: 1px;
    text-wrap: balance;
    color: var(--color0);
    line-height: 1.3;
    text-align: left;
    margin: 5px 0;
}

.newslist aside .container .recent-posts .item .img img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    transition: all .3s linear;
}

.newslist aside .container .recent-posts .item:hover img {
    transform: scale(1.5);
}

.newslist aside .container .sujets {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.newslist aside .container .sujets ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    line-height: 2.3;
    padding: 0;
}

.newslist aside .container .sujets ul li a {
    color: var(--color1);
    transition: all .3s linear;
    font-weight: 400;
    padding: 8px 10px;
    font-size: 14px;
    transition: all .3s linear;
    background: transparent;
    text-transform: capitalize;
    letter-spacing: 2px;
    border: 1px solid #ff800036;
    border-radius: var(--border-radius);
}

.newslist aside .container .sujets ul li a:hover {
    color: var(--white);
    background: var(--light);
}

.newslist section.news {
    padding: 0;
    gap: 20px;
    position: relative;
}

.newslist section.news .container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 1vw;
    width: 100%;
}

.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 40px;
    padding: 20px 0;
}

.pagination ul {
    list-style: none;
    padding: 0;
    display: flex;
    gap: 8px;
    font-size: 25px;
}

.pagination li a,
.pagination li span {
    padding: 2px;
    border: 0;
    border-radius: var(--radius);
    text-decoration: none;
    color: var(--color0);
    font-size: 20px;
    background: var(--color4);
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 400;
    cursor: pointer;
}

.pagination li a.active,
.pagination li a:hover {
    background-color: var(--color3);
    color: white;
}

.newslist .item-new {
    width: 100%;
}

.newslist section.news h3.new-title {
    text-transform: uppercase;
    font-weight: 800;
    font-size: calc(var(--title-size)*0.4);
    text-wrap: auto;
}

section.newItem {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    padding: 0;
}

.new-footer {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 30px 0 0;
    border-top: 1px solid #ffffff1f;
    padding-top: 40px;
}

.btn-retour {
    border: 0;
}

.btn-retour:hover {
    color: var(--white);
    background: var(--dark);
}

section.newItem .new-header h3 {
    font-size: 32px;
    font-weight: 900;
    text-transform: uppercase;
    border-bottom: 1px solid #0000000d;
    padding-bottom: 10px;
}

section.newItem h3,
section.newItem h4,
section.newItem h5,
section.newItem h6 {
    text-transform: uppercase;
    line-height: 1.5;
}

section.newItem p {
    line-height: 2;
    text-align: justify;
    font-size: 18px;
}

section.news .title {
    text-align: center;
}

section.news .container {
    display: flex;
    gap: 2%;
    justify-content: space-between;
}

.item-new {
    width: 33%;
    display: flex;
    flex-direction: column;
    border-radius: var(--border-radius);
    overflow: hidden;
    background: var(--color4);
    /* box-shadow: 4px 4px 20px #0000001c; */
}

.img-new {
    height: 350px;
    overflow: hidden;
}


section.newItem .img-new {
    width: 100%;
    height: 40vh;
    border-radius: var(--border-radius);
}

.img-new img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all .3s linear;
}

section.newItem .img-new img {
    object-position: center;
}

.img-new:hover img {
    transform: scale(1.2) rotate(4deg);
    filter: brightness(0.5);
}

.new-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    padding-bottom: 4px;
    width: 100%;
}

.new-header .date {
    letter-spacing: 2px;
    font-weight: 500;
}

.new-body {
    padding: 25px 25px;
    display: flex;
    flex-direction: column;
    position: relative;
}

section.newItem .new-body p {
    font-size: var(--body-size);
    text-align: justify;
}

section.newItem .new-body {
    padding: 0;
}

section.newItem .new-body h2,
section.newItem .new-body h3 {
    line-height: 1.5;
    text-wrap: balance;
    text-transform: math-auto;
}

.new-body .date {
    letter-spacing: 2px;
    font-size: 15px;
    position: relative;
    font-weight: 500;
    color: var(--color1);
}


section#faq {
    display: flex;
    grid-gap: 40px;
    flex-direction: column;
    text-align: center;
    padding: 2% 15% 4%;
}

section#faq .filter {
    display: flex;
    flex-direction: column;
    width: 50%;
    background: #f5f5f5;
    padding: 20px;
}

section#faq .filter label {
    background: var(--color0);
    padding: 20px;
    font-size: 25px;
    margin: 10px;
    font-weight: 100;
    cursor: pointer;
    color: var(--color3);
}

section#faq .filter input {
    display: none;
}

section#faq div.content {
    /* background: aliceblue; */
    display: none;
    padding: 10px 20px;
    font-size: 16px;
}

section#faq input[type='checkbox']:checked+div.content {
    display: block;
}

section#map iframe {
    border: none;
    width: 100%;
}

/* end main style */


/* begin footer style */

footer {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    /* fallback for old browsers */
    /* Chrome 10-25, Safari 5.1-6 */
    background: #000;
    /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
}

footer .bande1 {
    display: flex;
    justify-content: space-between;
    padding: 2% 10%;
    background: var(--color4);
    color: var(--color0);
    font-size: 18px;
    align-items: center;
    grid-gap: 10%;
    text-align: left;
    letter-spacing: 2px;
    font-weight: 300;
}

footer .bande1 #form {
    display: flex;
    justify-content: stretch;
    align-items: stretch;
}

footer .bande1 input {
    padding: 15px 30px;
    width: 100%;
    border: none;
    font-size: 18px;
    letter-spacing: 1px;
    border-radius: var(--radius);
}

footer .bande1 form {
    display: flex;
    gap: 16px;
    width: 50%;
}

footer .bande1 input.btn {
    width: auto;
    background: var(--color4);
    padding: 15px 20px;
    cursor: pointer;
    color: var(--color0);
}

footer .bande1 input:focus {
    outline: none;
}

footer .bande1 input.btn:hover {
    background: var(--color3);
}

footer .bande3 {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    height: auto;
    position: relative;
}

footer .bande3:before {
    content: "";
}

footer .bande3 .item {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    grid-gap: 15px;
    width: 100%;
    padding-bottom: 10px;
}

footer .bande3 .item span {
    display: flex;
    flex-direction: column;
    letter-spacing: 2px;
    font-weight: 300;
}

footer .bande3 .item img {
    width: 20px;
    position: relative;
    top: 4px;
}

footer section:nth-child(2) {
    display: flex;
    justify-content: space-between;
    /* background: var(--color1); */
    padding: 20px 10%;
    color: var(--color0);
    letter-spacing: 1px;
    font-size: 18px;
    align-items: center;
    border-top: 1px solid #ffffff17;
}

footer section:nth-child(2) a {
    display: flex;
    align-items: center;
    justify-content: center;
}

footer section:nth-child(2) p {
    font-size: smaller;
    font-weight: 400;
}

footer section:nth-child(2) img {
    width: 200px;
}

footer section:nth-child(1) {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 20px;
    padding: 3% 10%;
    /* background-color: var(--color4); */
}

footer section:nth-child(1) .group {
    display: flex;
    flex-direction: column;
    border-right: 1px solid #ffffff17;
    padding: 0 40px;
    gap: 5px;
    color: var(--color0);
}

footer section:nth-child(1) .group:nth-child(1) {
    padding: 0;
}

footer section:nth-child(1) .group:last-child {
    border: none;
}

.group .rs {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    grid-gap: 30px;
    margin-top: 15px;
}

.group .rs i {
    color: var(--color0);
}

.group .rs img {
    width: auto;
    height: 25px;
}

footer section:nth-child(1) .group h5 {
    font-size: 22px;
    color: var(--color0);
    padding-bottom: 5px;
    font-family: var(--font);
    font-weight: bold;
}

footer section:nth-child(1) .group ul {
    list-style: none;
}

footer section:nth-child(1) .group ul li a {
    color: var(--color0);
    font-size: 16px;
    line-height: 2;
    transition: all .3s linear;
    font-weight: 300;
}

footer section:nth-child(1) .group ul li a:hover {
    color: var(--color2);
}

nav.navbar ul.menu-list li a:hover,
nav.navbar ul.menu-list li a.active,
footer section:nth-child(1) .group ul li a.active,
footer section:nth-child(1) .group ul li a:hover {
    color: var(--color2);
}

/* .slick-list.draggable{height: 300px !important;} */
/* end footer style */


/* R E S P O N S I V E */


/* 320px ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â 480px: Mobile devices 
481px ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â 768px: iPads, Tablets 
769px ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â 1024px: Small screens, laptops 
1025px ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â 1200px: Desktops, large screens 
1201px and more ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â Extra large screens, TV */

@media (max-width: 1400px) {
    footer .bande1 {
        padding: 2% 5%
    }

    .newslist {
        padding: 8% 5%
    }

    .banner h1 {
        font-size: 3rem;
    }

    .banner {
        padding: 0 15%;
    }

    section.about,
    section,
    section.portfolio {
        padding: 4% 5% 5%;
    }

    section#steps,
    section#advice {
        padding: 10% 5%;
        gap: 2vw;
    }

    .homepage section.about {
        padding-top: 10%;
    }

    section#advice .twice {
        padding: 0 12%;
    }

    footer section:nth-child(1) {
        padding: 5% 2% 8%;
    }
}

@media (max-width: 1200px) {
    header {
        height: 90vh;
    }

    .banner {
        height: 82vh;
    }

    section#advice {
        margin-bottom: 10rem;
    }

    footer .bande3 .item img {
        width: 20px;
    }
}

@media (max-width: 1024px) {
    .nav-right-icons {
        display: flex;
        align-items: center;
        gap: 10px;
        order: 3;
    }

    #menubar {
        display: block;
        font-size: 35px;
        position: relative;
    }

    input[type="checkbox"]:checked~ul.menu-list {
        display: flex;
        right: 0;
        opacity: 1;
    }

    nav.navbar ul.menu-list li a {
        font-size: 45px;
        font-weight: 700;
    }

    nav.navbar ul.menu-list li a.active,
    nav.navbar ul.menu-list li a:hover {
        border-bottom: 1px solid var(--color2);
    }

    nav.navbar ul.menu-list {
        position: fixed;
        flex-direction: column;
        top: 100px;
        background: var(--color4);
        width: 100%;
        align-items: center;
        transition: all 0.8s cubic-bezier(0.77, 0.2, 0.05, 1);
        height: calc(100vh - 80px);
        gap: 20px;
        z-index: 1;
        justify-content: center;
        right: -100%;
        opacity: 0;
    }

    nav.navbar ul.submenu {
        z-index: 9;
        top: 50px;
    }

    div#google_translate_element,
    nav.navbar a.tel {
        display: none;
    }

    nav.navbar {
        position: relative;
        width: auto !important;
        left: 0 !important;
        transform: translate(0px) !important;
        margin: 0 !important;
        justify-content: center;
        padding: 0 4%;
        background: var(--color3);
    }

    header {
        height: 50vh;
        background: var(--color3);
        overflow: visible;
    }

    .banner {
        height: auto;
        padding: 0 10%;
        display: none;
    }

    .banner h1 {
        font-size: 30px;
    }

    .banner p {
        font-size: 16px;
    }

    header video {
        height: 105%;
    }

    .title h2 {
        font-size: 30px;
        line-height: 1.3;
    }

    section#advice .title h2 {
        font-size: 32px;
    }

    section#advice .twice {
        padding: 0 5%;
        top: 90%;
    }

    section#package .container {
        flex-wrap: wrap;
        justify-content: center;
    }

    .custom-package h4 {
        font-size: 32px;
    }

    .custom-package {
        grid-gap: 40px;
    }

    footer section:nth-child(1) {
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 0;
    }

    footer section:nth-child(1) .group {
        padding: 40px 40px !important;
    }

    footer section:nth-child(1) .group:nth-child(1),
    footer section:nth-child(1) .group:nth-child(2) {
        border-bottom: 1px solid #ffffff45;
    }

    footer section:nth-child(1) .group:nth-child(2) {
        border-right: none;
    }

    .service-list {
        grid-template-columns: 1fr 1fr;
        padding: 0;
    }
}

footer .bande1 h3 {
    color: var(--color0);
    font-size: 3em;
    line-height: 1.1;
    letter-spacing: 1px;
}

@media (max-width: 991px) {
    .newslist {
        grid-template-columns: 1fr
    }

    header.header-intern {
        height: 40vh
    }

    .newslist aside .container .recent-posts .item .date {
        font-size: 18px;
    }

    .newslist aside .container .recent-posts .item h3 {
        font-size: 18px;
        padding: 9px 0;
    }

    section#service:before {
        display: none
    }

    section#steps,
    section#advice {
        padding: 8% 5% 10%
    }

    .service-content {
        grid-template-columns: 1fr;
        grid-gap: 8vw
    }

    footer .bande1 form {
        width: 100%;
        gap: 10px;
    }

    .item-grid {
        grid-template-columns: 1fr 1fr
    }

    section.about {
        flex-wrap: wrap
    }

    .banner-intern h1 {
        text-wrap: balance;
        font-size: 5vw;
        position: relative;
        top: 5%;
    }

    footer .bande1 {
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 20px;
        text-align: center;
        padding: 3vh 5%;
        font-weight: 400;
    }

    .accordion button .accordion-title {
        width: auto
    }

    section#faq {
        padding: 10% 5% 5%
    }

    section#advice {
        margin-bottom: 0
    }

    section#advice .twice {
        margin-top: 4vh;
        padding: 0;
        gap: 15px;
    }

    section#advice .twice .bloc {
        width: 45%;
        padding: 4%;
    }

    section#advice .title {
        padding: 0;
        margin-bottom: 0;
    }

    section.portfolio .item-group {
        grid-template-rows: 20vh 20vh
    }

    section#package {
        padding: 0% 0%;
    }

    .item-group .item {
        padding: 0 4%
    }

    .item-group {
        grid-template-columns: 1fr
    }

    .item-service .description p,
    .description p {
        font-size: 16px
    }

    .title span {
        font-size: 18px;
    }

    .text-bloc,
    .img-bloc {
        width: 100%
    }

    .item-service .img-bloc {
        height: 30vh;
    }

    .homepage section.about {
        flex-wrap: wrap;
    }

    section.about\ atout {
        flex-wrap: wrap;
        padding: 5%;
    }

    .item-service .description {
        min-height: 15vh
    }

    section#service:after,
    section.about\ atout:before,
    section.about:before,
    section.tarifs:before {
        display: none
    }

    nav.navbar a.logo img {
        width: 250px;
        left: 5vw;
        position: relative;
        padding: 2%;
    }

    section#contact {
        grid-template-columns: 1fr;
    }

    section#contact .right,
    section#contact .left {
        width: 100%;
        min-height: 33vh;
    }

    section#contact .right #form {
        width: auto;
        border: 1px solid #fff5ea21;
    }

    .input-group {
        flex-direction: column;
    }

    section#team .container {
        grid-template-columns: 1fr 1fr;
    }

    .accordion {
        flex-wrap: wrap;
        gap: 0;
    }

    .accordion .comment_part1,
    .accordion .comment_part2 {
        width: 100%;
    }

    .navbar-fixed,
    header a.devis {
        display: none
    }

    .banner-mobile {
        display: flex;
        flex-direction: column;
        width: 100%;
        position: relative;
        height: 50vh;
    }

    .navbar-fluid {
        justify-content: space-between;
    }

    .navbar-fluid {
        height: 100%;
        width: 100%;
        padding: 0;
    }

    nav.navbar {
        position: fixed;
        width: 100% !important;
        padding: 0;
        background: var(--bg-light);
        backdrop-filter: blur(10px);
    }

    .fixed .navbar-fluid {
        box-shadow: 2px 2px 20px #ff800036;
    }

    .banner-mobile:after {
        content: "";
        position: absolute;
        inset: 0;
        background: #00000085;
        z-index: 0;
    }

    .banner-mobile .slogan {
        position: absolute;
        top: calc(50% + 40px);
        left: 50%;
        transform: translate(-50%, -50%);
        text-align: center;
        display: flex;
        flex-direction: column;
        color: var(--color0);
        z-index: 1;
        width: 100%;
    }

    body {
        font-weight: 400;
    }

    .bloc span {
        font-size: 18px;
    }

    .bloc .description h3 {
        font-size: 22px;
    }

    section.news .container {
        flex-wrap: wrap;
        gap: 30px;
    }

    .item-new {
        width: 100%;
    }

    .banner-mobile .slogan p {
        font-size: 20px;
        font-weight: 500;
    }

    .banner-mobile .slogan .btn-group {
        margin-top: 33px;
        justify-content: center;
    }

    .banner-mobile .slogan h1 {
        font-size: 4em;
        color: var(--color0);
    }

    .banner-mobile img {
        position: absolute;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .item-service:nth-child(3) {
        width: 200%
    }

    .custom-package {
        gap: 0px;
        padding: 5%;
    }

    section#steps .container {
        flex-wrap: wrap;
        gap: 20px;
    }

    section#steps .container .bloc {
        width: 40%;
        border: 1px solid #ffffff1c;
        border-radius: var(--border-radius);
    }

    section#service-list {
        grid-template-columns: 1fr;
        margin: 5%;
        margin: 0;
        padding: 5%;
    }

    section#service-list .filter {
        padding: 20px 0 0;
    }

    section#service-list .service-container h3 {
        font-size: 30px;
    }

    section#service-list .service-container {
        padding: 0 0px;
    }

    ul.menu-list {
        display: none;
    }
}

@media (max-width: 767px) {
    section#contact .right #form {
        padding: 0%;
        border: 0
    }

    section#contact .right,
    section#contact .left {
        min-height: auto
    }

    section#contact {
        display: flex;
        flex-direction: column;
        padding: 8% 2%;
    }

    nav.navbar ul.menu-list li a {
        font-size: 35px;
    }

    .item-service:nth-child(3),
    section#steps .container .bloc {
        width: 100%;
    }

    .img-bloc {
        max-height: 400px;
    }

    .flip-bx,
    .flip-bx .front,
    .flip-bx .back {
        height: 300px;
    }

    section#team .container {
        grid-template-columns: 1fr;
    }

    .flip-bx:hover .back {
        height: 220px;
    }

    section#team .container {
        width: 100%;
    }
}

@media (max-width: 576px) {
    .newslist section.news .container {
        grid-template-columns: 1fr;
        grid-gap: 30px;
    }

    footer section:nth-child(1) .group h5 {
        font-size: 25px
    }

    footer .bande3 {
        background-size: cover;
    }

    section#service-list .service-container .service h2,
    section#service-list .service-container .service h3 {
        font-size: 30px
    }

    footer .bande1 p {
        font-size: 16px
    }

    .item-grid {
        grid-auto-rows: 140px;
        grid-gap: 10px;
        margin-top: 4vh;
    }

    nav.navbar ul.menu-list li a {
        font-size: 25px;
    }

    .scrollbars {
        text-align: left;
    }

    nav.navbar ul.menu-list {
        top: 65px;
        height: calc(100vh - 65px);
    }

    .title span {
        font-size: 16px
    }

    .banner-mobile {
        height: 500px;
    }

    .banner-mobile .slogan .btn-group {
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }

    .banner-mobile .slogan p {
        font-size: 16px
    }

    .navbar-fluid,
    nav.navbar {
        height: 65px
    }

    nav.navbar a.logo img {
        width: 170px
    }

    .banner-intern h1 {
        font-size: 30px;
        text-align: center;
        top: 40px;
    }

    .accordion button .accordion-title {
        width: 65%;
    }

    section.portfolio .item-group {
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
            "item1 item2"
            "item3 item4"
            "item5 item6";
    }

    .banner-mobile .slogan h1 {
        font-size: 45px;
    }

    header {
        background: url(../assets/banner-m.jpg);
        background-size: cover;
        background-position: right;
        height: 500px;
    }

    header.header-intern {
        height: 300px;
    }

    .banner-intern {
        height: 300px;
        padding: 0 5%;
    }

    .banner {
        padding: 0;
    }

    .banner p {
        display: none;
    }

    .banner h1 {
        font-size: 24px;
        margin-bottom: 20px;
    }

    section {
        flex-wrap: wrap;
    }

    .text-bloc,
    .img-bloc {
        width: 100%;
    }

    .service-list {
        grid-template-columns: 1fr;
    }

    section#steps .container {
        flex-wrap: wrap;
    }

    section#advice .twice {
        position: relative;
        flex-wrap: wrap;
    }

    section#advice .title p {
        font-size: 16px;
    }

    section#advice {
        padding: 15% 0;
        margin-bottom: 0;
    }

    section#advice .title a.btn {
        top: 35px;
    }

    section#advice .twice {
        padding: 0% 5% 0;
    }

    section#advice .twice .bloc {
        width: 100%;
    }

    section#package .container .package-item {
        width: auto;
    }

    .custom-package {
        flex-wrap: wrap;
        grid-gap: 0px;
        padding: 5%;
    }

    .custom-package h4 {
        font-size: 20px;
    }

    .custom-package h4 span {
        font-size: 15px;
    }

    .slick-prev,
    .slick-next {
        top: 100% !important;
    }

    section#faq .filter {
        width: 100%;
    }

    section.about,
    section {
        padding: 10% 5%;
    }

    section#package .container .package-item .price h4 {
        font-size: 25px;
    }

    footer .bande1 {
        padding: 6% 5%;
    }

    footer .bande3 .item {
        justify-content: flex-start;
    }

    footer section:nth-child(1) {
        grid-template-columns: 1fr;
    }

    footer section:nth-child(1) .group,
    footer section:nth-child(1) .group:nth-child(1),
    footer section:nth-child(1) .group:nth-child(2) {
        border: 0;
        padding: 20px 40px;
        height: auto;
        padding: 4% 5% !important;
    }

    footer section:nth-child(2) {
        justify-content: center;
        grid-gap: 10px;
        text-align: center;
        font-size: 14px;
    }

    .img-area .slick-next {
        right: 40%;
    }

    .img-area .slick-prev {
        left: 40%;
    }
}

@media (max-width: 375px) {
    header {
        height: 500px;
    }

    .banner-mobile {
        height: calc(500px - 85px);
    }

    .banner-mobile .slogan .btn-group {
        flex-wrap: wrap;
    }

    .banner-mobile img {
        object-fit: cover;
    }
}

.result>div:not(.result > div:first-child) {
    display: none;
}

/* WhatsApp Floating Button */
.whatsapp-float,
.whatsapp-btn {
    position: fixed;
    width: 80px;
    height: 80px;
    bottom: 40px;
    right: 40px;
    background-color: #25d366;
    color: #FFF;
    border-radius: 50px;
    text-align: center;
    font-size: 30px;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.whatsapp-float:hover,
.whatsapp-btn:hover {
    background-color: #128c7e;
    color: #FFF;
    transform: scale(1.1);
}

.whatsapp-float i,
.whatsapp-btn i {
    margin-top: 0;
}

/* .whatsapp-btn wraps an <a>, style it too */
.whatsapp-btn a {
    color: #FFF;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-size: 45px;
    text-decoration: none;
}

@media screen and (max-width: 768px) {

    .whatsapp-float,
    .whatsapp-btn {
        width: 50px;
        height: 50px;
        bottom: 20px;
        right: 20px;
    }

    .whatsapp-btn a {
        font-size: 25px;
    }
}

/* Chiffres ClÃ©s Section */
.stats {
    display: flex;
    justify-content: space-around;
    padding: 60px 10%;
    flex-wrap: wrap;
    gap: 30px;
}

.stat-item {
    text-align: center;
    flex: 1;
    min-width: 200px;
}

.stat-item i {
    font-size: 40px;
    color: var(--color1);
    margin-bottom: 15px;
}

.stat-item .number {
    display: block;
    font-size: 36px;
    font-weight: 700;
    color: var(--color0);
    margin-bottom: 5px;
}

.stat-item .label {
    font-size: 14px;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 2px;
}

/* Testimonials Section */
.testimonials {
    padding: 100px 15% 80px;
    position: relative;
}

.testimonials .title {
    margin-bottom: 60px;
}

.testimonial-slider {
    max-width: 1200px;
    margin: 0 auto;
}

.testimonial-item {
    text-align: center;
    padding: 40px;
    background: #ffffff05;
    border-radius: 20px;
    backdrop-filter: blur(10px);
    border: 1px solid #ffffff10;
    margin: 0 15px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 300px;
}

.testimonial-item .quote {
    font-size: 16px;
    font-style: italic;
    color: #ccc;
    line-height: 1.7;
    margin-bottom: 30px;
    position: relative
}

.testimonial-item .quote::before {
    content: '"';
    font-size: 60px;
    color: var(--color1);
    opacity: 0.3;
    position: absolute;
    top: -30px;
    left: -10px;
}

.testimonial-item .client-info {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
}

.testimonial-item .client-info img {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--color1);
}

.testimonial-item .client-details h4 {
    margin: 0;
    font-size: 18px;
    color: var(--color1);
}

.testimonial-item .client-details span {
    font-size: 13px;
    color: #777;
}

/* Slick adjustments for testimonials */
.testimonial-slider .slick-dots li button:before {
    color: var(--color1);
    font-size: 55px;
}

.testimonial-slider .slick-dots li.slick-active button:before {
    color: var(--color1);
}

/* Modernized Navbar & Buttons */
nav.navbar {
    height: 90px;
}

nav.navbar.fixed {
    background: rgba(17, 17, 17, 0.8);
    backdrop-filter: blur(15px);
    height: 80px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

nav.navbar ul.menu-list li a {
    position: relative;
    padding-bottom: 5px;
}

nav.navbar ul.menu-list li a::after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    bottom: 0;
    left: 0;
    background-color: var(--color1);
    transition: width 0.3s ease;
}

nav.navbar ul.menu-list li a:hover::after,
nav.navbar ul.menu-list li a.active::after {
    width: 100%;
}

nav.navbar ul.menu-list li a.active {
    color: var(--color1);
}

a.devis {
    background: var(--color1);
    box-shadow: 0 4px 15px rgba(255, 128, 0, 0.3);
    border-radius: 50px;
    font-weight: 600;
    transition: all 0.3s ease;
}

a.devis:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(255, 128, 0, 0.5);
    background: var(--color2);
}

/* Footer Enhancements */
footer {
    background: var(--bg-light);
}

footer .bande1 {
    background: var(--color3);
    padding: 4% 25%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 25px;
    flex-direction: column;
    text-align: center;
}

footer .bande1 p {
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 1px;
}

footer .bande1 form input[type="text"] {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 12px 20px;
    border-radius: 50px 0 0 50px;
    color: #fff;
    width: 250px;
}

footer .bande1 form .btn {
    border-radius: 0 50px 50px 0;
    padding: 12px 25px;
    background: var(--color4);
    color: var(--color1);
}

footer .rs a {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #1a1a1a;
    border-radius: 50%;
    margin-right: 10px;
    transition: all 0.3s ease;
}

footer .rs a:hover {
    background: var(--color1);
    color: #fff;
    transform: translateY(-5px);
}

/* Service Item Micro-animations */
.item-service {
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.item-service:hover {
    transform: translateY(-10px);
}

.item-service img {
    transition: transform 0.6s ease;
}

.item-service:hover img {
    transform: scale(1.05);
}

/* AJAX Form Messages */
.ajax-message {
    padding: 15px 20px;
    border-radius: var(--border-radius);
    margin-bottom: 20px;
    display: none;
    font-size: 15px;
    letter-spacing: 0.5px;
}

.ajax-message.success {
    background: rgba(37, 211, 102, 0.1);
    color: #25d366;
    border: 1px solid rgba(37, 211, 102, 0.2);
    display: block;
}

.ajax-message.error {
    background: rgba(255, 69, 58, 0.1);
    color: #ff453a;
    border: 1px solid rgba(255, 69, 58, 0.2);
    display: block;
}

/* Loader for button */
.btn-loader {
    width: 20px;
    height: 20px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top: 2px solid #fff;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    display: none;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Mobile responsive for new sections */
@media screen and (max-width: 768px) {
    .stats-container {
        grid-template-columns: 1fr 1fr;
    }
}

/* Toast Notifications */
.toast-container {
    position: fixed;
    top: 30px;
    right: 30px;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.toast {
    background: rgba(26, 26, 26, 0.9);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #fff;
    padding: 18px 25px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    gap: 15px;
    min-width: 300px;
    transform: translateX(120%);
    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.toast.show {
    transform: translateX(0);
}

.toast-icon {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.toast.success .toast-icon {
    background: #25d366;
    color: #fff;
}

.toast.error .toast-icon {
    background: #ff453a;
    color: #fff;
}

.toast-message {
    font-size: 14px;
    font-weight: 500;
}

/* Theme Toggle Button Styles */
.theme-toggle {
    background: var(--bg-light);
    border: none;
    color: var(--color1);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    cursor: pointer;
    display: flex !important;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    transition: all 0.3s ease;
    margin: 0;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative;
    z-index: 999;
}

.theme-toggle:hover {
    background: var(--color1);
    color: var(--color0);
    transform: rotate(30deg);
}

.light-theme .theme-toggle i::before {
    content: "\f186";
    /* Moon icon for dark mode switch */
}

/* Fix for specific sections in light theme */
body.light-theme .navbar {
    background: rgba(255, 255, 255, 0.8) !important;
    color: #111 !important;
    border-bottom: 1px solid #ddd;
}

body.light-theme .navbar .menu-list li a {
    color: #111 !important;
}

body.light-theme footer {
    background: #f8f9fa;
    color: #111;
}

body.light-theme .bande1 {
    background: #eee;
}

/* Global Body Style for Theme */
body {
    background-color: var(--black);
    color: var(--color0);
    transition: background-color var(--transition-speed) ease, color var(--transition-speed) ease;
}

/* Specific Section Adjustments for Light Theme */
body.light-theme .stats-container {
    background: #f0f0f0;
    border: 1px solid #ddd;
}

body.light-theme .testimonial-item {
    background: #fff;
    border: 1px solid #eee;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

body.light-theme .testimonial-item .quote {
    color: #444;
}

body.light-theme .testimonial-item h4 {
    color: #111;
}

body.light-theme .clients-bandeau {
    background: #fff;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
}

body.light-theme .clients-bandeau img {
    filter: grayscale(1) contrast(0.5);
    opacity: 0.7;
}

body.light-theme .clients-bandeau img:hover {
    filter: none;
    opacity: 1;
}

body.light-theme .item-service {
    background: #ffffff;
    border-color: #eee;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

body.light-theme .item-service h3 {
    color: #111;
}

body.light-theme .item-service p {
    color: #666;
}

body.light-theme footer {
    background: #f8f9fa;
    border-top: 1px solid #eee;
}

body.light-theme footer h5,
body.light-theme footer p,
body.light-theme footer span {
    color: #333;
}

body.light-theme footer a {
    color: #555;
}

body.light-theme footer a:hover {
    color: var(--color1);
}

body.light-theme footer .rs a {
    background: #eee;
    color: #333;
}

body.light-theme footer .rs a:hover {
    background: var(--color1);
    color: #fff;
}

.client-logos {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

.client-logos img {
    width: 212px;
    height: auto;
    margin: 0 30px;
}

/* Ensure logo text is black in light mode */
body.light-theme .logo svg {
    color: #111;
}