/*--------------------------------------*\
	Base
\*--------------------------------------*/

html[dir="rtl"] .hfe-skip-link {
    right: -9999px;
    left: auto;
}

html[dir="rtl"] .hfe-skip-link:focus {
    right: 10px;
    left: auto;
}

.btn-hy .elementor-button {
	display: inline-flex;
	align-items: center;
	gap: 20px;
}

.btn-hy a > div, .btn-hy-submit{
	display: inline-flex !important;
	align-items: center !important;
	gap: 20px !important;
}


.btn-hy-submit{
    gap: 20px !important;
    overflow: hidden !important;
}

.btn-hy-submit:hover {
    
    background:none !important;
    background-color:#fff !important;
}

.btn-hy-submit {
    background-color: #FFFFFF !important;
    color: #FFFFFF !important ;
    border-style: solid !important;
    border-width: 1px 1px 1px 1px !important;
    border-color: #003D35 !important;
    border-radius: 50px 50px 50px 50px !important;
    padding: 3px 2px 3px 20px !important;
}


.btn-hy .elementor-button::before,  .btn-hy a > div::before, .btn-hy-submit::before {
	content: "";
	display: block;
	width: 10px;
	height: 9px;
	background-repeat: no-repeat;
	background-position:center center;
}

.btn-hy-white  a > div::before {
	background-image: url(../images/white-arrow.svg);
}

.btn-hy-green .elementor-button::before,  .btn-hy-green-submit::before {
	background-image: url(../images/green-arrow.svg);
	position: relative ;
	z-index:2;
}

.btn-hy .elementor-button-content-wrapper, .btn-hy a > div > div, .btn-hy-submit span { 
	padding: 13px 25px !important;
    border-radius: 50px !important;
}

.btn-hy a > div > div,  .btn-hy-submit span { 
	padding: 10px 20px !important; 
}

.btn-hy-green .elementor-button-content-wrapper, .btn-hy-green-submit span{
	background: #003d35 !important;
	position: relative !important;
	z-index:2;
}

.btn-hy-white a > div > div{
	background: #fff;
	position: relative;
	z-index:2;
}

.sub-title-hy {
	display: inline-block ;
    width: auto !important;
    max-width: max-content !important;
}

.sub-title-hy h3{
	margin: 0;
}

.sub-title-hy .elementor-icon-box-icon {
    transition: transform 0.4s ease;
}

.sub-title-hy:hover .elementor-icon-box-icon {
    transform: rotate(180deg);
}

.title-color-green {
	color: #003d35;
}


.no-margin-bottom p:last-child {
	margin-bottom: 0;
}


.btn-hy a {
    position: relative;
    overflow: hidden; 
}


.btn-hy a::after, .btn-hy a > div::after,  .btn-hy-submit::after  {
    position: absolute;
    left:0;
    top:0;
    content: "";
    width: 0%;
    height: 100%;
	display: block;
	z-index: 1;
	transition: all 0.3s ease;
}

.btn-hy-white a > div::after {
    background:#ffffff33;
}

.btn-hy-green a::after, .btn-hy-submit::after  {
    background:#E2A760;
}

.btn-hy a:hover, .btn-hy a > div:hover  {
    text-decoration:none;
}


.btn-hy a:hover::after, .btn-hy a > div:hover::after, .btn-hy-submit:hover::after  {
        width: 100%;
}


.white-color-path svg path{
    fill: #fff !important;
}

.white-color-polygon svg polygon{
    fill: #fff !important;
}


.overflow-hidden {
  overflow: hidden;
}


.container {
    width: 100%;
    max-width: 1140px;
    margin: 0 auto;
    padding-left: 15px;
    padding-right: 15px;
}


input:focus {
    outline: none;
}


body.search .page-content, body.error404 .page-content {
    padding-top: 80px;
    padding-bottom: 80px;
    border-top: 1px solid #C2CBCB;
    font-family: "Roboto", Sans-serif;
}

.hypprobat-form, #breadcrumbs {
    font-family: "Roboto", Sans-serif;
}


/*--------------------------------------*\
	Header
\*--------------------------------------*/

.hfe-nav-menu__layout-horizontal {
    width: 100% !important;
}

.btn-search a.elementor-button {
	width: 47px;
    height: 47px;
}


