@import url('https://fonts.cdnfonts.com/css/avenir');

@font-face {
 font-family: "Orpi";
 font-weight: 400;
 src: url("/wp-content/themes/orpi/fonts/Orpi-Regular.woff2") format("woff2"),
        url("/wp-content/themes/orpi/fonts/Orpi-Regular.woff") format("woff");
}


@font-face {
 font-family: "Orpi Medium";
 font-weight: 500;
 src: url("/wp-content/themes/orpi/fonts/Orpi-Medium.woff2") format("woff2"),
        url("/wp-content/themes/orpi/fonts/Orpi-Medium.woff") format("woff");
}

body {
    font-family: 'Orpi', sans-serif;
    font-size: 18px;
    color: #595959;
    line-height: 1.6;
    letter-spacing: 0px;
    font-weight: 400;
    margin: 0;
    transition: all 0.3s ease;
}

h1,
h2,
h3,
h4,
h5,
h6,
.title1,
.title2,
.title3,
.title4,
.title5,
.title6 {
  line-height: 1.2;
  letter-spacing: 0;
}
h1,
.title1 {
  font-size: 40px;
  letter-spacing: 0px;
}
h2,
.title2 {
  font-size: 30px;
  margin-bottom: 10px;
}
h3,
.title3 {
  font-size: 24px;
  font-weight: 500;
}
h4,
.title4 {
  font-size: 20px;
}
h5,
.title5 {
  font-size: 20px;
}
h6,
.title6 {
  font-size: 18px;
}
a {
  color: #595959;
  transition: all 0.3s ease-in-out;
  cursor: pointer!important;
  text-decoration:none; 
  font-size:16px;
}
a:hover {
    color: #E30513;
    text-decoration: none;
}
strong,
b {
  font-weight: 500;
}
body * {
  scrollbar-color: #9b9b9b transparent;
  scrollbar-width: thin;
}
body *:hover {
  scrollbar-color: #9b9b9b transparent;
}
body *::-webkit-scrollbar {
  width: 8px;
  height: 6px;
}
body *::-webkit-scrollbar-track {
  background: #dbdbdb;
  border-radius: 15px;
}
body *::-webkit-scrollbar-thumb {
  background: #9b9b9b;
  border-radius: 15px;
  border: 2px solid #dbdbdb;
}
body *:hover::-webkit-scrollbar-thumb {
  background: #9b9b9b;
}

@keyframes scale {
	0% {transform: scale(1)  }
	50% { transform: scale(1.1) }
  100% { transform: scale(1) }
}

@keyframes rotating {
  from {
    -ms-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -ms-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}


.img-fluid {
  width: 100%;
  height: auto;
}
.img-full {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.container {
  max-width: 1212px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
:focus {
  outline: none;
}
.btn.focus,
.btn:focus {
  outline: 0;
  box-shadow: none;
}
.form-control:focus {
  outline: 0;
  box-shadow: none;
}
button:focus {
  outline: none;
}

.btn, a.btn {
    background: #E30513 0% 0% no-repeat padding-box;
    border-radius: 15px;
    padding: 15px 30px 15px 30px;
    color: #fff;
    transition: all 0.3s ease-in-out;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 16px;
    border: none;
    font-family: 'Orpi', sans-serif;
}

.btn--custom,
a.btn--custom {
  background: #E30513;
  color: #fff !important;
  border-color: #E30513;
}
.btn--lite,
a.btn--lite {
  background: transparent;
  color: #E30513 !important;
}
.btn:hover,
a.btn:hover,
.btn--lite:hover,
a.btn--lite:hover {
    background: #595959;
}
.btn--lite:hover,
a.btn--lite:hover {
  color: #fff !important;
}


.hidden { display:none; }

.Open {
    display: block;
}


/* HEADER */


.sectHeader {
    width: 100%;
    z-index: 99;
    background: #fff;
    box-shadow: 0px 3px 36px #00000029;
    position: sticky;
    top: 0;
    left: 0;
    overflow: hidden;
}

#sectHeader .headerIntern {
    display: flex;
    justify-content: space-between;
    align-content: center;
    align-items: center;
    padding-right: 80px;
    padding-left: 80px;
}

#sectHeader .headerIntern .cntLogo {
    max-width: 160px;
    margin-right: 50px;
    margin-top: 10px;
}

#sectHeader .headerIntern .Reseaux {
    display: flex;
    justify-content: center;
}

#sectHeader .headerIntern .Reseaux.HeaderEnt {
    display: flex;
    justify-content: center;
}

#sectHeader .headerIntern .Reseaux.HeaderEnt > a {
    margin-right: 10px;
    margin-left: 10px;
}

#sectHeader .headerIntern .LayerG {
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
}

#sectHeader .headerIntern .LayerD {
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
}



ul.MenuHeader {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    align-content: center;
    list-style: none;
}

ul.MenuHeader li {
    margin-right: 20px;
    margin-left: 20px;
	margin-bottom:5px;
}

ul.MenuHeader li a {
    font-size: 16px;
}




header .menu-icon {
    cursor: pointer;
    display: inline-block;
    float: right;
    padding: 28px 20px;
    position: relative;
    user-select: none;
}

header .menu-icon .navicon {
  background: #333;
  display: block;
  height: 2px;
  position: relative;
  transition: background .2s ease-out;
  width: 18px;
}

header .menu-icon .navicon:before,
header .menu-icon .navicon:after {
  background: #333;
  content: '';
  display: block;
  height: 100%;
  position: absolute;
  transition: all .2s ease-out;
  width: 100%;
}

header .menu-icon .navicon:before {
  top: 5px;
}

header .menu-icon .navicon:after {
  top: -5px;
}

header .menu-btn:checked ~ .menu-icon .navicon {
  background: transparent;
}

header .menu-btn:checked ~ .menu-icon .navicon:before {
  transform: rotate(-45deg);
}

