body {
    padding-top: 0px;
    font-family: 'Open Sans', sans-serif;
    font-size: 0.9rem;
}

a {
  color: #aaa;
}
a:hover {
    color: #ec7500;
}



.text-dark {
    color:#464748
}
.text-orange {
    color:#ec7500;
}
.text-gray {
    color:#7f8183;
}
.bg-light {
    background-color: #f0f0f0!important;
}
.bg-dark {
    background-color: #3f3f3f;
}
.border-orange {
    border-color:#ec7500 !important;
}
hr.triangles {
    position:relative;
    background-color: #aaa;
}
hr.triangles:before,
hr.triangles:after {
    display: block;
    position:absolute;
    content: "";
}
hr.triangles:after{
 height : 0;
 width : 0;
 border-top : 5px solid transparent;
 border-right : 12px solid #ec7500;
 border-bottom : 5px solid transparent;
 top: -5px;
 right: 0;
}
hr.triangles:before{
 height : 0;
 width : 0;
 border-top : 5px solid transparent;
 border-bottom : 5px solid transparent;
 border-left : 12px solid #ec7500;
 top: -5px;
 left: 0;
}

.lines {
 overflow: hidden;
 text-align: center;
}
.lines:before,
.lines:after {
 background-color: #c1c1c1;
 content: "";
 display: inline-block;
 height: 1px;
 position: relative;
 vertical-align: text-top;
 width: 50%;
}
.lines:before {
 right: 0.5em;
 margin-left: -50%;
}
.lines:after {
 left: 0.5em;
 margin-right: -50%;
}

/************** Interface ********************/
#top {
    background-color: #464748;
    color:#fff;
}

.top-phone {
    font-size: 19px;
    font-weight: 700;
    line-height: 2.4;
}
.top-phone a {
    color:#fff;
}
.top-phone a:hover {
    color: #ec7500;
}
.top-phone i {
    font-size: 25px;
    color: #f0f0f0;
    vertical-align: middle;
    background-color: #838484;
    border-radius: 50%;
    padding: 4px 8px;
}
#top ul.navbar-nav {
    width: fit-content;
}
#top-login-form {
    padding: 4px;
}
#top-login-form input[type="text"],
#top-login-form input[type="password"] {
    background: transparent;
    border-radius: 0;
    border:1px solid #8e8e8e;
    font-size: 14px;
    color:#fff;
    margin: 0 5px;
}

#top-login-form input[type="password"] {
    color: #ec7500;
}
#top-login-form .form-control::-webkit-input-placeholder {
  color: #eee;
}
#top-login-form  .form-control::-moz-placeholder {
  color: #eee;
}
#top-login-form .form-control:-ms-input-placeholder {
  color: #eee;
}
#top-login-form .form-control::-ms-input-placeholder {
  color: #eee;
}
#top-login-form .form-control::placeholder {
  color: #eee;
}

#top-login-form #submit-button {
    border-radius: 50%;
    color: #fff;
    background-color: #848484;
    padding: 4px;
    font-weight: 800;
}
#top-login-form #submit-button:hover {
    color:#111;
    background-color: #ec7500;
}
#top-login-form #forgot-password {
    margin-left: 10px;
    font-style: italic;
}
#top ul.dropdown-menu {
    border-radius: 0;
    box-shadow: 0 3px 5px rgba(134, 134, 134, 0.32);
    border-width: 0;
}

#logo-brand {
    background-color: white;
}

#main-menu {
    background-color: #ec7500;
    box-shadow: inset 0 0 15px rgba(0, 0, 0, 0.34);    
    padding: 0;
}
#main-menu .navbar-toggler {
    border-color:#fff;
    margin: 6px;
}
#main-menu .navbar-toggler:hover {
    background-color: rgba(0, 0, 0, 0.16);
}
#main-menu .navbar-toggler i {
    color:#fff;
}
#main-menu .navbar-nav .nav-link {
    position:relative;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 16px;
    padding: 10px 2rem;
    color:#fff;
}
#main-menu .navbar-nav .nav-link:hover {
    color:#000;
}
#main-menu .navbar-nav .nav-link.active {
    font-weight: 700;
}
#main-menu .navbar-nav .nav-link.active:before,
#main-menu .navbar-nav .nav-link:hover:before{
    content:"";
    display: block;
     height : 0;
    width : 0;
    border-top : 9px solid white;
    border-right : 9px solid transparent;
    border-left : 9px solid transparent;
    position:absolute;
    top:0;
    left: calc(50% - 10px);
}
#main-menu .navbar-nav .nav-item .nav-link:after {
    content: "•";
    color: #333;
    font-size: 20px;
    line-height: 2.2;
    position: absolute;
    right: -6px;
    top: 0px;
}
#main-menu .navbar-nav .nav-item:last-child .nav-link:after {
    content: "";
    display: none;
}

