/*

Theme Name: OceanWP Child Theme

Theme URI: https://oceanwp.org/

Description: OceanWP WordPress theme. Sample child theme.

Author: CREUSALIS

Author URI: https://oceanwp.org/

Template: oceanwp

Version: 1.0

*/



/* Parent stylesheet should be loaded from functions.php not using @import */



/* ----------- */

/* CSS Global */

/* --------- */

p, h1, h2, h3, h4, a{

  font-family: "Montserrat", sans-serif !important;

}



a, button, .menu-item a, img  {

  -webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important;

  -webkit-focus-ring-color: rgba(0, 0, 0, 0) !important;

  user-select: none !important;

  outline: none !important;

}



.buttonNewsletter input{

  background-color:#ce6438!important;

  color: white !important;

  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);

}

.buttonNewsletter input:hover{

  background-color:white !important;

  color:#ce6438 !important;

  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);

}

.content-area{

  border-style:none !important;

}



.text-size{

  font-size:12px;

  margin: 0;

}

.responsive-display{

  display:none;

}

.relative {

  position: relative;

}

.flexContainerS {

  width: 60%;

  display: flex;

}

.flexContainerM {

  width: 90%;

  display: flex;

}

.flexContainerFull {

  width: 100%;

  display: flex;

}

.flexContainer{

  display: flex;

}

.flexRow {

  flex-direction: row;

}

.flexCol {

  flex-direction: column;

}

.flexWrap{

  flex-wrap: wrap;

}

.flexGrow{

  flex: 1;

}

.flexAlignEnd {

  align-items: flex-end;

}

.flexAlignCenter {

  align-items: center;

}

.flexAlignStart {

  align-items: flex-start;

}

.flexJustifyCenter {

  justify-content: center;

}

.flexJustifyEnd {

  justify-content: flex-end;

}

.flexJustifySpaceBetween{

  justify-content: space-between;

}

.text-uppercase {

  text-transform: uppercase;

}

.py-60{

  padding-top:60px;

  padding-bottom:60px;

}

.m-0{

  margin:0;

}

.gap-20{

  gap:20px;

}

.gap-5{

  gap:5px;

}

.textJustify{

  text-align: justify;

}

.globalColorGreen{

  color: #0c8948 !important;

  border-color:#0c8948 !important;

}

.globalColorBlue{

  color: #5f91b3 !important;

  border-color:#5f91b3 !important;

}

.globalColorOrange{

  color: #ce6438 !important;

  border-color:#ce6438 !important;

}

.globalColorYellow{

  color: #eba942 !important;

  border-color:#eba942 !important;

}

.globalColorGold{

  color: #adaf4c !important;

  border-color:#adaf4c !important;

}

.globalColorWhite{

  color: white !important;

  border-color:White !important;

}

.globalBackgroundBlue{

  background: #5f91b3;

  padding-left:5px;

  padding-right:5px;

}

.globalBackgroundGreen{

  background: #0c8948;

  padding-left:5px;

  padding-right:5px;

}

/* Fin CSS Global */



/* #### CSS Mobile first #### */

/* ------------------------------ */

/* Style des articles single.php */

/* ---------------------------- */

.containerArticle {

  width: 90%;

  z-index:99;

}

#bannerArticle {

  width: 100%;

  height: auto;

  display: flex;

  align-items: center;

  justify-content: flex-start;

  padding-left:1em;

  padding-top:1em;

}

.singleArticle {

  display: flex;

  justify-content: center;

  background-image: url("https://creusalis.fr/wp-content/uploads/2024/05/pattern_opacity.png");

}

.singleArticle:before {

  content: "";

  position: absolute;

  top: 0px;

  right: 0px;

  bottom: 0px;

  left: 0px;

  background-image: url("https://creusalis.fr/wp-content/uploads/2024/04/background.png") ;

  background-repeat:no-repeat;

  background-attachment:fixed;

  background-position:center bottom;

  opacity:0.1;

}

.bannerBgArticle {

  border-left: 2px solid #acb027;

  border-bottom: 2px solid #acb027;

}

.container-social-media{

  display:flex; 

  flex-direction:column; 

  position:absolute; 

  align-items:flex-end; 

  width:100%; 

  top:0;

  right:5px;

}

.container-social-media a{

  width:20px;

  height:20px;

}

.bannerTitleThin {

  font-size: 1.2em;

  font-weight: 200;

  color: #1F1F1F;

}



.bannerTitleBold {

  font-size: 1.2em;

  font-weight: 500;

  color: #ADAF4C;

}