header .menu-btn:checked ~ .menu-icon .navicon:after {
  transform: rotate(45deg);
}

header .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before,
header .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after {
  top: 0;
}


.MenuResponsive, .menu-icon, .menu-btn { display:none!important; }



/* ENTETE */

#setBannierePage {
    height: 275px;
    overflow: hidden;
    position: relative;
}

.bannierePage:before {
    content: "";
    background: transparent linear-gradient(269deg, #0000001A 0%, #0c0c0c0d 43%, #0d0d0dbd 100%) 0% 0% no-repeat padding-box;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 2;
}

.bannierePage:after {
    content: "";
    position: absolute;
    width: 495px;
    height: 480px;
    background: url(/wp-content/themes/orpi/svg/rond1.svg);
    z-index: 3;
    top: -35%;
    right: 6%;
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0.6;
}


#setBannierePage .bannierePage {
    position: relative;
    z-index: 1;
}

#setBannierePage .bannierePage, #setBannierePage .cntimg {
    height: 100%;
}

#setBannierePage .bannierePage .cntimg, #setBannierePage .bannierePage .cntimg img {
    position: relative;
    z-index: 1;
}

#setBannierePage .bannierePage .txtcaption {
    position: absolute;
    top: 24%;
    left: 0;
    width: 100%;
    z-index: 5;
}

#setBannierePage .bannierePage .txtcaption h1 {
    color: #fff;
    margin-bottom: 0;
    position: relative;
    font-weight: 400;
}


#setBannierePage .bannierePage .txtcaption h1:after {
    content: "";
    width: 115px;
    height: 2px;
    background: #fff;
    position: absolute;
    left: 0;
    bottom: -20px;
}





/* SLIDE */

section#setBannierePageHome {
    overflow: hidden;
    height: 65vh;
    width: 100%;
    z-index: 1;
    position: relative;
}

.BoxImgSlide {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
	z-index:0;
}

.BoxImgSlide img {
    object-fit: cover!important;
    width: 100%;
    height: 100%;
    animation: scale 20s infinite;
}

.BlockContenuSlide {
    position: absolute;
    left: 10%;
    top: 20%;
}

.BlockContenuSlide h1 {
    font-size: 2.2em;
    font-weight: 400;
    color: #fff;
    margin-bottom: 10px;
}

.BlockContenuSlide h2 {
    font-weight: 500;
    font-size: 3.3em;
    margin: 0;
    color: #fff;
    position: relative;
}

.BlockContenuSlide h2:after {
    content: "";
    width: 90px;
    height: 2px;
    background: #fff;
    position: absolute;
    left: 0;
    bottom: -15px;
}

.BlockBandeauBlanc {
    position: relative;
    background: #fff;
    border-radius: 0 127px 127px 0;
    height: 130px;
    margin-top: 40px;
    width: 70%;
}

.BlockBandeauBlanc:before {
    content: "";
    position: absolute;
    left: -65%;
    width: 80%;
    background: #fff;
    display: block;
    height: 100%;
    z-index: 0;
}

.BlockBandeauBlanc .Content {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr 7fr;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-items: start;
    align-content: center;
}


.TexteCoteChiffre sup {
    position: relative;
    top: 2px;
    font-size: 16px;
}

span.TexteCoteChiffre {
    font-size: 1.8em;
    line-height: 1.2em;
    font-weight: 500;
    color: #E30513;
    margin-top: -7px;
}

span.Chiffre {
    font-size: 6em;
    font-weight: 500;
    color: #E30513;
    text-align: right;
}






/* block_hover_click_homepage ( Vous avez un projet )  */


section.block_hover_click_homepage {
	background: #FAFAFA;
	padding-top: 60px;
	padding-bottom: 60px;
	position: relative;
	min-height: 400px;
	overflow: hidden;
	font-size: 16px;
}


section.block_hover_click_homepage:before {
	content: "";
	position: absolute;
	width: 49%;
	height: 87vh;
	background: url(/wp-content/themes/orpi/svg/rond2.svg);
	z-index: 3;
	top: -46%;
	left: -18%;
	background-size: cover;
	background-repeat: no-repeat;
}

section.block_hover_click_homepage h3 {
	display: block;
	position: relative;
	margin-bottom: 40px;
	margin-top: 10px;
}

section.block_hover_click_homepage h3:after {
	content: "";
	width: 115px;
	height: 1px;
	background: #E30513;
	position: absolute;
	left: 0;
	bottom: -15px;
}

.Grid3H {
	position: relative;
	z-index: 5;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 0px 10px;
	align-content: center;
	align-items: center;
	margin-top: 60px;
	justify-content: center;
}

section.block_hover_click_homepage h3 {
	display: block;
	position: relative;
	margin-bottom: 40px;
	margin-top: 10px;
	font-weight: 400;
	font-size: 2.5rem;
}

section.block_hover_click_homepage .TexteaGauche {
	position: relative;
	z-index: 6;
}


section.block_hover_click_homepage .CentreIcone {}

section.block_hover_click_homepage .CentreIcone:before {
    content: "";
    width: 330px;
    height: 320px;
    display: block;
    position: relative;
    border: 1px dashed #f8babd;
    border-radius: 50%;
    margin: auto;
    animation: rotating 30s linear infinite
}


section.block_hover_click_homepage .TexteaDroite {
	position: relative;
	z-index: 6;
}


.ListingHoverClick.active .TexteClickHover {
	display: block;
}

.ListingHoverClick .TexteClickHover {
	display: none;
	font-size: 13px;
}

.ListingHoverClick {
	margin-bottom: 15px;
}


.TexteClickHover p {
	margin: 1px;
}


span.TitreClickHover {
	font-size: 22px;
	position: relative;
	cursor: pointer;
}


.CentreIcone img.img-fluid {
    max-width: 155px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}


span.TitreClickHover:before {
	content: "";
	width: 9px;
	height: 2px;
	display: block;
	background: #E30513;
	position: absolute;
	left: -20px;
	top: 50%;
	transition: all 0.6s ease;
}


