@font-face {
    font-family: 'pt_sans';
    src: url('../webfonts/pt_sans-web-regular.eot');
    src: url('../webfonts/pt_sans-web-regular.eot?#iefix') format('embedded-opentype'),
         url('../webfonts/pt_sans-web-regular.woff2') format('woff2'),
         url('../webfonts/pt_sans-web-regular.woff') format('woff'),
         url('../webfonts/pt_sans-web-regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'pt_sans-italic';
    src: url('../webfonts/pt_sans-web-italic.eot');
    src: url('../webfonts/pt_sans-web-italic.eot?#iefix') format('embedded-opentype'),
         url('../webfonts/pt_sans-web-italic.woff2') format('woff2'),
         url('../webfonts/pt_sans-web-italic.woff') format('woff'),
         url('../webfonts/pt_sans-web-italic.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'pt_sans-bold';
    src: url('../webfonts/pt_sans-web-bold.eot');
    src: url('../webfonts/pt_sans-web-bold.eot?#iefix') format('embedded-opentype'),
         url('../webfonts/pt_sans-web-bold.woff2') format('woff2'),
         url('../webfonts/pt_sans-web-bold.woff') format('woff'),
         url('../webfonts/pt_sans-web-bold.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'pt_sans-bold-italic';
    src: url('../webfonts/pt_sans-web-bolditalic.eot');
    src: url('../webfonts/pt_sans-web-bolditalic.eot?#iefix') format('embedded-opentype'),
         url('../webfonts/pt_sans-web-bolditalic.woff2') format('woff2'),
         url('../webfonts/pt_sans-web-bolditalic.woff') format('woff'),
         url('../webfonts/pt_sans-web-bolditalic.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'open_sans';
    src: url('../webfonts/opensans-regular.eot');
    src: url('../webfonts/opensans-regular.eot?#iefix') format('embedded-opentype'),
         url('../webfonts/opensans-regular.woff2') format('woff2'),
         url('../webfonts/opensans-regular.woff') format('woff'),
         url('../webfonts/opensans-regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'open_sans-italic';
    src: url('../webfonts/opensans-italic.eot');
    src: url('../webfonts/opensans-italic.eot?#iefix') format('embedded-opentype'),
         url('../webfonts/opensans-italic.woff2') format('woff2'),
         url('../webfonts/opensans-italic.woff') format('woff'),
         url('../webfonts/opensans-italic.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'open_sans-light';
    src: url('../webfonts/opensans-light.eot');
    src: url('../webfonts/opensans-light.eot?#iefix') format('embedded-opentype'),
         url('../webfonts/opensans-light.woff2') format('woff2'),
         url('../webfonts/opensans-light.woff') format('woff'),
         url('../webfonts/opensans-light.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'open_sans-semibold';
    src: url('../webfonts/opensans-semibold.eot');
    src: url('../webfonts/opensans-semibold.eot?#iefix') format('embedded-opentype'),
         url('../webfonts/opensans-semibold.woff2') format('woff2'),
         url('../webfonts/opensans-semibold.woff') format('woff'),
         url('../webfonts/opensans-semibold.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'open_sans-bold';
    src: url('../webfonts/opensans-bold.eot');
    src: url('../webfonts/opensans-bold.eot?#iefix') format('embedded-opentype'),
         url('../webfonts/opensans-bold.woff2') format('woff2'),
         url('../webfonts/opensans-bold.woff') format('woff'),
         url('../webfonts/opensans-bold.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

body,
a,
a:hover {
    color: #003d14;
}

:focus {
    outline: 0;
}

body {
    font-family: open_sans, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

.modal {
    -webkit-overflow-scrolling: touch;
}

b,
strong,
.font-weight-bold {
    font-family: open_sans-bold;
    font-weight: normal !important;
}

.font-weight-semibold {
    font-family: open_sans-semibold;
    font-weight: normal !important;
}

.font-weight-light {
    font-family: open_sans-light;
    font-weight: normal !important;
}

select {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background: url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0Ljk1IDEwIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2ZmZjt9LmNscy0ye2ZpbGw6IzQ0NDt9PC9zdHlsZT48L2RlZnM+PHRpdGxlPmFycm93czwvdGl0bGU+PHJlY3QgY2xhc3M9ImNscy0xIiB3aWR0aD0iNC45NSIgaGVpZ2h0PSIxMCIvPjxwb2x5Z29uIGNsYXNzPSJjbHMtMiIgcG9pbnRzPSIxLjQxIDQuNjcgMi40OCAzLjE4IDMuNTQgNC42NyAxLjQxIDQuNjciLz48cG9seWdvbiBjbGFzcz0iY2xzLTIiIHBvaW50cz0iMy41NCA1LjMzIDIuNDggNi44MiAxLjQxIDUuMzMgMy41NCA1LjMzIi8+PC9zdmc+) no-repeat 95% 50%;
}

.form-control,
.input-group-text {
    font-size: 0.9rem;
    height: calc(2rem + 2px);
}

.custom-control-input:checked~.custom-control-label::before {
    color: #fff;
    border-color: #a3cf4a;
    background-color: #a3cf4a;
}
.custom-control-input:focus~.custom-control-label::before {
    box-shadow: 0 0 0 0.2rem rgba(163, 207, 74,.25);
}

.table-responsive table {
    white-space: nowrap;
}

.flex-direction-nav a {
    margin-top: -30px;
}

.flexslider .flex-direction-nav .flex-prev {
    opacity: 0.7;
    left: 10px;
}

.flexslider .flex-direction-nav .flex-next {
    opacity: 0.7;
    right: 10px;
}

.flexslider .slides > li {
    position: relative;
}

#carousel.flexslider .slides > li {
    opacity: 0.7;
}

#carousel.flexslider .slides > li:hover,
#carousel.flexslider .slides > li.flex-active-slide {
    opacity: 1;
}

.flex-control-nav {
    bottom: -27px;
}

.flex-control-paging li a {
    height: 7px;
    width: 7px;
}

.go-back {
    color: #a3cf4a;
    display: block;
    margin-bottom: 1rem;
    text-align: center;
    text-decoration: underline;
}

.go-back:hover {
    color: #003d14;
}

.hover-bold:hover {
    font-family: open_sans-bold;
    font-weight: normal !important;
}

hr.large {
    background: #e6e7e8;
    border: 0;
    height: 90px;
    margin: 0;
}

button:focus {
    outline: none;
}

.m-gutter {
    margin-left: -15px;
    margin-right: -15px;
}

.img-grayscale {
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
    -webkit-transition: all .25s ease;
    -moz-transition: all .25s ease;
    -ms-transition: all .25s ease;
    -o-transition: all .25s ease;
    transition: all .25s ease;
}

.img-grayscale:hover {
    -webkit-filter: grayscale(0);
    filter: grayscale(0);
}

.btn-outline-darkgreen {
    color: #003d14;
    background-color: transparent;
    background-image: none;
    border-color: #003d14;
    border-radius: 20px;
    border-width: 2px;
    font-family: open_sans-bold;
    padding: .1rem 1.5rem;
}

.btn-outline-darkgreen:hover {
    background-color: #003d14;
    border-color: #003d14;
    color: #fff;
}

.btn-outline-darkgreen:focus,
.btn-outline-darkgreen.focus {
    box-shadow: 0 0 0 0.2rem rgba(0, 61, 20, 0.5);
}

.btn-outline-darkgreen.disabled, .btn-outline-darkgreen:disabled {
    background-color: transparent;
    color: #003d14;
}

.btn-outline-darkgreen:not(:disabled):not(.disabled):active,
.btn-outline-darkgreen:not(:disabled):not(.disabled).active,
.show > .btn-outline-darkgreen.dropdown-toggle {
    background-color: #003d14;
    border-color: #003d14;
    color: #fff;
}

.btn-outline-darkgreen:not(:disabled):not(.disabled):active:focus,
.btn-outline-darkgreen:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-darkgreen.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(0, 61, 20, 0.5);
}

.btn-outline-lightgreen {
    color: #a3cf4a;
    background-color: transparent;
    background-image: none;
    border-color: #a3cf4a;
    border-radius: 20px;
    border-width: 2px;
    font-family: open_sans-bold;
    padding: .1rem 1.5rem;
}

.btn-outline-lightgreen:hover {
    background-color: #a3cf4a;
    border-color: #a3cf4a;
    color: #fff;
}

.btn-outline-lightgreen:focus,
.btn-outline-lightgreen.focus {
    box-shadow: 0 0 0 0.2rem rgba(163, 207, 74, 0.5);
}

.btn-outline-lightgreen.disabled, .btn-outline-lightgreen:disabled {
    background-color: transparent;
    color: #a3cf4a;
}

.btn-outline-lightgreen:not(:disabled):not(.disabled):active,
.btn-outline-lightgreen:not(:disabled):not(.disabled).active,
.show > .btn-outline-lightgreen.dropdown-toggle {
    background-color: #a3cf4a;
    border-color: #a3cf4a;
    color: #212529;
}

.btn-outline-lightgreen:not(:disabled):not(.disabled):active:focus,
.btn-outline-lightgreen:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-lightgreen.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(163, 207, 74, 0.5);
}

.btn-darkgreen {
    color: #fff;
    background-color: #003d14;
    border-color: #003d14;
}

.btn-darkgreen:hover {
    color: #fff;
    background-color: #001707;
    border-color: #000a03;
}

.btn-darkgreen:focus,
.btn-darkgreen.focus {
    box-shadow: 0 0 0 0.2rem rgba(0, 61, 20, 0.5);
}

.btn-darkgreen.disabled,
.btn-darkgreen:disabled {
    color: #fff;
    background-color: #003d14;
    border-color: #003d14;
}

.btn-darkgreen:not(:disabled):not(.disabled):active,
.btn-darkgreen:not(:disabled):not(.disabled).active,
.show > .btn-darkgreen.dropdown-toggle {
    color: #fff;
    background-color: #000a03;
    border-color: black;
}

.btn-darkgreen:not(:disabled):not(.disabled):active:focus,
.btn-darkgreen:not(:disabled):not(.disabled).active:focus,
.show > .btn-darkgreen.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(0, 61, 20, 0.5);
}

.btn-lightgreen {
    color: #003d14;
    background-color: #a3cf4a;
    border-color: #a3cf4a;
}

.btn-lightgreen:hover {
    color: #fff;
    background-color: #91c033;
    border-color: #8ab630;
}

.btn-lightgreen:focus,
.btn-lightgreen.focus {
    box-shadow: 0 0 0 0.2rem rgba(163, 207, 74, 0.5);
}

.btn-lightgreen.disabled,
.btn-lightgreen:disabled {
    color: #003d14;
    background-color: #a3cf4a;
    border-color: #a3cf4a;
}

.btn-lightgreen:not(:disabled):not(.disabled):active,
.btn-lightgreen:not(:disabled):not(.disabled).active,
.show > .btn-lightgreen.dropdown-toggle {
    color: #fff;
    background-color: #8ab630;
    border-color: #82ac2e;
}

.btn-lightgreen:not(:disabled):not(.disabled):active:focus,
.btn-lightgreen:not(:disabled):not(.disabled).active:focus,
.show > .btn-lightgreen.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(163, 207, 74, 0.5);
}

.btn-bottom-center {
    margin-top: 1rem;
    text-align: center;
    width: 100%;
}

#mapcontainer {
    cursor: zoom-in !important;
    position: relative;
    width: 100%;
}

#mapcontainer:before {
    content: "";
    display: block;
    padding-top: 100%;
}

#mapcontainer .attribution-content {
    font-size: 10px;
    text-align: right;
    font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
}

#mapcontainer .attribution-content a {
    color: rgb(0, 120, 168);
}

