/*
Theme Name: asticotheme
Theme URI: None
Author: asticonet.com — Web Agency
Author URI: https://asticonet.com
Description: Simple wordpress theme made with ❤️ by asticonet.com | All rights reserved ©
Tags: theme, madewithlove, asticonet, asticonet.com, asticotheme, coding, spreadthelove, personal, personaluseonly
Version: 3.8
License: License asticonet.com
License URI: https://asticonet.com
Text Domain: asticotheme
*/

::selection {
    background: var(--gris);
    color: white;
    text-shadow: none;
}

::-webkit-selection {
    background: var(--gris);
    color: white;
    text-shadow: none;
}

::-moz-selection {
    background: var(--gris);
    color: white;
    text-shadow: none;
}

*,
*:after,
*:before {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    outline: none !important;
    text-decoration: none;

}

section,
div,
header,
nav,
article,
section,
aside,
footer,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
ul,
li,
figure,
figcaption,
class,
img {

    margin: 0;
    padding: 0;
}

html,
body {

    width: 100%;
    padding: 0;
    margin: 0;
    font-family: 'Bai Jamjuree', sans-serif;
}

html,
body:not('#tinymce') {

    color: var(--blanc) !important;
}

#tinymce {

    cursor: inherit !important;
}

html {

    background: var(--noir);
    overflow-x: hidden;
}

html::-webkit-scrollbar {

    width: 10px;
    height: 10px;
    background-color: var(--noir);
    border-left: 1px solid var(--gris);
}

html::-webkit-scrollbar-thumb {

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


.page main > section > h1,
br.clear,
a.post-edit-link {

    display: none;
}

input::placeholder,
textarea::placeholder {

    opacity: 1 !important;
}

a {

    color: var(--blanc);
}

:root {

    --noir: #0f0f0f;
    --blanc: #f9f9f9;
    --gris: #404040;

}

/*------------------------------------*\
    DIFFERENCE
\*------------------------------------*/

.difference,
.difference a,
.difference .elementor-headline-dynamic-letter,
.difference .elementor-heading-title {

    mix-blend-mode: difference !important;
    -webkit-mix-blend-mode: difference !important;
}

/*------------------------------------*\
    WARNING
\*------------------------------------*/

#warning {

    position: fixed;
    left: 0;
    top: 0;
    z-index: 99997;
    background: var(--noir);
    width: 100vw;
    height: 100vh;
    justify-content: center;
    align-items: center;
    display: none;

}

.home #warning {

    display: flex;
}

#warning .bloc {

    width: 50%;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    color: var(--blanc);
}

#warning h3 {

    font-family: uniwars, sans-serif;
    font-size: 2.5vw;
}

#warning p {

    font-size: 1.1vw;
    line-height: 1.75em;
}

#warning p {

    margin: 50px 0;
    color: var(--blanc);
}

#warning button {

    background: transparent;
    padding: 25px;
    font-size: 1.1vw;
    display: inline-block;
    font-family: 'Bai Jamjuree', sans-serif;
    background: var(--blanc);
    color: var(--noir);
    font-weight: bold;

}

#warning button#version {
    
    color: var(--blanc);
    background: transparent;
    border: none;
}

/*------------------------------------*\
    LOADER
\*------------------------------------*/

#loader {

    position: fixed;
    left: 0;
    top: 0;
    z-index: 99999;
    background: var(--noir);
    width: 100vw;
    height: 100vh;
    border-bottom: solid 1px var(--gris);
    display: none;
}

.home #loader {

    display: inline-block;
}

#loader .bloc {

    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;

}

#loader svg {

    width: 20vw;
    animation: blur .5s forwards;
    animation-delay: 3.75s;
}

@keyframes blur {
    to {
        opacity: 0;
        filter: blur(10px);

    }
}

#loader svg g#bg {

    opacity: 0;
    animation: opacity .75s forwards;
    animation-delay: 2.5s;
}

@keyframes opacity {
    to {
        opacity: 1;

    }
}

#loader svg g#outline path {
    stroke-dasharray: 1200;
    stroke-dashoffset: 1200;
    animation: stroke 2s forwards;
    animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
    animation-delay: .5s;
}