.ListingHoverClick.active span.TitreClickHover:before {
	width: 90px;
	left: -100px;
}


.ListingHoverClick .TexteClickHover a {
	font-size: 13px;
	color: #E30513;
	text-decoration: underline;
}


/* CARTE ALSACE  */


section.block_carte_alsace_homepage {
    background: rgb(227,6,19);
    background: linear-gradient(90deg, rgba(227,6,19,1) 50%, rgba(255,255,255,1) 50%);
    min-height: 500px;
}

.block_carte_alsace_homepage .Grid3H {
    margin-top: 0;
    padding-left: 10%;
    padding-right: 10%;
}



.block_carte_alsace_homepage .TexteaGauche {
    color: #fff;
}

.block_carte_alsace_homepage .TexteaGauche .LabelOrpi {
    color: rgb(255 255 255 / 61%);
    font-size: 15px;
    font-weight: 500;
}

.block_carte_alsace_homepage .TexteaGauche h3 {
    position: relative;
    margin-bottom: 40px;
    margin-top: 10px;
    font-weight: 500;
    font-size: 2.5rem;
}

.block_carte_alsace_homepage .TexteaGauche h3:after { 

content: "";
    width: 115px;
    height: 1px;
    background: #fff;
    position: absolute;
    left: 0;
    bottom: -15px;
	
	}

.block_carte_alsace_homepage .CarteCentre {
    position: relative;
    overflow: hidden;
}

.itemPoint span {
    display: none;
}