#map {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

#mapPopup {
    height: 100%;
    width: 100%;
}

.mfp-with-map .mfp-container {
    padding: 20px;
}

.mfp-with-map .mfp-content {
    height: 100%;
}

.mfp-with-map .mfp-close {
    background-color: #333;
    color: #fff;
}

.mfp-with-map .mfp-close:active {
    top: 0;
}

#sticky-menu {
    top: 100px;
}

#sticky-menu li a
{
    margin: 0.1rem 0;
}

#sticky-menu li a
{
    display: block;
    padding: 0.5rem;
    text-decoration: none;
}

#sticky-menu li:hover,
#sticky-menu li.active {
    background-color: #003d14;
}


#sticky-menu li:hover a,
#sticky-menu li.active a {
    color: #fff;
}

#sticky-menu-rea {
    top: 64px;
}

#sticky-menu-rea li a
{
    display: block;
    text-decoration: none;
}

#sticky-menu-rea li:hover,
#sticky-menu-rea li.active,
#sticky-menu-rea li:hover a,
#sticky-menu-rea li.active a {
    font-family: open_sans-bold;
}

#sticky-menu-grp {
    top: 64px;
}

#sticky-menu-grp li a
{
    display: block;
    text-decoration: none;
}

#sticky-menu-grp li:hover,
#sticky-menu-grp li.active,
#sticky-menu-grp li:hover a,
#sticky-menu-grp li.active a {
    font-family: open_sans-bold;
}