#contentArticle {

  margin-top: 30px;

  margin-bottom: 30px;

  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);

  background: rgba(255, 255, 255, 0.7);

  border-radius:4px;

}

.titleArticle {

  padding-top:15px;

  padding-bottom:10px;

  text-align: left;

  font-size: 1.2em;

}

#postThumbnail {

  width:100%;

  height: 200px;

  margin-bottom: 1em;

}

#postThumbnail img {

  width: 100%;

  object-fit: contain;

  aspect-ratio: 16 / 9;

}

.nav-button {

  margin: 0.5em;

}

.nav-button a {

 

  color: #acb027 !important;

  font-weight: 400;

  border-left:1px solid #acb027;

  border-top:1px solid #acb027;

  border-bottom:1px solid #acb027;

  padding: 0.5em 1em 0.5em 1em;

  transition: 200ms;

}

.nav-button a:hover {

  color: white !important;

  background:#acb027;

  transition: 200ms;

}

/* Fin de style des articles */



/* ---------------------------------- */

/* Style vignettes location et vente */

/* -------------------------------- */

.containerThumbnail{

  display: grid;

  width: 100%;

  grid-template-columns: repeat(1, 1fr);

}

.heightThumbnail{

  min-height: 350px;

  max-height: 350px;

}

.thumbnailBackground{

  position:absolute;

  top:0;

  left:0;

  object-fit:cover;

  width:100%;

  z-index:2;

}

.containerInfo{

  width:90%; 

  background:white; 

  height:auto; 

  margin-bottom:20px; 

  padding:5px 10px 0px 10px; 

  z-index:3;

}

.containerInfo h3{

  font-size:1em; 

  margin-bottom:5px;

}

.containerInfoLieux{

  font-size:11px; 

}

.containerInfoLink{

  display:flex;

  position:absolute;

  bottom:-10px;

  right: -10px;

  font-size:16px; 

  font-weight:600; 

  height:30px;

  width:30px;

  color:white;

  background: #5f91b3; 

  border: 1px solid #5f91b3;

  border-radius:4px;

  transition:200ms;

}

.containerInfoLink:hover{

background:white;

color: #5f91b3;

transition:200ms;

}

.containerInfoPrix{

  font-size:16px;

}

.no-results-banner{

	border-radius:4px;

	background: #5F91B3;

	padding:20px;

	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);

}

.no-results-banner p{

	color:white;

	font-weight:600;

	padding:0 !important;

	margin:0 !important;

}

/* Fin style vignette location et vente */



/* -------------------- */

/* Style page de vente */

/* ------------------ */

.containerAnnonceInfo{

  display:grid;

  grid-template-columns: repeat(1, 1fr);

  gap:20px;

  width: 100%;

}



.blockInfo{

  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);

  padding:2em;

  border-radius:4px;

  min-height:300px;

}

.blockInfo h2{

  color:#5f91b3;

}

#saleBlockInformation{

  background-image: url('https://creusalis.fr/wp-content/uploads/2024/06/Background-vente-vignette-infos.png');

  background-color: #ffffff4f;

  background-size: contain;

  background-repeat: no-repeat;

  background-position: right;

}

#saleBlockEnergy{

  background-image: url('https://creusalis.fr/wp-content/uploads/2024/06/Background-vente-vignette-engergie.png');

  background-color: #ffffff50;

  background-size: contain;

  background-repeat: no-repeat;

  background-position: right;

}

#saleBlockCharacteristic{

  background-image: url('https://creusalis.fr/wp-content/uploads/2024/06/Background-vente-vignette-caracteristique.png');

  background-color: #ffffff50;

  background-size: contain;

  background-repeat: no-repeat;

  background-position: right;

}

.containerPictures{
  display:grid;
  grid-template-columns: repeat(1, 1fr);
  gap:5px;
  width: 100%;
}
.containerPictures img{
  height: 200px;
  width: 100%;
  object-fit: cover;

}

.diagnosis {

  text-align: center;

  font-size: 10px;

}



.diagnosis_letter {

  display: inline-block;

  min-width: 16px;

  border-radius: 2px;

}



.diagnosis_letter-selected {

  font-weight: 600;

  padding: 0px 5px 0px 5px;

  margin-right: 2px;

  margin-left:2px;

  font-size: 14px;

}



/* --------------- */

/* simplelightbox */

/* ------------- */

.sl-overlay{

  background:#000000 !important;

} 

.sl-wrapper button{

  color:white !important;

  font-size:3em !important;

}