.block_carte_alsace_homepage .ListeDesPoints {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.imgintern {
    position: relative;
    z-index: 0;
}

.itemPoint {
    background: url(/wp-content/themes/orpi/svg/rond1.svg);
    width: 15px;
    height: 15px;
    display: block;
    position: absolute;
    background-size: cover;
    z-index: 0;
}

.itemPoint.active {
    background: url(/wp-content/themes/orpi/svg/rond3.svg);
    width: 45px;
    height: 45px;
    background-size: cover!important;
    margin-left: -15px;
    margin-top: -10px;
    z-index: 3;
    transition: all 0.6s ease;
}

.itemPoint.active span {
    background: #e30714;
    display: flex;
    position: absolute;
    left: 38px;
    top: 11px;
    font-size: 14px;
    line-height: 1em;
    padding: 5px;
    border-radius: 5px;
    color: #fff;
}
.PointNum790 {
    top: 65%;
    left: 38%;
}
.PointNum776 {
    top: 43%;
    left: 44%;
}
.PointNum112 {
    top: 23%;
    left: 51%;
}

.PointNum99 {
    top: 42%;
    left: 35%;
}

.PointNum100 {
    top: 37%;
    left: 52%;
}

.PointNum105, .PointNum109 {
    top: 30%;
    left: 59%;
}

.PointNum90 {
    top: 60%;
    left: 38%;
}

.PointNum110 {
    top: 28%;
    left: 52%;
}

.PointNum103, .PointNum102{
    top: 35%;
    left: 57%;
}
.PointNum104{
    top: 34%;
    left: 55%;
}
.PointNum106 {
    top: 33%;
    left: 53%;
}

.PointNum108 {
    top: 32.54%;
    left: 57%;
}

.PointNum104 { 
    top: 42%;
    left: 35%;}

.PointNum87 {
    top: 73%;
    left: 46%;
}

.PointNum96 {
    top: 48%;
    left: 38%;
}

.PointNum101 {
    top: 39%;
    left: 49%;
}

.PointNum98 {
    top: 41%;
    left: 46%;
}

.PointNum88 {
    top: 64%;
    left: 39%;
}

.PointNum89 {
    top: 64%;
    left: 35%;
}

.PointNum94, .PointNum93  {
    top: 51%;
    left: 43%;
}

.PointNum97 {
    top: 40%;
    left: 55%;
}

.PointNum91 {
    top: 61%;
    left: 33%;
}

.PointNum95 {
    top: 49%;
    left: 45%;
}

.PointNum111 { 
   top: 26%;
    left: 47%;
}

.PointNum92 {
    top: 53%;
    left: 47%;
}

.PointNum113 {
    top: 33%;
    left: 47%;
}

.PointNum114 {
    top: 35%;
    left: 44%;
}

.PointNum107 {
    top: 31%;
    left: 54%;
}



.ListingHoverClickMap.active .TexteClickHoverMap {
	display: block;
}

.ListingHoverClickMap .TexteClickHoverMap {
	display: none;
	font-size: 13px;
}

.ListingHoverClickMap {
    margin-bottom: 8px;
}

.TexteClickHoverMap p {
	margin: 1px;
}


span.TitreClickHoverMap {
    font-size: 19px;
    position: relative;
    cursor: pointer;
    transition: all 0.6s ease;
}
span.TitreClickHoverMap:hover {
    color: rgb(227,6,19);
}

span.TitreClickHoverMap:before {
	content: "";
	width: 9px;
	height: 2px;
	display: block;
	background: #E30513;
	position: absolute;
	left: -20px;
	top: 50%;
	transition: all 0.6s ease;
}


.ListingHoverClickMap.active span.TitreClickHoverMap:before {
	width: 90px;
	left: -100px;
}


.ListingHoverClickMap .TexteClickHoverMap a {
	font-size: 13px;
	color: #E30513;
	text-decoration: underline;
}


ul.tabs {
    display: flex;
    list-style: none;
    padding: 0;
}


ul.tabs li {
    margin-right: 25px;
    font-size: 23px;
    cursor: pointer;
    color: #C6C6C6;
}

ul.tabs li.active {
    border-bottom: 1px solid;
    color: #E30513;
}



/* FLEX */


.Grid2Contenu {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px 60px;
    margin-top: 50px;
    margin-bottom: 50px;
}

.cntimg.Order2 {
    order: 1;
}

.Grid2Contenu .cntimg {
    height: 430px;
    border-radius: 15px;
}

.Grid2Contenu .cntimg img {
    object-fit: cover!important;
    height: 100%;
	width:100%;
    border-radius: 15px;
}

.Grid2Contenu .cntcontenu {
    display: flex;
    flex-direction: column;
    justify-content: center;
	font-size: 16px;
	    line-height: 1.5em;
}

.Grid2Contenu span.SousTitre {
    color: rgb(112 112 112 / 60%);
}

.cntcontenu h2 {
    color: #E30513;
    display: block;
    position: relative;
    margin-bottom: 25px;
    margin-top: 10px;
    font-weight: 500;
}

.cntcontenu h2:after {
    content: "";
    width: 115px;
    height: 1px;
    background: #E30513;
    position: absolute;
    left: 0;
    bottom: -15px;
}

.ContenuInterne a {
    background: #E30513 0% 0% no-repeat padding-box;
    border-radius: 15px;
    padding: 15px 30px 15px 30px;
    color: #fff;
    transition: all 0.3s ease-in-out;
    display: inline-block;
}

.ContenuInterne a:hover { 

background: #595959;
}


/* BLOCK ROUGE  */

section.BlockRouge {
    background: #E30513;
    padding-top: 60px;
    padding-bottom: 60px;
    color: #fff;
}

section.BlockRouge .Grid1Demi {
    display: grid;
    grid-template-columns: 2fr 1fr;
    padding-left: 10%;
}

.LayerGauche h3 {
    font-size: 3.6rem;
    font-weight: 400;
    line-height: 1.2;
    margin: 0;
}

.LayerGauche h3 span {
	font-weight:500;
    display: block;
}

.LinkBtm {
    display: flex;
    align-items: center;
}

.LinkBtm .button {
    background: #ffffff 0% 0% no-repeat padding-box;
    border-radius: 15px;
    padding: 15px 30px 15px 30px;
    color: #E30513;
    transition: all 0.3s ease-in-out;
}



/* BLOCK 100IMG FOND */

section.BlockImgFond100 {
    background: #FAFAFA;
    padding-top: 60px;
    padding-bottom: 60px;
    position: relative;
    min-height: 260px;
    overflow: hidden;
    font-size: 16px;
}

section.BlockImgFond100:before {
    content: "";
    position: absolute;
    width: 49%;
    height: 87vh;
    background: url(/wp-content/themes/orpi/svg/rond2.svg);
    z-index: 3;
    top: -46%;
    left: -18%;
    background-size: cover;
    background-repeat: no-repeat;
}

section.BlockImgFond100 .container {
    z-index: 4;
    position: relative;
}

.BlockImgFond100 h2 {
    color: #E30513;
    display: block;
    position: relative;
    margin-bottom: 40px;
    margin-top: 10px;
    font-weight: 500;
}

.BlockImgFond100 h2:after {
    content: "";
    width: 115px;
    height: 1px;
    background: #E30513;
    position: absolute;
    left: 0;
    bottom: -15px;
}

.BlockImgFond100 h3 {
    font-style: italic;
    font-size: 2rem;
    font-weight: 500;
}





/* PETIT ENTETE */

section.Petite_entete_map {
    background: #FAFAFA;
    padding-top: 35px;
    padding-bottom: 30px;
    position: relative;
    min-height: 120px;
    overflow: hidden;
    font-size: 19px;
}

section.Petite_entete_map:before {
    content: "";
    position: absolute;
    width: 49%;
    height: 87vh;
    background: url(/wp-content/themes/orpi/svg/rond2.svg);
    z-index: 3;
    top: -89%;
    left: -19%;
    background-size: cover;
    background-repeat: no-repeat;
}

section.Petite_entete_map .container {
    z-index: 4;
    position: relative;
}


.Petite_entete_map p {
    margin: 0;
}


.Petite_entete_map h2 {
    color: #595959;
    display: block;
    position: relative;
    margin-bottom: 40px;
    margin-top: 10px;
    font-weight: 400;
}

.Petite_entete_map h2 span {
    color: #E30513;
    display: block;
    font-weight: 500;
}

.Petite_entete_map h2:after {
    content: "";
    width: 115px;
    height: 1px;
    background: #E30513;
    position: absolute;
    left: 0;
    bottom: -15px;
}




/* block_je_souhaite */


.block_je_souhaite {
    padding-bottom: 40px;
    padding-top: 30px;
    position: relative;
    z-index: 3;
}

.block_je_souhaite:before {
    content: "";
    width: 1px;
    height: 70px;
    background: #E30513;
    position: absolute;
    left: 50%;
    top: -30px;
}

.block_je_souhaite h2 {
    font-weight: 500;
    margin-bottom: 20px;
}

ul.souhait {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: auto;
    flex-wrap: wrap;
    list-style: none;
    flex-direction: row;
    align-content: center;
    align-items: center;
    padding: 0;
}

ul.souhait li {
    margin-right: 10px;
    margin-left: 10px;
    margin-bottom: 15px;
    display: flex;
}

ul.souhait li a {
    background: #E30513 0% 0% no-repeat padding-box;
    border-radius: 15px;
    padding: 15px 30px 15px 30px;
    color: #fff;
    transition: all 0.3s ease-in-out;
    font-size: 19px;
    border: 2px solid #fff;
}

ul.souhait li a:hover {  background: #fff;   color:#E30513;  border: 2px solid #E30513; }


.fondForm {
    position: absolute;
    width: 100%;
    height: 200vh;
    background: rgb(0 0 0 / 79%);
    top: 0;
    z-index: 11;
    padding: 15px;
}

.closed {
    position: absolute;
    top: 10%;
    right: 5%;
    font-size: 50px;
    color: #fff;
    cursor: pointer;
}

.containerForm {
    max-width: 625px;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
    z-index: 9;
    position: relative;
}

.BoiteForm {
    margin-top: 25%;
    z-index: 25;
    position: relative;
    border-radius: 54px;
    background: #fff;
    min-height: 500px;
    padding: 30px;
}

.BoiteForm {
    text-align: center;
}

.BoiteForm h4 {
    color: #E30513;
    margin-bottom: 5px;
    margin-top: 5px;
}

.BoiteForm h5 {
    margin: 0;
    color: #E30513;
    margin-top: 5px;
    margin-bottom: 5px;
}

.iframeBorder, .GeoNomAgence { display:none; }

.BoiteForm .BoutonGeolocForm {
    display: block;
    margin: auto;
    background: #F5F5F5;
    padding: 15px;
    width: 100%;
    border-radius: 130px;
    margin-bottom: 5px;
    font-weight: 400;
    border: 1px solid #595959;
    font-family: 'Orpi', sans-serif;
    text-transform: uppercase;
    cursor: alias;
}

.GeoNomAgence span {
    text-transform: uppercase;
    text-decoration: underline;
    font-size: 17px;
    font-weight: 500;
    display: block;
    margin-bottom: 5px;
}

.BoiteForm input#condition {
    margin-bottom: 0px;
}

.BoiteForm .captcha-image svg {
    padding: 5px;
    width: 30px;
    height: 30px;
}
.captcha-image label > input + svg{
        padding: 5px;
    width: 30px;
    height: 30px;
}

.BoiteForm .wpcf7-not-valid-tip {
    color: #dc3232;
    font-size: 12px;
    font-weight: 400;
    display: block;
}

.cf7ic p {
    margin: 0;
}

.BoiteForm .boxselect {
    margin-bottom: 15px;
    background: #FDF4F4!important;
    border-radius: 15px;
}

.BoiteForm .boxselect select {
    font-family: 'Orpi', sans-serif;
    font-size: 17px;
    padding-left: 19px;
    height: 60px;
}

.labeldifferent {
    text-align: left;
    padding-left: 7px;
    font-size: 14px;
    color: #707070;
}

.soulaitezlabel .itemField {
    background: transparent!important;
    text-align: left;
    padding: 0!important;
    height: auto!important;
    padding-bottom: 10px!important;
}

.soulaitezlabel .itemField p {
    margin: 0;
}

.soulaitezlabel .itemField span.wpcf7-list-item {
    margin-left: 0;
    margin-right: 10px;
}

/* CONTACT  */


section.block_formulaire {
    margin-top: 40px;
    margin-bottom: 40px;
}

.block_formulaire .BoiteForm {
    margin-top: 0;
    box-shadow: 0px 30px 60px #00000029;
}

span[data-name="emailagence"] {
    display: none;
}


/* BlockActualitesHome */

section.BlockActualitesHome {
    padding-top: 40px;
    padding-bottom: 25px;
    position: relative;
    overflow: hidden;
}

section.BlockActualitesHome .container { position:relative; 
z-index:2; }

section.BlockActualitesHome:after {
    width: 50%;
    height: 600px;
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    display: block;
    background: #FAFAFA;
}


.BlockActualitesHome .LabelOrpi {
    text-align: center;
    color: #828181;
    font-size: 15px;
    font-weight: 400;
}


.BlockActualitesHome h3.TitreBlock {
    text-align: center;
    font-weight: 400;
    margin-top: 15px;
    font-size: 34px;
}

.BlockActualitesHome h3.TitreBlock span {
    display: block;
    color: #E30513;
    font-size: 37px;
    font-weight: 500;
}

.BlockActualitesHome .listNews {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 50px 70px;
    margin-bottom: 40px;
}


.BlockActualitesHome .listNews__item .boxNew__img {
    border-radius: 15px;
    height: 540px;
}


.listNews__item.number1 {
    margin-top: 60px;
}

.listNews__item.number2 {
    margin-top: 30px;
}

.listNews__item.number3 {
    margin-top: 0px;
}


a.BoutonActuVoir {
    background: #fff;
    border-radius: 15px;
    padding: 15px 30px 15px 30px;
    color: #E30513;
    transition: all 0.3s ease-in-out;
    border: 2px solid #E30513;
}

a.BoutonActuVoir:hover {
    background: #E30513 0% 0% no-repeat padding-box;
    color: #fff;
	border: 2px solid #E30513;
}

.cntNew__descript img {
    width: auto;
    height: 100%;
    max-width: 400px;
}


/* LISTE AGENCES  */


.form-agences {
    margin-top: 30px;
}


.cnt-map {
    margin-top: 25px;
    height: 510px;
}

.cnt-map #map {
    position: relative;
    width: 100%;
    height: 500px;
    position: relative;
    z-index: 1;
}