#footer > .container > .row > div {
    border-color:#5c5c5c !important;
}
#footer > .container > .row > div:last-child ul li {
    float: left;
    margin-right: 30px;
}
.footer-block-title {
    font-size: 1.2em;
    font-weight: 600;
    margin-bottom: 10px;
}
.footer-menu a {
    color:#fff;
    font-size: 0.9em;
}
.footer-menu a:hover {
    color:#ec7500;
}
#subfooter {
    background-color: #b5b5b5;
    color:#111;
}


/************ Colonne gauche ***************************************/
.sidebar-block .h5 {
    font-size: 1.1em;
}
#geolocalisation {
    background: transparent url(../images/picto-geoloc.png) no-repeat left 5px;
}
#geolocalisation a {
    color:#000;
}
#geolocalisation a:hover {
    color:#ec7500;
}
.recherche-resultat ul,
div#recherche-rapide-gauche ul {
    font-weight: bold;
    list-style: none;
    padding: 0;
}
.recherche-resultat ul li,
div#recherche-rapide-gauche li {
    padding: 5px 0 5px 20px;
    position: relative;
}
.recherche-resultat ul li {
    padding: 0 0 1px 10px;
}
.recherche-resultat ul li:before,
div#recherche-rapide-gauche li:before {
    display : inline-block;
    height : 0;
    width : 0;
    border-top : 8px solid transparent;
    border-bottom : 8px solid transparent;
    border-left : 10px solid #fd6d00;
    content:"";
    position: absolute;
    top:7px;
    left: 0;
}
.recherche-resultat ul li:before {
    top:3px;
    left:-8px;
}
#recherche-region-gauche,
#acceder-direct-promoteur {
    background: transparent url(../images/picto-loupe.png) no-repeat 5px center;
    padding: 10px 10px 10px 36px !important;
}
/************ Colonne droite ***************************************/
.form-recherche label {
    font-weight: 700;
    margin-bottom: 0;
    margin-top: 0.4em;
    font-size: 0.9em;
    color: gray;
}
#recherche-region-gauche select,
#acceder-direct-promoteur select,
#acceder-direct select,
.form-recherche select {
    width:100%;
    padding: 2px;
    border-color: #ddd;
    font-weight: bold;
    font-size: 13px;
}
.select-wrapper {
	position: relative;	
}

.select-wrapper:after {
    font-family: FontAwesome;
    content: '\f0dc';
    font-size: 17px;
    position: absolute;
    top: 5px;
    right: 5px;
    color: #ec7500;
    pointer-events: none;
    line-height: 0.9;
    background: white;
}

select::-ms-expand {
  display: none;
}
.form-recherche input[type='text']{
    border: 1px solid #ddd;
}
.btn-criteres {
    margin: 15px -8px 5px -8px;
    width: calc(100% + 16px);
    max-width: unset;
}
#bloc-recherche-lot table strong {
    font-size: 0.9em;
}
.titre-resultat {
    font-weight: 800;
    font-size:20px;
}
/*********** HOME PAGE *******************************************/
#carouselhomepage {
    position: relative;
    border-bottom-right-radius: 90% 60%;
    border-bottom-left-radius: 90% 60%;
    overflow: hidden;
    margin-bottom: 50px;
}
.carousel-indicators {
    margin-bottom: 0;
}
#carouselhomepage .carousel-inner {
    border-bottom-right-radius: 90% 60%;
    border-bottom-left-radius: 90% 60%;
}
.carousel-item  {
    background: #eee url(../images/fd-slider-right.png) no-repeat right top !important;
}
.carousel-item > .container > .row {
    position: relative;
}
.carousel-item > .container > .row:before {
    background: transparent url(../images/fd-slider-left.png) no-repeat left top !important;
    display: block;
    content:"";
    position: absolute;
    left: -70px;
    top:-40px;
    width: 164px;
    height:286px;
}
.carousel-img {
    position: relative;
    width:480px;
    height:230px;
    overflow: hidden;
}
.carousel-img img {
    margin-top: -115px;
}
.carousel-img:after {
    display: block;
    content:"";
    background: transparent url(../images/cache-slider.png) no-repeat center top;
    width: 100%;
    height:100%;
    position: absolute;
    left: 0;
    top:0;
    background-size: cover;
}
.carousel-img-promoteur {
    position: absolute;
    top: 20%;
    right: 10%;
    box-shadow: 0 0 14px rgba(0, 0, 0, 0.35);
}
.flag-actable {
    background-color: #fd6d00;
    color: #fff;
    font-weight: 800;
    text-align: center;
    position: absolute;
    top: 10%;
    left: 4%;
    z-index: 10;
    padding: 6px 10px;
}
.flag-actable:before {
    display : block;
    height : 0;
    width : 0;
    border-bottom : 33px solid #fd6d00;
    border-left : 20px solid transparent;
    content:"";
    position: absolute;
    top: 0;
    left: -20px;
}
.carousel-text > .row:first-child {
    letter-spacing: 2px;
}
.carousel-title a {
    color:#3f3f3f;
}
.carousel-title a:hover {
    color:#000;
}
.carousel-control-next,
.carousel-control-prev {
    width: 10%;
}
.carousel-control-prev-icon,
.carousel-control-next-icon {
    background-image: none;
}