#sticky-menu-inv {
    top: 64px;
}

#sticky-menu-inv li a
{
    display: block;
    text-decoration: none;
}

#sticky-menu-inv li:hover,
#sticky-menu-inv li.active,
#sticky-menu-inv li:hover a,
#sticky-menu-inv li.active a {
    font-family: open_sans-bold;
}

#sticky-submenu {
    background-color:#e6e7e8;
}

#sticky-submenu .sticky {
    top: 64px;
}

#sticky-submenu li a {
    background: none;
    border-radius: 0;
    color: #003d14;
}

#sticky-submenu li:hover a,
#sticky-submenu li a.active {
    font-family: open_sans-bold;
}

#sticky-submenu.submenu-legal li:hover a,
#sticky-submenu.submenu-legal li a.active {
    color: #fff;
    background-color: #003d14;
    font-family: open_sans;
}

.img-plan {
    position: relative;
}

.img-plan span {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    position: absolute;
    width: 100%;
    z-index: 25;
}

.img-plan .btn {
    background-color: #fff;
}

.img-plan .btn:hover {
    background-color: #003d14;
}

.hover-opacity:hover {
    opacity: 0.9;
}

#navigation-top {
    background: #fff;
    border-top: 1px solid #e6e7e8;
    left: 0;
    position: relative;
    /*position: absolute;
    top: 15px;*/
    width: 100%;
    z-index: 1025;
}