.sl-close{

border-left: 2px solid #5f91b3 !important;

border-bottom: 2px solid #5f91b3 !important;

}

/* Fin simple lightbox */



/* ------------------- */

/* Menu de navigation */

/* ----------------- */

.sticky {

  top: 0 !important;

  background: white !important;

  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); 

} 

.menu-icon-custom .premium-menu-link-parent{

	display:flex;

	flex-direction:column-reverse;

	align-items:center;

	height:100%;

	justify-content:center;

}

.menu-icon-custom i{

	order:1;

	font-size:1.7em;	

}

.premium-nav-menu-container li{

	display:flex;

	flex:1;

}

#menu-principal a{

	width:100%

}

.premium-item-hovered a, .premium-item-hovered i{

	transition:0ms !important;

	transition-delay:0ms !important;

}

.premium-sub-menu li{

	transition:200ms;

	

}

.premium-sub-menu li:hover{

	transition:200ms;

	transform-origin: 30% 50%;

	transform:scale(1.02);

	box-shadow: 1px 1px 4px 1px #00000026;

}



/* ------------ */

/* Menu mobile */

/* ---------- */

@media(max-width:1024px){

	.rmp-container{

	 background-image: url("https://creusalis.fr/wp-content/uploads/2024/05/pattern.png")!important;

	background-repeat:no-repeat;

  background-position:center bottom;

	display:flex !important;

	flex-direction:column !important;

	justify-content:space-around;

}

.fa-solid{

  font-size:20px !important;

  width:40px;

  }

.rmp-menu a{

	display:flex !important;

	flex-direction: row-reverse;

	justify-content: flex-end;

	align-items:center;

}

.rmp-menu-sub-level-item{

	padding-left:15%;

}

.rmp-menu-subarrow, .rmp-menu-subarrow-active{

  display:flex !important;

  align-items:center;

  padding-right:1em;

}

}

/* Fin Menu de Navigation */



/* ------------------- */

/* Barre de recherche */

/* ----------------- */

#principal-search .is-search-form{

	display:flex;

	box-shadow: 1px 1px 4px 1px #00000026 !important;

	height:3em;

	background:white;

		border-radius:4px !important;

}

.is-search-form{

	display:flex;

	box-shadow: 1px 1px 4px 1px #00000026 !important;

	background:white;

		border-radius:4px !important;

}

.is-search-input{

	height:100% !important;

	font-weight:500;

	border-radius:4px !important;

	

}

.is-search-submit{

	height:100% !important;

	border-radius:4px !important;

}

.is-search-icon svg{

	transition:300ms;

}

.is-search-icon svg:hover{

	transition:200ms;

	transform:scale(1.2);

}

/* Fin barre de recherche */



/* ----------------------------- */

/* Page consultation Entreprise */

/* --------------------------- */

.btn-consult{

  width:100%;

background-size:cover;

background-repeat: no-repeat;

background-position:right;

background-color:white  !important;

color:#CE6438 !important;

}

.btn-consult-travaux{

background-image: url('https://creusalis.fr/wp-content/uploads/2024/05/Background-button-consultTravaux.png'); 



}

.btn-consult-services{



background-image: url('https://creusalis.fr/wp-content/uploads/2024/05/Background-button-consultServices.png') !important; 

}

.btn-consult-fournitures{

background-image: url('https://creusalis.fr/wp-content/uploads/2024/05/Background-button-consultFournitures.png') !important; 

}



.btn-consult:hover{

transition:200ms;

background-color:#CE6438 !important;

color:white !important;

}

/* Fin page consultation Entreprise */



/* --------------------------------- */

/*Presentation des articles de blog */

/* ------------------------------- */

#blog-accueil .premium-blog-post-content{

	display:none;

}

.premium-blog-entry-title{

	padding-right: 1em;

	padding-left:1em;

	padding-bottom:1em;

}

.premium-blog-excerpt-link-wrap{

	display:flex;

	justify-content:flex-end;

	margin-top:-15px;

	margin-bottom: 20px;

	margin-right:20px

}

.premium-blog-cats-container{

	width:100%;

	display:flex;

	justify-content:flex-end;

}

.premium-blog-content-wrapper {

	padding:0 !important;

}

.premium-blog-entry-meta, .premium-blog-post-content{

	padding:0em 1em 1em 1em;

}

.post-categories{

	margin-top:-15px !important;

	margin-right:-15px !important;

}

.premium-blog-inner-container{

	margin-right:30px;

	background:white;

}

/*Fin Presentation des articles de blog */



/* ------------------ */