.page-header h1 {
    font-size: 27px;
}
.arrow-after {
    padding-bottom: 20px;
    margin-bottom: 50px;
    position: relative;
}
.arrow-after:before {
    content: "";
    display: block;
    width:120px;
    height: 1px;
    background-color: #aaa;
    position: absolute;
    bottom:0;
    left:calc( 50% - 60px);
}
.arrow-after:after {
    content: "";
    display: block;
    height : 0;
    width : 0;
    border-top : 14px solid #fd6d00;
    border-right : 14px solid transparent;
    border-left : 14px solid transparent;
    position: absolute;
    bottom:-14px;
    left:calc( 50% - 12px);
}
.nom-residence-page,
.nom-residence-home {
    display:block;
    background-color: rgba(0, 0, 0, 0.47);
    color:white;
    font-size: 21px;
    font-weight: 700;
    text-align: center;
    position:absolute;
    bottom:0;
    left:0;
    width: 100%;
    padding: 0.5em;
}
.localisation-residence-page,
.localisation-residence-home{
    font-size: 0.6em;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 600;
}
.residence-home .col-md-8 .row.border-bottom.text-uppercase {
    color: gray;
    letter-spacing: 2px;
    font-weight: 600;
}

.lesplus {
    font-weight: 500;
    font-size: 13px;
    color: #7f8183;
    line-height: 1.3;
}


/********** Page liste programmes *******************************************/
#carouselinsidepage {
    position: relative;
    overflow: hidden;
    margin-bottom: 50px;
}
#carouselinsidepage .carousel-img {
    height: 110px;
}
#carouselinsidepage .flag-actable {
    top: 20%;
}
#carouselinsidepage .carousel-img img {
    margin-top: -175px;
}
.nom-residence-liste {
    display:block;
    background-color: rgba(0, 0, 0, 0.47);
    color:white;
    font-size: 21px;
    font-weight: 700;
    text-align: center;
    position:absolute;
    bottom:0;
    left:15px;
    width: calc(100% - 30px);
    padding: 0.5em;
}
.residence-home .flag-actable:before,
.residence-liste .flag-actable:before,
.residence-page .flag-actable:before {
    content:none;
}
.residence-page .flag-actable,
.residence-home .flag-actable {
    left: 0;
}
.residence-page .flag-actable {
    top: 14%;
}
.residence-liste .flag-actable {
    left: 15px;
}
.residence-home .flag-actable:after,
.residence-liste .flag-actable:after,
.residence-page .flag-actable:after{
    display: block;
    height: 0;
    width: 0;
    border-bottom: 33px solid transparent;
    border-left: 20px solid #fd6d00;
    content: "";
    position: absolute;
    top: 0;
    right: -20px;
}
.portfolio-item {
  margin-bottom: 30px;
}

/********** Page Programme ******************************/
.nom-residence-page {
    bottom: initial;
    top: 0;
}
.residence-page .lesplus {
    font-size: 15px;
}

#prog-tabs .nav-item .nav-link {
    padding: 0.25rem;
}
#block-demande-rappel {
    background: #fef8f1 url(../images/fd-bloc-rappel) no-repeat right bottom;
}
.detail-programme .table th {
    font-size:10px;
    padding: 5px 18px 5px 5px;
    vertical-align: middle;
}
.detail-programme .tab-content .table td {
    vertical-align: middle;
}
.detail-programme .table i {
    font-size: 18px;
    line-height: 1.5;
}
.modal.and.carousel {
  position: fixed; // Needed because the carousel overrides the position property
}
/***** Fleche de scroll *************/
.gdbox{ width: 100%;
       height: 20px;
       position: fixed;
       bottom: -10px;
       left:0;
       text-align: center;
       overflow: visible;
       background-color: #fff;
       box-shadow: 0px 0px 5px 0px #000;
          -webkit-transition: all 0.5s linear;
          -moz-transition: all 0.5s linear;
          -ms-transition: all 0.5s linear;
          -o-transition: all 0.5s linear;
          transition: all 0.5s linear;
         filter: alpha(opacity=75);
        -moz-opacity: 0.75;
        -khtml-opacity: 0.75;
        opacity: 0.75;
	z-index: 1000;
}
.gdbox:hover{
     bottom: 0px;
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    -khtml-opacity: 1;
    opacity: 1;
}
.gdbutton{ margin: 0 auto;
          height: 35px;
          width: 35px;
          cursor: pointer;
          border-radius: 50%;
          -webkit-border-radius: 50%;
}