body .show-navigation-fixed {
    display: none;
}

body.site-navigation-fixed .show-navigation-fixed {
    display: block;
}

body.site-navigation-fixed #navigation-top {
    border: 0;
    margin-top: 0;
    position: fixed;
    top: 0;
}

#navigation-top .nav-logo {
    display: none;
}

#navigation-top .nav-logo img {
    height: 45px;
}

.navbar {
    padding: 0 1rem;
}

.navbar-toggler {
    color: rgba(0,0,0,.5);
    border-color: rgba(0,0,0,.1);
    padding: .25rem .75rem 0 .75rem;
}

.header-logo img {
    max-height: 83px;
    max-width: 350px;
}

.navbar-brand {
    height: 45px;
}

.navbar-brand img {
    display: none;
    height: 35px;
}

.navbar-collapse {
    padding-top: 1rem;
}

body.site-navigation-fixed #navigation-top .navbar-brand img {
    display: block;
}

#navigation-top .navbar-nav .active {
    font-family: open_sans-bold;
    text-decoration: underline;
}

.shadow {
    box-shadow: 0 5px 0.6rem #bbb !important;
}

.img-caption p {
    margin-bottom: 0;
}

#carouselHome .carousel-indicators li {
    border-radius: 100%;
    height: 10px;
    width: 10px;
}

#carouselProgram .carousel-indicators,
#carouselGroup .carousel-indicators {
    left: auto;
    margin-right: 5%;
}

#carouselProgram .carousel-indicators li,
#carouselGroup .carousel-indicators li {
    border-radius: 100%;
    height: 10px;
    width: 10px;
}