@keyframes stroke {
    to {
        stroke-dashoffset: 0;
    }
}

#loader svg g#txt g.txt {

    opacity: 0;
    animation: opacity .75s forwards;
    animation-delay: 3s;
}

#loader svg g#txt rect {

    transform: translateX(-100%);
    animation: rect 1s forwards;
    animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
    animation-delay: 2.5s;
}

@keyframes rect {
    50% {
        transform: translateX(0%);
    }

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

/*------------------------------------*\
    OVERLAY
\*------------------------------------*/

#overlay {

    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    z-index: 99998;
    pointer-events: none;
    transition: all .5s;
    background: var(--noir);
    transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
}

.active-overlay {

    height: 0 !important;
}

.desactive-overlay {

    height: 100vh !important;
}


/*------------------------------------*\
    VIDEO
\*------------------------------------*/

/*
#bg-video-wrapper {

    position: fixed;
    left: 0;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 100vw;
    min-width: 100vw;
    height: 100vh;
    z-index: -100;
    mix-blend-mode: lighten;
    -webkit-mix-blend-mode: lighten;

}


#bg-video-wrapper video {

    width: 100vw;
    height: auto;
}
*/


#accueil .elementor-background-video-container {

    mix-blend-mode: lighten;
    -webkit-mix-blend-mode: lighten;
}


#accueil .elementor-background-video-container:after {

    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    z-index: 2;
    background-color: #f3ec78;
    background: linear-gradient(45deg, #ff2400, #e81d1d, #e8b71d, #e3e81d, #1de840, #1ddde8, #2b1de8, #dd00f3, #dd00f3);
    background-size: 900% 900%;

    -webkit-animation: rainbow 18s ease infinite;
    -z-animation: rainbow 18s ease infinite;
    -o-animation: rainbow 18s ease infinite;
    animation: rainbow 18s ease infinite;

    mix-blend-mode: hue;
    -webkit-mix-blend-mode: hue;

}


@-webkit-keyframes rainbow {
    0% {
        background-position: 0% 82%
    }

    50% {
        background-position: 100% 19%
    }

    100% {
        background-position: 0% 82%
    }
}

@-moz-keyframes rainbow {
    0% {
        background-position: 0% 82%
    }

    50% {
        background-position: 100% 19%
    }

    100% {
        background-position: 0% 82%
    }
}

@-o-keyframes rainbow {
    0% {
        background-position: 0% 82%
    }

    50% {
        background-position: 100% 19%
    }

    100% {
        background-position: 0% 82%
    }
}

@keyframes rainbow {
    0% {
        background-position: 0% 82%
    }

    50% {
        background-position: 100% 19%
    }

    100% {
        background-position: 0% 82%
    }
}

#accueil .elementor-background-video-container:before {

    content: '';
    width: 100vw;
    height: 100vh;
    position: absolute;
    left: 0;
    top: 0;
    background: #0f0f0f;
    opacity: .5;
    z-index: 2;
}

/*------------------------------------*\
    CURSOR
\*------------------------------------*/

* {

    cursor: none;
}

#cursor {
    --size: 12.5px;
    height: var(--size);
    width: var(--size);
    border-radius: 50%;
    position: absolute;
    transform: translate(-50%, -50%);
    pointer-events: none;
    mix-blend-mode: difference;
    -webkit-mix-blend-mode: difference;
    z-index: 999999;
    background-color: var(--blanc);
    border: solid 1px var(--noir);
    transition: height .3s, width .3s;
    transition-timing-function: cubic-bezier(0.65, 1.53, 1, 1);
}

#cursor.active {
    --size: 50px;
}


/*------------------------------------*\
    LIGHT
\*------------------------------------*/

#light {
    position: absolute;
    width: 25vh;
    height: 25vh;
    background-color: white;
    border-radius: 50vh;
    transform: translate(-50%, -50%);
    pointer-events: none;
    transition: all .1s;
    box-shadow: 0 0 25vh 12.5vh white;
    opacity: .95;
    filter: blur(1vh);
    z-index: -1;
    top: 50%;
    left: 50%;
    transition: 0.5s, width 1s, height 1s, opacity 1s;
    transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    z-index: -1;
}

