/* CUSTOM CSS */
:root {
    --max-width: 1340px;
    --min-margin: 3rem;
    --dynamic-width: min(var(--max-width), calc(100% -(2* var(--min-margin))));
    --dynamic-margin: max(calc(50% - 0.5* var(--max-width)), var(--min-margin));
} 

/*
 *
 * INITIALISATION 
 *
 */

html, body{
    width : 100%;
    overflow: hidden;
    overflow-y: auto;
}

header .elementor-widget-image a img[src$=".svg"]{
    width: auto;
}

footer .elementor-widget-image a img[src$=".svg"]{
    width: auto;
}

/*
 *
 * GENERAL 
 *
 */

@media screen and (min-width : 768px){
    .offset-left-wrapper{
        position: relative;
        padding-left: var(--dynamic-margin);
        overflow: hidden;
    }

    .offset-left-wrapper:before{
        content: "";
        position: absolute;
        left: 0;
        top : 0;
        width : 30%;
        height: 100%;
        opacity: 1;
        z-index: 1;
    }
}

html.menu-active, body.menu-active{
    overflow-y: hidden;
}
 
.main-block-link:hover .title1, .main-block-link:focus .title1{
    color: var(--e-global-color-text);
}

.background-img, .squared-img{
    position: relative;
}

.squared-img{
    aspect-ratio: 1 / 1;
}

.squared-img > div, .background-img > div{
    position: static;
}

.squared-img img, .background-img img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover;';
    object-position: center;
    min-height: 100%;
}

.d-mobile{
    display: none!important;
}

@media screen and (max-width:1024px){
    .d-md-none{
        display: none!important;
    }
}

@media screen and (max-width:880px){
    .d-sm-large-none{
        display: none!important;
    }
}

@media screen and (max-width:767px){
    .d-sm-none{
        display: none!important;
    }

    .d-mobile{
        display: block!important;
    }
}

/* LIST ICON */
.elementor-widget-text-editor ul{
    padding: 0;
    padding-bottom: .5rem;
}

.elementor-widget-text-editor ul li{
    position: relative;
    padding-left: 2rem;
    padding-bottom: 1rem;
    list-style-type: none;
}

.elementor-widget-text-editor ul li:before{
    position: absolute;
    left: 0;
    top : .2rem;
    content : url(../images/icon-arrow-quinson-fonlupt.svg);
    width : 1rem;
}

/* FULL CAROUSEL */
.full-carousel .carousel-item, .full-height{
    height: 100%;
}

/*
 *
 * HEADER 
 *
 */

#main-header{
    position: fixed;
    transition: all .3s ease;
    z-index: 10;
}

#main-header .elementor-widget-theme-site-logo{
    transition: all .3s ease;
}

/* STICKED */

#main-header .elementor-widget-image {
	z-index: 3;
}

#main-header.sticked{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 5;
    padding-top : 0!important;
	transform : translateY(-100%);
    background-color : var(--e-global-color-secondary);
	transition : transform .3s ease;
}

#main-header.sticked .elementor-widget-theme-site-logo{
    transform: scale(.8);
}

#main-header.sticked.active{
	transform : translateY(0);
}

#main-header li a span.d-sm-none{
    padding-right : 0.3rem;
}
 
#menu-toggler{
    padding: 0.5rem 2rem;
    border-radius: 50px;
    border: 1px solid #fff;
    cursor: pointer;
    transition: all .3s ease;
}

#menu-toggler:hover,
#menu-toggler:focus{
    background-color : var(--e-global-color-primary);
    border: 1px solid var(--e-global-color-primary);
}

#menu-toggler.active{
    border-color: var(--e-global-color-secondary);
    color : var(--e-global-color-secondary);
}

#menu-toggler.active span{
    color : var(--e-global-color-secondary);
}

#menu-toggler.active:hover,
#menu-toggler.active:focus{
    background-color : var(--e-global-color-secondary); 
}

#menu-toggler.active:hover span,
#menu-toggler.active:focus span{
    color : #fff;
}

.nav-icon {
    width: 16px;
    height: 14px;
    position: relative;
    cursor: pointer;
    display: inline-block;
}
.nav-icon span{
    background-color: #fff;
    position: absolute;
    transition: .3s cubic-bezier(.8, .5, .2, 1.4);
    width:100%;
    height: 2px;
    transition-duration: 500ms
}

#menu-toggler.active .nav-icon span{
    background-color: var(--e-global-color-secondary);
}

#menu-toggler.active:hover .nav-icon span,
#menu-toggler.active:focus .nav-icon span{
    background-color: #fff;
}

.nav-icon span:nth-child(1){
    top:0px;
    left: 0px;
}
.nav-icon span:nth-child(2){
    top: 6px;
    left: 0px;
    opacity: 1;
}
.nav-icon span:nth-child(3){
    bottom:0px;
    left: 0px;
}
#menu-toggler:not(.active):hover .nav-icon span:nth-child(1){
    transform: rotate(-3deg) scaleY(1.1);
}
#menu-toggler:not(.active):hover .nav-icon span:nth-child(2){
    transform: rotate(3deg) scaleY(1.1);
}
#menu-toggler:not(.active):hover .nav-icon span:nth-child(3){
    transform: rotate(-4deg) scaleY(1.1);
}
#menu-toggler.active .nav-icon span:nth-child(1){
    transform: rotate(45deg);
    top: 7px;
}
#menu-toggler.active .nav-icon span:nth-child(2){
    opacity:0;
}
#menu-toggler.active .nav-icon span:nth-child(3){
    transform: rotate(-45deg);
    top: 7px;
}