#home-programs-search h2 {
    font-size: 32px;
    line-height: 1;
    margin-bottom: 0;
}

#card-programs .card,
#card-programs .card-img-top,
#card-programs .card-footer,
.card-programs .card,
.card-programs .card-img-top,
.card-programs .card-footer {
    border-radius: 0;
}

#card-programs .card,
.card-programs .card {
    /*background: #a3cf4a;*/
    background: #f8f8f8;
    border: 0;
    border-bottom: 2px solid #cfd0d1;
    /*color: #fff;*/
    height: 100%;
    position: relative;
    text-decoration: none;
}

#card-programs .card .status,
.card-programs .card .status {
    background: rgba(255, 255, 255, 0.7);
    color: #fff;
    font-family: open_sans-light;
    position: absolute;
    z-index: 25;
}

#card-programs .card .city,
.card-programs .card .city {
    color: #003d14;
    font-family: open_sans-bold;
    font-size: 19px;
}

#card-programs .card .city span,
.card-programs .card .city span {
    font-family: open_sans-light;
}

#card-programs .card .commercial {
    font-size: 16px;
}

#card-programs .card .description,
.card-programs .card .description {
    color: #003d14;
    font-size: 14px;
    margin-bottom: 0;
    padding-top: 10px;
}

#card-programs .card-footer,
.card-programs .card-footer {
    background: transparent;
    border: 0;
    color: #cfd0d1;
    font-size: 20px;
    padding: 0;
    text-align: center;
}

#card-programs .card-footer a,
.card-programs .card-footer a {
    color: #cfd0d1;
    display: block;
    padding: 0 1.25rem .75rem 1.25rem;
}

/*##card-programs .card.card-main .commercial {
    font-family: open_sans-light;
}

card-programs .card.card-highlight {
    background: #003d14;
}

#card-programs .card.card-highlight .city {
    color: #fff;
}

#card-programs .card.card-highlight .commercial {
    color: #a3cf4a;
}

#card-programs .card.card-highlight .description {
    color: #fff;
    font-family: open_sans-light;
}*/

#card-programs .card.opportunity .status,
.card-programs .card.opportunity .status {
    background: #f3652a;
    font-size: 13px;
    padding: 0.1rem .5rem;
    right: 0;
    top: 0;
}

#card-programs .card.card-soon,
.card-programs .card.card-soon {
    background: #f3652a;
    border-color: #f3652a;
}

#card-programs .card.card-soon .status,
.card-programs .card.card-soon .status {
    align-items: center;
    display: flex;
    justify-content: center;
    height: 100%;
    width: 100%;
}

#card-programs .card.card-soon .status span,
.card-programs .card.card-soon .status span {
    background: #f3652a;
    border: 2px solid #fff;
    border-radius: 15px;
    font-family: open_sans-bold;
    padding: 0 .75rem;
}

#card-programs .card.card-soon .city,
#card-programs .card.card-soon .commercial,
.card-programs .card.card-soon .city,
.card-programs .card.card-soon .commercial {
    color: #fff;
}

#card-programs .card.card-soon .commercial,
.card-programs .card.card-soon .commercial {
    font-family: open_sans-light;
}

#card-programs .card.card-soon .description,
.card-programs .card.card-soon .description {
    color: #fff;
    font-family: open_sans-light;
    padding: 2rem 0;
    text-align: center;
    text-decoration: underline;
}

#card-programs .card.card-soon .description a,
.card-programs .card.card-soon .description a {
    color: #fff;
}

#card-programs .card.card-soon .card-footer,
#card-programs .card.card-soon .card-footer a,
.card-programs .card.card-soon .card-footer,
.card-programs .card.card-soon .card-footer a {
    color: #fff;
}

#home-realisations-search h2 {
    font-size: 32px;
    line-height: 1;
    margin-bottom: 0;
}

.hover-realisation {
    height: 100%;
    overflow: hidden;
    position: relative;
    text-align: center;
    width: 100%;
}

.hover-realisation .overlay {
    -webkit-transition: all .4s ease-in-out;
    transition: all .4s ease-in-out;
    background-color:rgba(0, 61, 20, 0.7);
    height: 100%;
    left: 0;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    width: 100%;
}