#map {
    margin: 4px 0;
    float: left;
}

.leaflet-tile {
    filter: hue-rotate(345deg) !important;
}

.form-agences label {
    font-weight: 500;
    font-size: 20px;
    color: #E30513;
    margin-bottom: 10px;
    display: block;
}

div#custom-map-controls {
    max-width: calc(45% - 185px);
    flex: 0 0 calc(45% - 185px);
    position: relative;
}

a.search-cancel {
    display: none !important;
}

a.search-button:before {
    content: "";
    margin-right: 11px;
    background: url(/wp-content/themes/orpi/img/loupe.png);
    width: 12px;
    height: 12px;
    display: block;
    position: absolute;
    background-size: cover;
    top: 12px;
    right: 0;
}

a.search-button:after {
    content: 'Rechercher';
}

#custom-map-controls input#searchtext9 {
    display: block !important;
    overflow: hidden;
    color: #595959;
    background: #EBEBEB!important;
    border-radius: 15px;
    border: none;
    width: 95%;
    height: calc(1.5em + -0.25rem + 2px);
    font-size: 1rem;
    padding: 8px 23px;
    font-weight: 400;
    line-height: 1.5;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

ul.search-tooltip {
    background: #fff;
    border: 2px solid;
    position: absolute;
    cursor: pointer;
    z-index: 9999;
}