/* Main menu */
.main-menu > nav > ul > li > a{
    border-radius: 50px;
    border: 1px solid #fff;
}

.main-menu.active > nav > ul > li > a{
    border-color: var(--e-global-color-primary);
    color : var(--e-global-color-primary)!important;
}

.main-menu.active > nav > ul > li > a > .sub-arrow > svg{
    fill : var(--e-global-color-primary)!important;
}

.main-menu.active > nav > ul:hover > li > a > .sub-arrow > svg,
.main-menu.active > nav > ul:focus > li > a > .sub-arrow > svg{
    fill : #fff!important;
}


.main-menu.active > nav > ul > li > a{
    border-color: var(--e-global-color-primary);
    color : var(--e-global-color-primary)!important;
}

.main-menu > nav > ul > li > a:hover, 
.main-menu > nav > ul > li > a:focus,
.main-menu > nav > ul > li:hover > a, 
.main-menu > nav > ul > li:focus > a{
    background-color : var(--e-global-color-primary);
    color : #fff!important;
    border: 1px solid var(--e-global-color-primary);
}

.main-menu.active > nav > ul > li > a:hover, 
.main-menu.active > nav > ul > li > a:focus{
    color : #fff!important;
}

@media screen and (max-width:768px){
    #menu-toggler {
        padding: 0.5rem 0.85rem;
        width: auto;
    }
}

/* Menu panel */
#menu-panel{
    pointer-events: none;
    opacity: 0;
    transform: scale(0.8);
    transition: all .3s ease;
    z-index: -1;
}

#menu-panel.active{
    pointer-events: all;
    opacity: 1;
    transform: scale(1);
    z-index: 4;
}

#menu-panel .mega-link .elementor-icon-box-wrapper{
    justify-content: flex-end;
}

#menu-panel .mega-link .elementor-icon-box-wrapper .elementor-icon-box-content{
    flex-grow: unset;
}

#menu-panel .mega-link .elementor-icon{
    transition: all 0s ease;
}

#menu-panel .mega-link:hover .elementor-icon,
#menu-panel .mega-link:focus .elementor-icon{
    transform: rotateY(-720deg);
    transition: all .3s ease;
}

@media screen and (max-width:768px){
    #menu-panel .mega-link .elementor-icon-box-wrapper{
        justify-content: center;
    }
}

/*
 *
 * BLOG 
 *
 */

@media screen and (min-width:768px){
    article .article-infos{
        height: 100%;
    }
} 


/*
 *
 * NOUS REJOINDRE 
 *
 */

.elementor-field-type-upload > label.elementor-field-label{
    display: block;
    margin: 0;
    top: auto;
    overflow: visible;
    position: relative;
    width: 100%;
    height: auto;
    margin-bottom: .5rem;
    font-weight: 500!important;
}

.elementor-field-type-upload > input[type="file"].elementor-upload-field{
    padding: 0;
}

.elementor-field-type-upload >  input[type=file].elementor-upload-field::file-selector-button {
    margin-right: 8px;
    border: none;
    border-radius: 50px;
    background: var(--e-global-color-primary);
    padding: 0.5rem 1rem;
    color: #fff;
    cursor: pointer;
    font-weight: 500!important;
}

.elementor-field-type-upload >  input[type=file].elementor-upload-field::file-selector-button:hover,
.elementor-field-type-upload >  input[type=file].elementor-upload-field::file-selector-button:focus{
    background: var(--e-global-color-accent);
}

.offre-item{
    height: 100%;
}


/*
 *
 * CONTACT 
 *
 */

.elementor-field-group-rgpd_texte{
    margin-top : 1rem;
    margin-bottom: 1rem;
}

.elementor-field-group-rgpd_texte .elementor-field-option{
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-top : 0.5rem;
}

.elementor-field-group-rgpd_texte .elementor-field-option label{
    line-height: 1.4;
    width: 85%!important;
    font-size : .9rem;
}

input[type="checkbox"] {
  appearance: none;
  background-color: var(--e-global-color-550ea15);
  margin: 0;
  padding: 0!important;
  font: inherit;
  color: var(--e-global-color-text);
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 0.25rem!important;

  display: grid!important;
  place-content: center;
}

input[type="checkbox"]:before {
  content: "";
  width: 0.75rem;
  height: 0.75rem;
  transform: scale(0);
  transition: 120ms transform ease-in-out;
  background-color: var(--e-global-color-primary);

  transform-origin: bottom left;
  clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}

input[type="checkbox"]:checked:before {
  transform: scale(1);
}

/*input[type="checkbox"]:disabled {
  --form-control-color: var(--form-control-disabled);

  color: var(--form-control-disabled);
  cursor: not-allowed;
}*/