.hover-realisation img {
    -webkit-transition: all .4s linear;
    transition: all .4s linear;
    display: block;
    position: relative;
}

.hover-realisation a {
    text-decoration: none;
}

.hover-realisation p {
    color: #fff;
    font-size: 1.4rem;
}

.hover-realisation:hover .overlay {
    filter: alpha(opacity=100);
    opacity: 1;
}

.img-caption {
    background: #a3cf4a;
    bottom: 0;
    color: #fff;
    display: block;
    font-family: open_sans-light;
    font-size: 20px;
    left: 0;
    line-height: 1.2;
    padding: 1rem;
    position: relative;
    text-align: center;
    text-decoration: none;
    width: 100%;
    z-index: 1;
}

.img-caption b {
    font-family: open_sans;
}

.img-caption.reverse {
    color: #003d14;
}

.img-caption.reverse:hover {
    background: #003d14;
    color: #a3cf4a;
    text-decoration: none;
}

#home-presentation h2 {
    font-size: 32px;
    line-height: 1;
    padding-top: 1rem;
}

#home-presentation .submenu {
    background-color: #e6e7e8;
    height: 100%;
    margin-top: 2rem;
    padding: 1rem;
}

#home-contact {
}

#home-contact h2 {
    color: #003d14;
    font-size: 32px;
    line-height: 1;
}

#home-contact form textarea {
    height: 146px;
}

#home-contact form span.required {
    color: #9d9d9c;
    font-size: 0.8rem;
    position: absolute;
    right: -12px;
    top: 5px;
}

#home-contact form .form-control {
    font-family: open_sans-light;
}

#home-contact form .required-info {
    color: #9d9d9c;
    font-size: 0.8rem;
}

#home-contact form #conditions {
    color: #003d14;
    font-size: 0.8rem;
}

#home-contact form label a {
    color: #a3cf4a;
    font-family: open_sans-semibold;
    text-decoration: underline;
}

#home-infos img {
    max-height: 60px;
}

#home-infos h3 {
    font-family: open_sans-bold;
    font-size: 19px;
}

#home-infos p {
    font-size: 17px;
    margin-bottom: 0;
}

#footer {
    background-color: #e6e7e8;
    padding: 2rem 1rem 1rem 1rem;
}

#footer .logo {
    max-width: 100%;
}

#footer address {
    font-size: 0.8rem;
    line-height: 1.2rem;
    padding-top: 1rem;
}

#program-col-title {
    background: #a3cf4a;
    color: #003d14;
    display: none;
    font-size: 1.2rem;
    margin-bottom: 0;
}

#program-col-title:hover {
    background: #003d14;
    color: #a3cf4a;
    text-decoration: none;
}

table {
    background-color: transparent;
    margin-bottom: 1rem;
    max-width: 100%;
    width: 100%;
}

table th {
    border-bottom: 2px solid #dee2e6;
    color: #a3cf4a;
    font-family: open_sans;
    font-weight: normal;
    padding: 0.3rem;
    text-align: center;
    vertical-align: bottom;
}

table td {
    border-top: 1px solid #dee2e6;
    padding: 0.3rem;
    text-align: center;
    vertical-align: top;
}

#list-cities .colored {
    color: #a3cf4a;
    font-family: open_sans-bold;
}

#docModal .modal-header {
    background-color: #003d14;
    border-radius: 0;
    color: #fff;
}

#docModal .modal-header .close {
    color: #a3cf4a;
    text-shadow: initial;
}

#docModal .modal-content {
    border-color: #003d14;
    border-radius: 0;
}

#docModal .ct-docs {
    margin: 0;
}

#docModal .ct-docs li {
    margin: .5rem 0 0 0;
}

#docModal .ct-docs li:before,
#docModal .ct-docs li:after {
    content: " ";
    display: table;
}

#docModal .ct-docs li:after {
    clear: both;
}

#docModal .ct-docs li label {
    cursor: pointer;
    display: block;
    margin: 0;
    padding-left: 5px;
    vertical-align: top;
    zoom: 1;
}