.open-search svg {
    transition: transform 0.4s ease;
}

.open-search:hover svg {
    transform: scale(1.2);
}





/*--------------------------------------*\
	Block search
\*--------------------------------------*/
.block-search {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0,0,0,.7);
    z-index: 1000;
    height: 100%;
    width: 100%;
}

.back-section {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}



/*--------------------------------------*\
	Home page
\*--------------------------------------*/


.categories-projet {
	display: flex;
	align-items: center;
}

.icon-categories-projet {
	width: 20px;
    height: 27px;
	margin-right: 10px;
}

/* .list-categories-projet {
	 text-transform: uppercase;
} */

.info-projet, .slider-nav-carousel-projets {
    font-family: "Roboto", Sans-serif;
}

.url-info-projet img {
	transition-duration: .3s;
    transition-property: transform;
}


.url-info-projet {
    display:block ;
    margin-bottom: 20px;
    border-radius: 12px;
    overflow: hidden;
}

.url-info-projet:hover img{
    transform :scale(1.1);
}



.info-projet hr {
	margin-top: 10px;
	width: 100px;
}

.title-projet {
	display: flex;
	justify-content: space-between;
    align-items: flex-start;
	margin-top: 20px;
}

.title-projet h3 {
    margin:0;
    position: relative;
    display: inline-block;
    
    font-size: 24px;
}

.title-projet h3::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -5px; /* Distance sous le texte */
    width: 0;
    height: 1px;
    background-color: #003d35;
    transition: width 0.4s ease;
}

.title-projet h3:hover::after {
    width: 100%;
}

.title-projet a {
    color: #231f20;
    transition: all 0.4s ease;
}

.title-projet a:hover {
    color:#003d35;
}

.url-projet {
	padding: 15px 25px;
    border-radius: 50px;
	border: 1px solid #e1e7e1;
	display: flex;
	align-items: center;
	position: relative;
    overflow: hidden;
}

.url-projet::before {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    width: 0%;
    height: 100%;
    display: block;
    z-index: 1;
    background: #E2A760;
    transition: all 0.3s ease;
}

.url-projet svg {
	width: 10px;
	height: 9px;
	position: relative;
	z-index: 2;
}

.url-projet:hover::before {
    width: 100%;
}

.url-projet:hover polygon {
    fill :#fff;
}

.swiper-pagination {
	position: static;
}

/*
.btn-next-carousel-projets,
.btn-prev-carousel-projets{
    background:#273D95;
    color:#fff;
    border:none;
    padding:12px 20px;
    cursor:pointer;
    border-radius:5px;
}

.btn-next-carousel-projets:hover,
.btn-prev-carousel-projets:hover{
    background:#1d2f73;
}*/

.slider-nav-carousel-projets {
    display: flex;
    margin-top: 40px;
    justify-content: center;
    gap: 30px;
    font-weight: bold;
}


.btn-prev-carousel-projets , .btn-next-carousel-projets {
	display: flex;
	align-items: center;
	justify-content: center;
	border: none;
    background: none;
    font-size:16px;
    padding: 0;
    margin: 0;
}


/*
.icon-prev-carousel-projets, .icon-next-carousel-projets {
    background-position :center center;
    background-repeat : no-repeat;
    width: 23px;
    height: 23px;
}*/

/*
.icon-prev-carousel-projets {
    background-image: url(../images/carousel-arrow-left.svg);
    margin-right: 10px;
}

.icon-next-carousel-projets {
    background-image: url(../images/carousel-arrow-right.svg);
    margin-left: 10px;
}*/

.text-next-carousel-projets {
    margin-right: 15px;
    transition: all 0.4s ease;
}

.text-prev-carousel-projets {
    margin-left: 15px;
    transition: all 0.4s ease;
}


.icon-next-carousel-projets , .icon-prev-carousel-projets {
    transition: all 0.4s ease;
}

.icon-next-carousel-projets svg, .icon-prev-carousel-projets svg{
    width:11.33px;
    height:21.65px;
}

.btn-next-carousel-projets:not([disabled]):hover .icon-next-carousel-projets{
     transform: translate(5px,0px);
}

.btn-prev-carousel-projets:not([disabled]):hover .icon-prev-carousel-projets{
   transform: translate(-5px,0px);
}