a.search-button {
    display: block !important;
    position: absolute;
    top: 0;
    right: -157px;
    width: 70px;
    font-size: 13px;
    font-weight: 500;
    color: #fff !important;
    background: #E30513;
    border: none;
    padding: 8px 26px;
    border-radius: 15px;
    transition: all 0.3s ease-in-out;
}

div#custom-map-controls::after {
    content: '';
    position: absolute;
    top: 50%;
    right: -10px;
    background: url(/wp-content/themes/orpi/svg/adresse.svg);
    transform: translateY(-50%);
    width: 15px;
    height: 20px;
    background-size: cover;
    background-repeat: no-repeat;
}



.leaflet-popup-content-wrapper {
    padding: 0!important;
    text-align: left!important;
    border-radius: 0!important;
}

.leaflet-popup .flexmarker {
    font-size: 12.5px;
}

.leaflet-popup .leaflet-popup-content .flexmarker .cotcontenu {
    padding: 15px 0px 10px 7px;
    float: left;
    font-weight: 500;
    width: 180px;
    color: #2c2b2b;
    line-height: 1.6em;
}

.leaflet-container {
    font-family: 'Orpi', sans-serif!important;
}

.cotcontenu b {
    color: #E30513;
}

.leaflet-popup {
    margin-bottom: -20px!important;
    margin-left: -20px;
}

.leaflet-popup-content-wrapper, .leaflet-popup-tip {
    background: white;
    color: #333;
    box-shadow: 0 3px 14px rgb(0 0 0 / 40%);
    overflow: hidden;
    border-radius: 0;
}

.leaflet-popup .leaflet-popup-content {
    width: 320px!important;
    height: 120px;
    overflow: hidden;
    margin: 0;
}


.leaflet-popup .leaflet-popup-content .flexmarker .cotimg {
    width: 120px;
    overflow: hidden;
    float: left;
    display: inline-block;
    height: 120px;
}

.leaflet-popup .leaflet-popup-content .flexmarker .cotimg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}






.listeGroupe {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px 20px;
    margin-top: 35px;
    margin-bottom: 50px;
}

.ListeAgenceJquery .boxselect {
    max-width: 230px;
}

h2.Special {
color: #E30513;
    display: block;
    position: relative;
    margin-bottom: 40px;
    margin-top: 25px;
    font-size: 1.8rem;
	    font-weight: 500;
    font-size: 1.83em;
}

h2.Special:after {
    content: "";
    width: 115px;
    height: 1px;
    background: #E30513;
    position: absolute;
    left: 0;
    bottom: -15px;
}	

.BoxGroupe {
    overflow: hidden;
    box-shadow: 0px 5px 25px #00000029;
    max-height: 400px;
    border-radius: 15px;
}

.BoxGroupe .BoxImgAgence {
    overflow: hidden;
    height: 145px;
}

.BoxGroupe .InformationsAgence {
    padding: 25px;
    font-size: 13px;
}

.InformationsAgence ul.Informations {
    padding: 0;
    list-style: none;
    height: 90px;
}

.InformationsAgence h3 {
    margin: 0;
    font-weight: 500;
    font-size: 1.3rem;
    color: #E30513;
    min-height: 50px;
}

.InformationsAgence ul.Informations li {
    display: flex;
    margin-bottom: 3px;
    justify-content: flex-start;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
}

.InformationsAgence ul.Informations img {
    margin-right: 7px;
    width: 13px;
}

span.BtnLiteAgence {
    width: auto;
    margin: auto;
    display: inherit;
    font-weight: 500;
    text-align: center;
    border: 1px solid #E30513;
    padding: 10px;
    border-radius: 10px;
    color: #E30513;
    transition: all 0.4s ease;
}
span.BtnLiteAgence:hover {
    background: #E30513;
    color: #fff;
}
.LogoVide {
    width: 70%;
    object-fit: contain;
    margin: auto;
    margin-left: 15%;
    margin-top: 6px;
}


/* AGENCES */

.Grid-Agence {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px 60px;
    margin-top: 50px;
    margin-bottom: 50px;
    font-size: 16px;
    font-weight: 400;
}

.Grid-Agence h2 {
    font-size: 1.8rem;
    font-weight: 500;
    margin: 0;
    margin-bottom: 25px;
}

.Grid-Agence h3 {
    color: #E30513;
    display: block;
    position: relative;
    margin-bottom: 40px;
    margin-top: 25px;
    font-size: 1.8rem;
}

.Grid-Agence h3:after {
    content: "";
    width: 115px;
    height: 1px;
    background: #E30513;
    position: absolute;
    left: 0;
    bottom: -15px;
}

.Grid-Agence h3.Special {
    font-weight: 500;
    font-size: 1.83em;
}

.Grid-Agence ul {
    padding: 0;
	list-style:none; 
}

.Grid-Agence ul.Informations li {
    display: flex;
    align-items: center;
    align-content: center;
    margin-bottom: 10px;
}

.Grid-Agence ul.Informations li b {
    margin-left: 5px;
}

.Grid-Agence ul.Informations li img {
    margin-right: 10px;
    width: 17px;
}


ul.services, .services li {
    display: flex;
    align-items: center;
    font-size: 13px;
    color: #E30513;
}

.services li:first-child img { margin-left: 0; }

.services li:last-child:after { display:none; }

.services li:after {
    content: "";
    width: 1px;
    height: 15px;
    background: #E30513;
    margin-left: 20px;
    margin-right: 20px;
}

.services li img {
    margin-right: 5px;
    margin-left: 5px;
}


.BoxImg {
    height: 300px;
    overflow: hidden;
    position: relative;
    display: block;
    margin-bottom: 20px;
    border-radius: 15px;
}


span.contacteznouslien {
    display: block;
    text-align: center;
    margin-bottom: 10px;
    color: #E30513;
    font-size: 22px;
    font-weight: 500;
}