#docModal .ct-docs li label input[type="checkbox"] {
    float: right;
    margin: 4px 6px 0 0;
}

#docModal .ct-docs li label:hover,
#docModal .ct-docs li label.active {
    background-color: #e9f1c9;
}

#rea-title {
    background: #f8f8f8;
    line-height: 1.2;
    padding: 15px 0;
    position: relative;
}

#rea-subtitle {
    font-family: 'open_sans-italic';
    font-size: 0.8rem;
    overflow: hidden;
    padding: 5px;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%;
}

.prestation ul {
    padding-left: 1rem;
}

.legal {
    padding: 0 15px;
}

.legal.background-gray {
    background: #e6e7e8;
    padding: 15px;
}

.legal h2,
.legal h3 {
    font-family: pt_sans-bold;
    font-size: 1.1rem;
    font-weight: normal;
}

.legal p:last-child,
.legal table:last-child,
.legal ul:last-child {
    margin-bottom: 0;
}

.legal img {
    height: auto;
    max-width: 100%;
}

.group p:last-child,
.group table:last-child,
.group ul:last-child {
    margin-bottom: 0;
}

.group img {
    height: auto;
    max-width: 100%;
}

#photo-grid img:hover {
    opacity: 0.7;
}


@media (min-width: 576px)
{
    .m-gutter-sm {
        margin-left: -15px;
        margin-right: -15px;
    }

    #home-presentation .submenu {
        margin-top: 0;
    }

    #list-cities {
        column-count: 2;
    }
}

@media (max-width: 767px)
{
    #home-programs-search h2,
    #home-realisations-search h2,
    #home-presentation h2,
    #home-contact h2 {
        font-size: 24px;
    }
}

@media (min-width: 768px)
{
    .sticky {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
    }

    #list-cities {
        column-count: 3;
    }

    #rea-l {
        padding-right: 0;
    }

    #rea-r {
        padding-left: 0;
    }

    #rea-title {
        align-items: center;
        display: flex;
        height: 120px;
        justify-content: center;
        padding: 0;
    }
}

@media (max-width: 991px)
{
    #navigation-top {
        padding: 0 !important;
        top: -10px;
    }

    #navigation-top .navbar {
        padding: 0;
    }

    #navigation-top .navbar-brand {
        height: auto;
    }

    #navigation-top .navbar-toggler {
        display: none !important;
    }

    .site-navigation-fixed #navigation-top .navbar-toggler {
        display: block !important;
    }

    #footer .logo {
        height: 35px;
    }

    #carouselProgram .carousel-indicators,
    #carouselGroup .carousel-indicators {
        background: #a3cf4a;
        position: initial;
        margin: 0;
        padding: 10px 0 0 0;
    }

    #carouselProgram .img-caption,
    #carouselGroup .img-caption {
        position: initial;
    }
}

@media (min-width: 992px)
{
    .navbar-collapse {
        padding-top: 0;
    }

    .btn-bottom-center {
        bottom: 0;
        margin-top: 0;
        position: absolute;
    }

    body.site-navigation-fixed #navigation-top .nav-logo {
        display: block;
    }

    body #navigation-top .social-icons {
        display: none;
    }

    .img-caption {
        bottom: -1rem;
        font-size: 22px;
        position: absolute;
        width: 50%;
    }

    #home-contact form .required-info {
        margin-bottom: 1rem;
    }

    #footer address {
        padding-left: 3.2rem;
    }

    #list-cities {
        column-count: 4;
    }

    #program-col-title {
        display: block;
    }

    .go-back {
        float: right;
    }

    #rea-subtitle {
        bottom: 0;
        left: 0;
        position: absolute;
    }

    .img-presta {
        background-position: 50% 50%;
        background-repeat: no-repeat;
        background-size: cover;
        display: block;
        height: 100%;
        min-height: 341px;
        width: 100%;
    }

    .img-presta img {
        display: none;
    }
}

@media (min-width: 1200px)
{
    .img-caption {
        font-size: 24px;
    }

    #footer address {
        padding-left: 4rem;
    }

    #list-cities {
        column-count: 6;
    }

    .img-presta {
        min-height: 408px;
    }
}