#gdb1, #gtb1 {
    display: block;
    background: #fff url(../images/arrow.png) no-repeat center center;
    width: 45px;
    height: 45px;
    margin-top: -20px; 
}
#gtb1 {
    -webkit-transform: rotate(180deg);
	-moz-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	-o-transform: rotate(180deg);
	transform: rotate(180deg);
}

/******* Bootstrap ++ *************************/
@media (min-width: 1200px){
    .container {
        max-width: 1250px;
    }
}
.btn {
    border-radius: 0px;
    border-width: 2px;
    text-transform: uppercase;
    letter-spacing:1px;
}
.btn-xs, .btn-group-xs > .btn {
  padding: 0.25rem 0.75rem;
  font-size: 0.7rem;
  line-height: 1.8;
  border-radius: 0;
}
.btn-outline-orange {
    border-color: #ec7500;
    color:#ec7500;
}
.btn-outline-orange:hover,
.btn-outline-orange:not(:disabled):not(.disabled).active,
.btn-outline-orange:not(:disabled):not(.disabled):active,
.show>.btn-outline-orange.dropdown-toggle {
    color: #fff;
    background-color: #ec7500;
    border-color: #ec7500;
}

button, input, optgroup, select, textarea {
    max-width: 100%;
}
.img-fullwidth {
    width:100%;
}
.form-control:focus {
    box-shadow:none;
}
.table-xs td, .table-xs th {
    padding: .1rem;
    font-size: 0.8rem;
}
.ls-0 {
    letter-spacing:0;
}
.ls-1 {
    letter-spacing: 1px;
}
.ls-2 {
    letter-spacing: 2px;
}


/*************************** RWD *********************************************/
@media (max-width: 991px) {
        .page-wrapper > :nth-child(1) { order: 2; }
        .page-wrapper > :nth-child(2) { order: 1; }
        .page-wrapper > :nth-child(3) { order: 3; }
}

@media (min-width: 1200px) {
    .lesplus-wrapper {
        margin-top:-20px;
    }
}
@media (max-width: 991px) {
    .lesplus-wrapper {
        margin-top:-20px;
    }
}  

@media (min-width: 992px) and (max-width: 1199px) {
    .carousel-img-promoteur {
        position: absolute;
        top: 10%;
        right: 0%;
    }
}
@media (min-width: 768px) and (max-width: 991px) {
    #carouselhomepage .carousel-item > .container,
    #carouselinsidepage .carousel-item > .container {
        width:100% !important;
        max-width: 100%;
    }
    
    #carouselhomepage .carousel-control-prev,
    #carouselhomepage .carousel-control-next,
    #carouselhomepage .carousel-img-promoteur,
    #carouselinsidepage .carousel-control-prev,
    #carouselinsidepage .carousel-control-next,
    #carouselinsidepage .carousel-img-promoteur{
        display: none;
    }
    #carouselhomepage .carousel-title a,
    #carouselinsidepage .carousel-title a {
        text-shadow: 0 0 10px white;
    }
    #carouselhomepage .carousel-text .lines,
    #carouselinsidepage .carousel-text .lines {
        background-color: rgba(255, 255, 255, 0.5);
    }
    #carouselhomepage .lines:after,
    #carouselhomepage .lines:before,
    #carouselinsidepage .lines:after,
    #carouselinsidepage .lines:before {
        display: none;
    }
    #carouselhomepage .carousel-text p {
        font-size: 0.85em;
        background-color: rgba(255, 255, 255, 0.5);
        padding: 5px;
    }
}   

@media (max-width: 767px) {
    #carouselhomepage,
    #carouselhomepage .carousel-inner {
        border-radius: 0;
    }
    #carouselhomepage .carousel-item,
    #carouselinsidepage .carousel-item {
        background-image: none !important;
    }
    .carousel-img-promoteur {
        top: 10%;
        right: 3%;
    }
    #carouselhomepage .carousel-text,
    #carouselinsidepage .carousel-text {
        background-color: #ffffff;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.26);
        border-top-left-radius: 7px;
        border-top-right-radius: 7px;
    }
    #carouselhomepage .carousel-text p {
        display: none;
    }
    #carouselhomepage .carousel-control-next, 
    #carouselhomepage .carousel-control-prev,    
    #carouselinsidepage .carousel-control-next, 
    #carouselinsidepage .carousel-control-prev {
        width: 5%;
    }
    #carouselhomepage .carousel-indicators,
    #carouselinsidepage .carousel-indicators {
        display: none;
    }
}