.btn-next-carousel-projets:not([disabled]):hover .text-next-carousel-projets{
    color:#003d35;
}

.btn-prev-carousel-projets:not([disabled]):hover .text-prev-carousel-projets{
    color:#003d35; 
}

.btn-prev-carousel-projets:not([disabled]):hover svg path, .btn-next-carousel-projets:not([disabled]):hover svg path {
       fill:#003d35;  
}



.slider-nav-carousel-projets button[aria-disabled="true"]  .icon-prev-carousel-projets, .slider-nav-carousel-projets   button[aria-disabled="true"] .icon-next-carousel-projets{
    opacity:0.3;
}    

.text-info {
    position: relative;
}

.text-info::before {
    content:"";
    position: absolute !important;
    background: #fff;
    display:block;
    height: 3px;
    width: 150px;
    bottom: 0;
    left:0;
}

/*--------------------------------------*\
	Inner page
\*--------------------------------------*/
.container-right, .container-left  {
    position: absolute;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: auto;
}

.style-separator {
    position: relative;
}

.style-separator::before {
    content: "";
    position: relative !important;
    background: #003d35;
    display: block;
    height: 1px;
    width: 150px;
    top: 17px;
    margin: auto;
}

/*--------------------------------------*\
	Form
\*--------------------------------------*/
.hypprobat-form .wpforms-container-full{
    margin:0 !important;
}

.hypprobat-form input {
    min-height: 60px !important;
}

.hypprobat-form input:focus, .hypprobat-form input:hover, .hypprobat-form textarea:focus, .hypprobat-form textarea:hover {
    border:1px solid #003d35 !important;
    box-shadow:none !important;
}

.hypprobat-form  .wpforms-container .wpforms-field {
    padding:0 !important;
}

.hypprobat-form  .wpforms-submit-container {
    margin:0 !important;
}

.hypprobat-form input, .hypprobat-form textarea {
    border-radius: 10px !important;
    display: block !important;
    width: 100% !important;
    padding: 15px 15px !important; 
    background-color: #fff !important;
    border:1px solid #e1e7e1 !important;
    transition: all 0.4s ease !important;
    margin-bottom:25px !important;;
}

.hypprobat-form label, .hypprobat-form input, .hypprobat-form textarea{
    font-size: 16px !important;
    color:#231f20 !important;
}

.hypprobat-form  .wpforms-submit-container {
    text-align: center;
}

/*
.hypprobat-form .wpforms-container {
     margin-top :0 !important;
}*/

.hypprobat-form  .wpforms-error {
    margin-top :0 !important;
    margin-bottom :25px;
}


/*--------------------------------------*\
	Breadcrumbs
\*--------------------------------------*/
#breadcrumbs {
    margin-bottom: 0;
    color: #fff;
}

#breadcrumbs a {
    color: #E2A760;
}

#breadcrumbs .separator-breadcrumb {
    margin: 0 15px;
}

/*--------------------------------------*\
	Footer
\*--------------------------------------*/
.form-newsletter-website .tnp-email{
    background-color:#195049 !important;
    border:none !important;
    color:#fff !important;
    
    padding: 5px 20px 5px 81px  !important;
    height: 60px !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    
    display: block !important;
    width: 100% !important;
    border-radius:10px 35px 35px 10px !important;
    max-width:none !important;
    margin:0 !important;
    
    border: 1px solid #ffffff00  !important;
    
    
    transition: all 0.4s ease !important;
}

.form-newsletter-website .tnp-subscription-minimal form {
    display: flex !important;
    align-items: flex-start !important;
    height: 60px !important;
    position: relative;
}


.form-newsletter-website .tnp-email::placeholder {
    color:#fff !important;
}

.form-newsletter-website .tnp-submit{ 
    height: 60px !important;
    width: 60px !important;
    border-radius: 40px !important;
    display:block !important;
    position: absolute !important;
    bottom: 0;
    right: 0;
    top: 0;
    cursor: pointer ;
    background-color :#fff !important;
    transform: scale(0.8);
    background-repeat: no-repeat !important;
	background-position:center center !important;

	background-image: url(../images/icon-newsletter-2.svg) !important;
	background-size:55%;
}