/* Media social icon */

/* ---------------- */

.sfsi_shortcode_container {

  display: flex;

  padding-left: 5px;

  align-items: center;

}

/* Fin media social icon */



/* ---------------------- */

/* Affichage PDF Embeder */

/* -------------------- */

.pdfemb-viewer{

	border:none !important;

	  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);

	border-radius:4px;

}

/* Fin Affichage PDF Embeder */



/* ----------------------------- */

/* Vos questions - Page accueil */

/* --------------------------- */

.premium-testimonial-upper-quote{

	display:none;

}

/* Fin Vos questions - Page accueil */



/* -------------------------------- */

/* Style des liens dans paragraphe */

/* ------------------------------ */

p a {

	text-decoration:underline !important;

	padding-left:5px;

	padding-right:5px;

  background: linear-gradient(0deg, #895b82, #895b82) no-repeat right bottom / 0 var(--bg-h);

  transition: background-size 350ms;

  --bg-h: 100%;font-weight: 500;

}

p a:where(:hover, :focus-visible) {

	text-decoration:none !important;

	color :white !important;

  background-size: 100% var(--bg-h);

  background-position: left;

}

/* Fin Style des liens dans paragraphe */



/* -------------------------------- */

/* Style des formulaires */

/* ------------------------------ */

	.forminator-title{

		font-size:18px !important;

	}

	.forminator-subtitle{

		font-size:14px !important;

	}

.forminator-pagination-footer button{

	display:flex !important;

	justify-content:flex-start !important;

	width:auto !important;

	padding:0.5em 1em 0.5em 1em !important;

	margin: 0.5em 1em 0.5em 0em !important; 

}



/* ---------------------- */

/* Liste Offres d'emploi */

/* -------------------- */

.awsm-job-listing-item h2 :hover{

	color:#0c8948;

}

.awsm-job-listing-item h2 a{

	font-size:1em !important;

  color: #1F1F1F;

}

.awsm-job-listings{

	border:none;

}

.awsm-job-item {

	margin:5px;

		border-radius: 4px !important;

	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);

}

.awsm-job-more{

	font-size:12px !important;

	border-left:2px solid #0c8948;

	border-bottom:2px solid #0c8948;

	border-top:2px solid #0c8948;

	padding:0.5em 1em 0.5em 0.5em;

	color:#0c8948;

	transition:200ms

}

.awsm-job-more:hover{

	background: #0c8948;

	color:white;

	transition:200ms

}

.awsm-application-submit-btn{

	border-left: 2px solid #0c8948 !important;

	border-top: 2px solid #0c8948 !important;

	border-bottom: 2px solid #0c8948 !important;

	background:white !important;

	color: #0c8948 !important;

	border-radius:0 !important; 

}

.awsm-application-submit-btn:hover{

	background:#0c8948 !important;

	color: white !important;

}

/* Fin Liste Offres d'emploi  */

/* Page projets */
.project-title {
    position: relative;
    font-size: 28px;
    margin-bottom: 20px;
    padding-left: 18px; /* espace pour la barre */
}

.project-title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 4px;
    height: 70%;
    
    background: #0c8948;
    border-radius: 2px;
}

.project-card {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

/* Card design sobre et élégante */
.project-button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 22px;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(0, 0, 0, 0.08);
    color: #1f1f1f;
    text-decoration: none;
    font-weight: 500;
    font-size: 1.5rem;
    letter-spacing: 0.3px;
    transition: all 0.25s ease;
}


/* Petite flèche fine et discrète */
.project-button::after {
    content: "→";
    font-size: 0.95rem;
    margin-left: 14px;
    opacity: 0.6;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

/* Hover sobre */
.project-button:hover {
    background: #ffffff;
    border-color: rgba(0, 0, 0, 0.15);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.05);
}

.project-button:hover::before {
    opacity: 1;
}

.project-button:hover::after {
    transform: translateX(4px);
    opacity: 1;
}

/* Fin page projets */

/* ------------------------------- */

/* Responsive M => Breakpoint 720 */

/* ----------------------------- */

@media (min-width:720px){

  .bannerTitleThin {

    font-size: 2em;

  }

  .bannerTitleBold {

    font-size: 2em;

  }

  .container-social-media a{

    width:35px;

    height:35px;

  }

  .text-size{

    font-size:14px;

  }

  .responsive-display{

    display:block;

  }

  .containerAnnonceInfo{

    grid-template-columns: repeat(1, 1fr);

  }

  

}

/* Fin Responsive M */



/* ------------------------------- */