.desactive-light {

    width: 0 !important;
    height: 0 !important;
    opacity: 0 !important;
}

/*------------------------------------*\
   BTN UNDERLINE
\*------------------------------------*/

#btn-underline a {

    position: relative;
}

#btn-underline a:before {
    content: '';
    transform-origin: 100% 50%;
    transform: scale3d(0, 1, 1);
    transition: transform 0.3s;
    position: absolute;
    width: 100%;
    height: 2px;
    background: var(--blanc);
    top: 100%;
    left: 0;
    pointer-events: none;
}

#btn-underline a:hover::before {


    transform-origin: 0% 50%;
    transform: scale3d(1, 1, 1);
}

/*------------------------------------*\
    EXIT
\*------------------------------------*/

#exit {

    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    height: 100vh;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    background: rgba(0, 0, 0, 0.5) !important;
    z-index: 998;
    display: none;
}

.no-scroll {

    overflow: hidden !important;
}

/*------------------------------------*\
    HEADER
\*------------------------------------*/

#header {

    top: 0;
    left: 0;
    width: 100%;
    border-bottom: solid 1px var(--gris);
    z-index: 999;
    position: -webkit-sticky;
    position: -moz-sticky;
    position: -o-sticky;
    position: -ms-sticky;
    position: sticky;
    transition: all .3s;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    background-color: rgba(15, 15, 15, 0.5);
}

#header .bloc {

    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 100px;
}

#header a#logo {

    padding: 25px;
    border-right: solid 1px var(--gris);
    border-left: solid 1px var(--gris);
}

#header a#logo svg {

    height: 40px;
}

#header ul li {

    list-style: none;
    display: inline-block;
}

#header ul li {

    border-right: solid 1px var(--gris);
    float: left;

}

#header ul li:first-child {

    border-left: solid 1px var(--gris);
}

#header ul li a {

    margin: 0;
    padding: 25px;
    display: inline-block;
    font-size: 1.1vw;
    line-height: 44px;
    position: relative;

}

#header ul li a:before {
    content: '';
    transform-origin: 100% 50%;
    transform: scale3d(0, 1, 1);
    transition: transform .5s;
    position: absolute;
    width: 100%;
    height: 100%;
    background: var(--blanc);
    top: 0;
    left: 0;
    pointer-events: none;
    mix-blend-mode: difference;
    -webkit-mix-blend-mode: difference;

}

#header ul li a:hover::before {

    transform-origin: 0% 50%;
    transform: scale3d(1, 1, 1);
}

#header ul li#devis a:before {

    transform-origin: 0% 50%;
    transform: scale3d(1, 1, 1);

}

#header ul li#devis a:hover::before {

    transform-origin: 100% 50%;
    transform: scale3d(0, 1, 1);
}

#header ul li#contact a,
#header .bloc #btn #burger {

    line-height: 0;
    height: 94px;
    display: flex;
    align-items: center;
}

#header ul li#contact a svg {

    height: 30px;
    widows: auto;
}

#devis-mobile {

    display: none;
}

/*------------------------------------*\
    BURGER
\*------------------------------------*/
#header .bloc #btn #burger {

    padding: 25px;
    display: none;
}

#header .bloc #btn #burger .bloc-burger {
    position: relative;
    width: 30px;
    height: 30px;
    display: inline-block;
}

#header .bloc #btn #burger .bloc-burger span {
    position: absolute;
    width: 5px;
    height: 5px;
    transition: all .3s !important;
    opacity: 1;
    background-color: var(--blanc);
}

#header .bloc #btn #burger .bloc-burger span:nth-child(1) {
    left: 0;
    top: 0;
}

#header .bloc #btn #burger .bloc-burger span:nth-child(2) {
    left: calc(50% - 2.5px);
    top: 0;
}

#header .bloc #btn #burger .bloc-burger span:nth-child(3) {
    right: 0;
    top: 0;
}

#header .bloc #btn #burger .bloc-burger span:nth-child(4) {
    left: 0;
    top: calc(50% - 2.5px);
}

#header .bloc #btn #burger .bloc-burger span:nth-child(5) {
    left: calc(50% - 2.5px);
    top: calc(50% - 2.5px);
}