.form-newsletter-website form {
    position: relative !important;
}


.form-newsletter-website form::before {
    content:"";
    position: absolute !important;
    top: 0;
    left:20px;
    background-image: url(../images/icon-newsletter-1.svg);
    background-repeat: no-repeat ;
	background-position:center center;
	height: 100%;
    width: 20px;
}

.form-newsletter-website form::after {
    content: "";
    position: absolute !important;
    top: 15px;
    left: 60px;
    width: 1px;
    height: 30px;
    background: #fff;
}

.form-newsletter-website .tnp-email:focus {
    outline: none;
    border: 1px solid #fff !important;
    transition: all 0.3s ease;
}

footer .elementor-widget-icon-list .elementor-icon-list-items li.elementor-icon-list-item a:hover {
    text-decoration :none;
}

/*
.scroll-top-button {
     background: red;
    z-index:100;
    position:fixed;
    bottom:10px;
    left:10px;
}*/


#back-to-top-btn{
    position:fixed;
    bottom:30px;
    left:30px;
    width:45px;
    height:45px;
    background: #e2a760;
    color: #fff;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    z-index:99999;
    box-shadow:0 10px 30px rgba(0,0,0,.15);
    opacity:0;
    visibility:hidden;
    transform:translateY(20px);
    transition:all .3s ease;
}

#back-to-top-btn.show{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

#back-to-top-btn:hover{
    transform:translateY(-3px);
}

#back-to-top-btn svg{
    width:20px;
    height:20px;
}

@media(max-width:768px) {

    #back-to-top-btn {
        width:50px;
        height:50px;
        left:15px;
        bottom:15px;
    }
}




/*--------------------------------------*\
	Switch
\*--------------------------------------*/


.floating-language-switcher{
    position:fixed;
    bottom:30px;
    right:30px;
    z-index:99999;
    font-family:inherit;
}
 
.floating-language-switcher .lang-toggle{
    display:flex;
    align-items:center;
    gap:8px;
    background:#e2a760;
    color:#fff;
    border:none;
    border-radius:50px;
    padding:12px 18px;
    cursor:pointer;
    box-shadow:0 10px 30px rgba(0,0,0,.15);
    font-size:14px;
    font-weight:600;
    transition:.3s;
}
 
.floating-language-switcher .lang-toggle:hover{
    transform:translateY(-2px);
}
 
.floating-language-switcher .lang-list{
    position:absolute;
    bottom:60px;
    right:0;
    list-style:none;
    background:#fff;
    border-radius:16px;
    padding:10px;
    min-width:120px;
    box-shadow:0 15px 40px rgba(0,0,0,.12);
    opacity:0;
    visibility:hidden;
    transform:translateY(10px);
    transition:.3s;
    margin: 0px !important;
}
 
.floating-language-switcher:hover .lang-list{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}
 
.floating-language-switcher .lang-list li{
    margin:0;
}
 
.floating-language-switcher .lang-list li a{
    display:block;
    padding:10px 14px;
    text-decoration:none;
    color:#333;
    border-radius:10px;
    transition:.3s;
}
 
.floating-language-switcher .lang-list li a:hover{
    background:#f5f5f5;
}
 
.floating-language-switcher .lang-list li.active a{
    background:#e2a760;
    color:#fff;
}
 
@media(max-width:768px){
    .floating-language-switcher {
        right:15px;
        bottom:15px;
    }
 
    .floating-language-switcher .lang-toggle{
        padding:10px 15px;
    }
}


/*--------------------------------------*\
	Search page
\*--------------------------------------*/




.page-title {
    text-align: center;
    margin-bottom: 60px;
    color: #003d35;
}

.para-not-found {
    text-align: center;
    margin-bottom: 30px;
}


.results > div {
    display: flex;
    margin-bottom: 60px;
    background: #f4f4f4;
    justify-content: flex-start;
    padding: 30px;
    flex-wrap: nowrap;
    align-items: center;
    border-radius: 12px;
    box-shadow: rgba(17, 17, 26, 0.1) 0px 1px 0px;
    gap: 30px;
}

.results img {
    max-width: 100%;
    height: auto;
    display: block;
}

.post-text {
    width: calc(70% - 30px);
}