/* Responsive L => Breakpoint 900 */

/* ----------------------------- */

@media (min-width:900px){

  #postThumbnail img {

    object-fit: cover;

  }

  #postThumbnail {

    height: 300px;

    margin-bottom: 2em;

  }

  .titleArticle {

    padding-top:30px;

    padding-bottom:10px;

    text-align: left;

    font-size: 2em;

  }

  .containerPictures{

    grid-template-columns: repeat(2, 1fr);

  }

  .forminator-title{

		font-size:30px !important;

	}

}

/* Fin Responsive L */



/* --------------------------------- */

/* Responsive XL => Breakpoint 1025 */

/* ------------------------------- */

@media (min-width:1025px){

  .containerArticle {

    width: 1300px;

  }

  .bannerTitleThin {

    font-size: 2.5em;

  }

  .bannerTitleBold {

    font-size: 2.5em;

  }

  .text-size{

    font-size:16px;

  }

  #contentArticle {

    margin-top: 100px;

    margin-bottom: 100px;

  }

  #postThumbnail {

    height: 400px;

    margin-bottom: 3em;

  }

  #postThumbnail img {

    object-fit: cover;

  }

  .containerAnnonceInfo,.containerThumbnail{

    grid-template-columns: repeat(3, 1fr);

  }

  .containerPictures{
    grid-template-columns: repeat(5, 1fr);
  }
  

  .awsm-job-listing-item h2{

    font-size:1.3em !important;

  }

  .awsm-job-more{

    font-size:14px !important;

  }

  

}

/* Responsive XL */

/* Bouton Accès Rapides fixe */
#acces-rapides-trigger {
    position: fixed !important;
    bottom: 20px !important;
    left: 15px !important;
    z-index: 9999 !important;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    background-color: #5F91B3;
    color: #ffffff;
    border: 2px solid #5F91B3;
    border-radius: 6px;
    padding: 10px 16px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    align-items: center;
    gap: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
    transition: background-color 0.2s ease, color 0.2s ease;
}

#acces-rapides-trigger:hover {
    background-color: #ffffff;
    color: #5F91B3;
}

#acces-rapides-trigger svg {
    fill: currentColor;
    flex-shrink: 0;
}

/* Mobile : icône seule */
@media (max-width: 768px) {
    #acces-rapides-trigger {
        padding: 12px !important;
        border-radius: 50% !important;
        width: 50px !important;
        height: 50px !important;
        justify-content: center !important;
        bottom: 20px !important;
        left: 15px !important;
    }

    #acces-rapides-trigger span {
        display: none;
    }

    #acces-rapides-trigger svg {
        width: 22px;
        height: 22px;
    }
}

/* Overlay plein écran */
#acces-rapides-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 99999;
    background-color: #ffffff;
    background-image: url('https://creusalis.fr/wp-content/uploads/2024/05/pattern.png');
    background-repeat: repeat;
    background-size: auto;
    overflow-y: auto;
}

#acces-rapides-overlay.is-open {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Modal transparente centrée */
#acces-rapides-modal {
    background: transparent;
    width: 100%;
    max-width: 1100px;
    padding: 80px 40px 40px;
    box-sizing: border-box;
    position: relative;
    box-shadow: none;
    border-radius: 0;
}

@media (max-width: 768px) {
    #acces-rapides-modal {
        padding: 70px 16px 30px;
    }
}

/* Bouton fermer × en haut à droite */
#acces-rapides-close {
    position: fixed;
    top: 16px;
    right: 20px;
    background: none;
    border: none;
    font-size: 36px;
    cursor: pointer;
    color: #333;
    line-height: 1;
    z-index: 100000;
}

#acces-rapides-close:hover {
    color: #5F91B3;
}

@media (max-width: 768px) {
    #acces-rapides-close {
        font-size: 42px;
        top: 10px;
        right: 14px;
    }
}

/* Bouton Fermer en bas à droite */
#acces-rapides-close-bottom {
    min-width: 15%;
    color: #5F91B3;
    background-color: #ffffff;
    border-style: solid;
    border-width: 2px 2px 2px 0px;
    border-color: #5F91B3;
    padding: 0.5em 0em;
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.2s ease, color 0.2s ease;
}

#acces-rapides-close-bottom:hover {
    background-color: #5F91B3;
    color: #ffffff;
}

@media (max-width: 768px) {
    #acces-rapides-close-bottom {
        width: 100%;
        min-width: unset;
        padding: 0.8em 0;
        font-size: 16px;
        text-align: center;
    }
}