#header .bloc #btn #burger .bloc-burger span:nth-child(6) {
    right: 0;
    top: calc(50% - 2.5px);
}

#header .bloc #btn #burger .bloc-burger span:nth-child(7) {
    left: 0;
    bottom: 0;
}

#header .bloc #btn #burger .bloc-burger span:nth-child(8) {
    left: calc(50% - 2.5px);
    bottom: 0;
}

#header .bloc #btn #burger .bloc-burger span:nth-child(9) {
    right: 0;
    bottom: 0;
}

.span-desactive {
    opacity: 0 !important;
}

.open-span1 {
    left: -5px !important;
    width: 15px !important;
    transform: translateY(9px) rotate(-45deg) !important;
}

.open-span2 {
    width: 100% !important;
}

.open-span3 {
    width: 100% !important;
    left: -5px !important;
    width: 15px !important;
    transform: translateY(-9px) rotate(45deg) !important;
}

/*------------------------------------*\
   FOOTER
\*------------------------------------*/

#footer {

    background: var(--noir);
    border-top: solid 1px var(--gris);
    padding: 25px 100px;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

#footer a,
#footer p,
#footer span {

    font-size: .8vw;
    font-weight: bold;
    color: var(--gris);
    transition: all .3s;
}

#footer a:hover {

    color: var(--blanc);
}


/*------------------------------------------------------------------------*\
    RESPONSIVE
\*------------------------------------------------------------------------*/

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

    * {

        cursor: default;
    }

    #cursor,
    #light {

        display: none;
    }

    /*------------------------------------*\
    WARNING
\*------------------------------------*/

    #warning h3 {

        font-size: 3.5vw;
    }

    #warning p,
    #warning button,
    #warning a {

        font-size: 1.75vw;
    }

    /*------------------------------------*\
    HEADER
\*------------------------------------*/

    #header .bloc {

        padding: 0;
    }

    #header a#logo {

        border-left: none;
    }

    #header a#logo svg {

        height: 30px;
    }

    #header ul li a {

        line-height: 34px;
        font-size: 1.5vw;
    }

    #header ul li#contact a,
    #header .bloc #btn #burger {

        height: 84px;
    }

    #header ul li#devis,
    #header .bloc #btn #burger {

        border-right: none !important;
    }

    /*------------------------------------*\
    FOOTER
\*------------------------------------*/

    #footer {

        padding: 25px 50px;
        flex-wrap: wrap;
    }

    #footer a,
    #footer p,
    #footer span {

        font-size: 1.25vw;
    }
}

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

    /*------------------------------------*\
    WARNING
\*------------------------------------*/

    #warning .bloc {

        width: 100%;
        padding: 50px;
    }

    #warning h3 {

        font-size: 5vw;
    }

    #warning p,
    #warning button,
    #warning a {

        font-size: 3.5vw;
    }

    /*------------------------------------*\
    LOADER
\*------------------------------------*/

    #loader svg {

        width: 50vw;
    }

    /*------------------------------------*\
    HEADER
\*------------------------------------*/

    #devis-mobile {

        display: inline-block;
        font-size: 3.5vw;
        width: 100%;
        line-height: 34px;
        padding: 25px;
        text-align: center;
        background: var(--blanc);
        color: var(--noir);
        border-bottom: solid 1px var(--gris);
    }


    #nav,
    #header ul li#devis {

        display: none;
    }

    #header #nav ul li {

        border: none !important;
    }

    #header ul li a {

        font-size: 3.5vw;
    }

    #header ul li a:before {

        display: none;
    }

    #header .bloc #btn #burger {

        display: inline-block;
    }

    #nav {

        position: absolute;
        left: 0;
        top: calc(100% + 1px);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        background-color: rgba(15, 15, 15, 0.5);
        width: 100%;
        border-bottom: solid 1px var(--gris);
    }

    #header .bloc .menu-menu-container {

        display: flex;
        justify-content: center;
    }

    /*------------------------------------*\
    FOOTER
\*------------------------------------*/

    #footer {

        padding: 25px;
    }

    #footer a,
    #footer p {

        width: 100%;
    }

    #footer a,
    #footer p,
    #footer span {

        font-size: 3vw;
    }
}