.post-text h2 {
    font-size: 24px;
    margin:0;
    line-height: 1.1;
}

.post-thumb {
    display: block;
    width: 30%;
    border-radius: 12px;
    overflow: hidden;
}

.results a {
    color: #003d35;
    transition: all .3s;
}

.results a:hover {
    text-decoration: none;
    color:#e2a760 ;
}

.page-title span {
    color:#e2a760 ;
}

.content-form-not-found {
    display: flex;
    width: 588px;
    margin: auto;
}

.search-not-found {
    width: 80%;
    background: #fff;
    height: 50px;
    padding: 0 20px;
    border: solid 1px #C2CBCB;
    transition: all .3s;
}

.search-not-found:focus {
    border: solid 1px #003D35;
}

.button-not-found {
    width: 20%;
    border: none;
    background: #F2F2F2;
    background-size: 30px;
    display: block;
    border: solid 1px #C2CBCB;
    transition: all .3s;
    border-left: 0px;
}

.button-not-found svg {
    width: 30px;
    color:#003D35;
}

.button-not-found:hover {
    background-color: #fff;
}

.post-text > div {
   margin-top:30px;
}

.post-thumb  img {
    transition-duration: .3s;
    transition-property: transform;
}

.post-thumb:hover img{
    transform :scale(1.1);
}


/*--------------------------------------*\
	Pagination
\*--------------------------------------*/
.pagination-content {
    text-align: center;
}

.pagination-content > .pagination > * {
    display: inline-block;
    vertical-align: top;
    font-size: 1.125rem;
    font-weight: bold;
    margin: 0 2px;
    border-radius: 50%;
    text-align: center;
    width: 2rem;
    height: 2rem;
    line-height: 2rem;
    color: #121212;
    text-decoration: none;
    transition: all 0.3s;
}

.pagination-content > .pagination .current {
    color: #fff;
    background-color: #e2a760;
}

.pagination-content > .pagination a:hover {
    color: #e2a760;
    background-color: #f4f4f4;
}

.pagination-content .prev , .pagination-content .next {
    line-height: 1.7rem;
}


/*--------------------------------------*\
	Fixed menu home page
\*--------------------------------------*/
.site-header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    transition: all 0.3s ease;
}

/* Apparence après le scroll */
.site-header.header-scrolled {
    position: fixed;
    top: 0;
    background: #003d35;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

/* Header caché quand on descend */
.site-header.header-hidden {
    transform: translateY(-100%);
}


/* Apparence normale */
.site-header .elementor-nav-menu a {
    color: white;
}

/* Apparence après scroll */
.site-header.header-scrolled .elementor-nav-menu a {
    color: #222;
}


.logo-scroll {
    display: none;
}

.header-scrolled .logo-normal {
    display: none;
}

.header-scrolled .logo-scroll {
    display: block;
}


/*--------------------------------------*\
	Responsive
\*--------------------------------------*/
@media only screen and (max-width : 1400px) {
    
    #menu-mobile {
		display: none;
		background: #fff;
       	position: fixed;
		top: 0;
        left: 0;
		z-index: 999;
		height: 100%;
		width: 100%;
        overflow: auto;
	}

    #menu-mobile > div 
	{
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
	}

    .body-mobile {
        overflow: hidden;
    }

    .nav-menu-mobile nav {
        width: 100% !important;
    }

    .nav-menu-mobile nav > ul > li {
        border-bottom: 1px solid #C4C4C4;
    }

    #menu-mobile .hfe-nav-menu__align-left .hfe-nav-menu__layout-vertical li a.hfe-menu-item,#menu-mobile .hfe-nav-menu__align-left .hfe-nav-menu__layout-vertical li a.hfe-sub-menu-item {
        justify-content: space-between !important;
    }
}


@media only screen and (max-width : 767px) {
    
    .hypprobat-form .wpforms-field {
        float: none !important;
        margin-left: 0 !important;
        width: 100% !important;
    }
    
    .post-thumb, .post-text {
        width: 100%;
    }

    .post-thumb {
        margin: 0;
    }

    .results > div {
        flex-direction: column;
    }

    .post-text {
        margin-top: 0;
    }
}


@media only screen and (max-width : 700px) {
    .content-form-not-found{
        width: 100%;
    }
}
