span.DessusForm {
    display: inline-block;
    text-align: center;
    color: #595959;
    text-transform: uppercase;
    margin-bottom: 15px;
    position: relative;
}

span.DessusForm:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    background: #373030;
    height: 1px;
    width: 100%;
}








.groupFields {
  display: flex;
  grid-gap: 10px;
  width: 100%;
}
.itemField {
    width: 100%;
    margin-bottom: 15px;
}
.itemField label {
  display: block;
  font-size: 16px;
  text-transform: none;
  margin-bottom: 5px;
  font-weight: 500;
}
.controle-field,
.boxSelect select {
  padding: 5px 20px;
  background: #f5f5f5;
}
.boxSelect select option {
  color: #E30513;
}
.controle-field,
.boxSelect {
  display: block;
  width: 100%;
  border: none;
  border-radius: 15px;
  background: #f5f5f5;
  font-size: 16px;
  font-weight: 400;
}
.controle-field:not(textarea),
.boxSelect {
  height: 39px;
}


.boxForm .groupFields {
    display: flex;
    grid-gap: 10px;
    width: 100%;
}

.boxForm .itemField {
    border-radius: 15px;
    background: #f5f5f5;
    display: flex;
    padding: 5px 20px;
    align-items: baseline;
}

.boxForm .itemField .controle-field {
    background: transparent;
    padding: 0;
    flex: 1;
    border-radius: 0;
    font-family: 'Orpi';
}
.boxForm .controle-field:not(textarea),
.boxForm .boxSelect {
  height: auto;
  line-height: 1;
}
.boxForm .itemField:not(.cnttextarea) {
  height: 39px;
  align-items: center;
}
.boxForm .itemField.cnttextarea {
  padding-top: 10px;
  display: block;
}
.boxForm .itemField.cnttextarea textarea {
    display: block;
    height: 75px;
}

.boxForm .form-check p {
    margin: 0;
}

.boxForm .itemField label {
  margin-bottom: 0;
  flex: 1;
  max-width: max-content;
  margin-right: 3px;
  line-height: 1;
}
.boxForm .cntCondition .itemField {
  display: block;
  border-radius: 0;
  background: transparent;
  padding: 0;
  height: auto;
}
.boxForm .cntCondition {
  margin-top: 8px;
}
.boxForm .cntBtn {
  text-align: center;
  margin-top: 40px;
}
.boxForm .cntBtn .btn {
    min-width: 175px;
}


.form-check .form-check-input {
    float: left;
    margin-left: -1.5em;
}

input#condition, input#condition2 {
    font-size: 20px;
    margin-left: 0px;
    margin-right: 10px;
    margin-bottom: 35px;
    border: 2px solid #E30513;
    margin-top: 0;
}

.wpcf7-acceptance span.wpcf7-list-item-label {
    color: #000;
    font-size: 12px;
    font-weight: 400;
}

.boxcheck {
    font-size: 12px;
    padding-left: 30px;
    margin-bottom: 15px;
}

.captcha-image {
    border: none!important;
    padding: 5px!important;
    font-size: 13px;
    display: block!important;
    border-radius: 15px;
    background: whitesmoke;
}

.wpcf7-acceptance span.wpcf7-list-item-label:before, .wpcf7-acceptance span.wpcf7-list-item-label:after { display:none; }

.wpcf7-spinner {
    position: absolute!important;
}

input#condition:checked[type=checkbox], input#condition2:checked[type=checkbox] {background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    border-color: #ffb900;
    background: orange;
    color: #fff;
    font-weight: 400;
    font-size: 17px;
    text-align: center;
}


.form-check-input {
    width: 1em;
    height: 1em;
    margin-top: 0.25em;
    vertical-align: top;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: 1px solid rgba(0,0,0,.25);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
}

.form-check-input[type=checkbox] {
    border-radius: 0.25em;
}

.form-check-input:checked {
    background-color: #E30513;
    border-color: #fff;
}

.wpcf7-acceptance span.wpcf7-list-item {
    margin: 0;
    margin-bottom: 15px;
}

input#condition:focus, input#condition2:focus {
    border-color: #fcfbfa;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgb(42 41 41);
}







/* ACTUALITES  */


.Legende {
    text-align: center;
}

.Legende h2 {
    font-weight: 400;
}

.Legende h2 span {
    display: block;
    color: #E30513;
    font-weight: 500;
}

.listNews {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px 70px;
    margin-bottom: 60px;
}

.listNews__item .boxNew__img {
    height: 480px;
    background-size: cover!important;
    position: relative;
    background-position: center center!important;
    margin-bottom: 40px;
    border-radius: 15px;
}

.listNews__item .boxNew__description {
    position: absolute;
    bottom: -45px;
    background: #F8F8F8;
    width: 70%;
    line-height: 1.3em;
    padding: 30px;
    height: 160px;
    font-size: 14px;
    color: #595959;
    border-radius: 0 15px 15px 0;
}

.listNews__item a:hover .boxNew__description { 
background:#595959;
color:#fff; 
}

.listNews__item .boxNew__description:before {
    content: "";
 
	background: #F8F8F8;
    height: 100%;
    transition: all 0.6s ease;
    position: absolute;
    left: 0px;
    width: 0;
    top: 0;
}

.listNews__item a:hover .boxNew__description:before {
    width: 15px;
    left: -14px;
	   background: #595959;
}


.listNews__item .boxNew__description h3 {
    margin: 0;
    margin-bottom: 10px;
    font-weight: 500;
    line-height: 1.3;
}

.listNews__item span.DateNews {
    text-transform: uppercase;
    color: #7f7e7e;
    display: block;
    margin-bottom: 5px;
}

.listNews__item span.EnSavoirPlus {
    opacity: 0;
    display: inline-block;
    margin-top: 10px;
    position: relative;
}

.listNews__item a:hover span.EnSavoirPlus {
   opacity:1;

}	

span.EnSavoirPlus:after {
    content: "";
    border-bottom: 1px solid #fff;
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 100%;
    display: inline-block;
}


/* SINGLE */



section.sectActusSingle {
    margin-top: 40px;
}

.Grid2-1 {
    display: grid;
    grid-template-columns: 2.5fr 1fr;
    gap: 10px 20px;
}


.Grid2-1 article .cntNew {
    background: #FFFFFF 0% 0% no-repeat padding-box;
    box-shadow: 0px 15px 60px #00000029;
    border-radius: 5px;
    overflow: hidden;
}

.Grid2-1 article .cntNew .cntNew__img {
    height: 400px;
    overflow: hidden;
}

.Grid2-1 article .cntNew__Descr {
    padding: 40px;
    font-size: 16px;
    line-height: 1.4em;
}

.Grid2-1 article .cntNew__Descr .cntNew__date {
    font-size: 16px;
    color: #E30513;
    text-transform: uppercase;
}

.Grid2-1 article .cntNew__Descr .cntNew__title {
    font-size: 30px;
    color: #E30513;
    line-height: 1.3em;
}

.Grid2-1 article .cntNew__footer {
    display: flex;
    border-top: 1px solid #E30513;
    border-bottom: 1px solid #E30513;
    padding-top: 20px;
    padding-bottom: 20px;
    text-transform: uppercase;
    color: #E30513;
    margin-top: 25px;
    justify-content: space-between;
    align-items: center;
}



.sectActusSingle .listLink {
    margin-top: 25px;
    margin-bottom: 25px;
    display: flex;
    justify-content: space-between;
}

.sectActusSingle .listLink a {
    font-size: 20px;
}




/* SINGLE */
/* COTE DROITE */

.sectActusSingle .asideIntern {
    background: #ffffff;
    box-shadow: 0px 15px 30px #00000029;
    border-radius: 10px;
    padding: 20px;
}

.sectActusSingle .asideIntern h3 {
    color: #E30513;
    font-weight: 500;
    font-size: 17px;
    margin: 0;
    margin-bottom: 10px;
}

.sectActusSingle .articleaside .itemnewsrecente {
    display: flex;
    align-items: center;
    margin-bottom: 10px; 
	margin-bottom: 20px;
}

.sectActusSingle .articleaside .itemnewsrecente .colImg {
    max-width: 90px;
    flex: 0 0 90px;
}

.sectActusSingle .articleaside .itemnewsrecente .cntimg {
    height: 90px;
    border-radius: 5px;
    overflow: hidden;
}

.sectActusSingle .articleaside .itemnewsrecente .cntimg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.sectActusSingle .articleaside .itemnewsrecente .cnttxtnews {
    padding-left: 12px;
}

.sectActusSingle .articleaside .itemnewsrecente .cnttxtnews .actus-daty {
    font-size: 10px;
    color: #E30513;
    text-transform: uppercase;
}

.sectActusSingle .articleaside .itemnewsrecente .cnttxtnews h4 {
    font-size: 13px;
    line-height: 1.3;
    margin-bottom: 3px;
    margin-top: 0;
}

.sectActusSingle .articleaside .itemnewsrecente .cnttxtnews h4 a {
    color: #E30513;
    font-size: 13px;
    display: block;
}


.sectActusSingle .articleaside .itemnewsrecente .cnttxtnews .txt-actus {
    font-size: 10px;
    line-height: 1.5;
    font-weight: 100;
    color: #555555;
}



.boxselect {
    background: #f4f4f4 !important;
    border: none;
    border-radius: 15px;
    overflow: hidden;
    color: #595959;
    position: relative;
}


.boxselect .form-control {
    background: transparent !important;
    appearance: none;
    position: relative;
    border: none;
    z-index: 5;
    height: 39px;
    border-radius: 15px;
    font-size: 12px;
    color: #2b3543;
    padding-left: 18px;
	display: block;
    width: 100%;
    padding: 0.375rem 0.75rem;
    padding-right: 18px;
}


.boxselect::after {
    content: '';
    display: block;
    width: 9px;
    height: 9px;
    border: 2px solid #595959;
    border-radius: 2px;
    border-top: none;
    border-left: none;
    transform: rotate(45deg);
    position: absolute;
    top: calc(50% - 7px);
    right: 21px;
    z-index: 1;
}



/* FOOTER  */

.etoile{
    text-align: center;
    font-size: 14px;
}

footer#sectFooter {
    background: #FAFAFA;
}

footer#sectFooter .footerIntern {
    padding-top: 40px;
    margin-bottom: 35px;
}

footer#sectFooter .LogoFooter {
    max-width: 250px;
    margin: auto;
}

footer#sectFooter .Reseaux {
    display: flex;
    justify-content: center;
    margin-top: 10px;
}

footer#sectFooter .Reseaux > a {
    margin-right: 15px;
    margin-left: 15px;
}


ul.MenuFooter {
    display: flex;
    flex-direction: inherit;
    justify-content: center;
    align-items: center;
    list-style: none;
    margin-top: 30px;
    padding: 0;
    margin-bottom: 45px;
    align-content: center;
}

ul.MenuFooter li {
    margin-right: 20px;
    margin-left: 20px;
	margin-bottom:5px;
}

ul.MenuFooter li a {
    font-size: 16px;
}

.FooterLien3 a, .HeaderLien3 a {
    background: #E30513 0% 0% no-repeat padding-box;
    border-radius: 15px;
    padding: 15px 30px 15px 30px;
    color: #fff;
    transition: all 0.3s ease-in-out;
}

.FooterLien3 a:hover, .HeaderLien3 a:hover {
    background: #595959;
}

.footerCopyright {
    background: #EAE8E8;
    display: flex;
    font-size: 16px;
    padding-top: 10px;
    padding-bottom: 10px;
}

.footerCopyright p {
    margin: 0;
}