body {
  margin: 0;
  padding: 0;
  font-family: din-condensed, sans-serif;
  font-weight: 400;
  font-style: normal;
}

.row ,
.col {
  margin: 0 auto;
}

h2 {
  font-family: din-condensed, sans-serif;
  padding-bottom: 5px;
  color: #2c433f;
  display: inline-block;
  position: relative;
  font-weight: lighter;
}

h2::after {
  content: '';
  height: 1px;
  width: 20px;
  background: #2c433f;
  position: absolute;
  left: 0;
  bottom: 0;
}

h3 {
  font-family: din-condensed, sans-serif;
  padding-bottom: 5px;
  color: #333;
  display: inline-block;
  position: relative;
  font-weight: lighter;
}

h3::after {
  content: '';
  height: 1px;
  width: 10px;
  background: #333;
  position: absolute;
  left: 0;
  bottom: 0;
}

ul {
  padding: 0;
  margin: 0;
}

.clear {
  clear: both;
}

.row.row-1 .col {
  width: calc(100% - 40px);
}

p, ul li {
  font-family: acumin-pro, sans-serif;
  font-weight: 400;
  font-style: normal;
  margin: 0;
  padding: 0;
} 

#nav.sidebar {
  position: fixed;
  top: 0;
  left: -100vw;
  width: 100vw;
  height: 100vh;
  background: #fff;
  opacity: 0;
  z-index: 9998;
  transition: left .4s ease-in-out, opacity .4s ease-in-out;
}

.grid .grid-item a {
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  background-size: cover;
  background-repeat: no-repeat;
  text-decoration: none;
  transition: .4s ease-in-out;
}

.grid .grid-item a h2 {
  margin: 0;
  padding: 0;
  text-align: center;
  color: #fff;
  text-decoration: none;
  border: 0 !important; 
}

.grid .grid-item a h3 {
  color: #fff;
}

.grid .grid-item a h3::after {
  background: transparent;
}

.grid .grid-item.disabled,
.grid .grid-item a:hover {
  opacity: 0.7;
}

.grid .grid-item.disabled h3 {
  position: relative;
}

.grid .grid-item.disabled h3::after {
  position: absolute;
  top: 100%;
  left: 0px;
  font-size: 9pt;
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s ease-in-out 0s;
}

body.fr .grid .grid-item.disabled h3::after {
  content: "bientôt";
}

body.en .grid .grid-item.disabled h3::after {
  content: "soon";
}

.grid .grid-item.disabled a:hover h3::after {
  opacity: 1;
  visibility: visible;
}

#readMoreReadLess {
  padding-bottom: 20px;
}

#readMoreReadLess .item {
  position: relative;
}

#readMoreReadLess .item::after {
  position: absolute;
  content: '';
  left: 0;
  bottom: 0;
  width: 20px;
  height: 1px;
  background: #ddd;
}

a.read-more,
a.read-less {
  color: #000;
  border-radius: 50%;
  border: 1px solid #ddd;
  padding: 10px;
  text-decoration: none;
  height: 20px;
  width: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #eee;
  transition: .4s ease-in-out;
}

a.read-more:hover,
a.read-less:hover {
  background: #ddd;
}

.bg-grey {
  background: #eee;
}

.bg-img {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

.services {
  position: absolute;
  right: 0;
}

#header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  padding: 0 20px;
  display: flex;
  align-items: center;
  z-index: 9999;
}

#header #nav {
  margin: 0;
  padding: 0;
}

#header #nav li {
  list-style: none;
  display: inline-block;
}

#header a {
  color: #888888;
  text-decoration: none;
  text-transform: uppercase;
  transition: color .5s ease-in-out;
}

#header a span {
  color: #2c433f;
}

#header a:hover,
#header #nav li a.selected {
  color: #2c433f;
}

#header .disabled:hover {
  color: #888888 !important;
}

#header #nav li a.selected {
  border-bottom: 2px solid #2c433f;
}

#header a span sup {
  font-size: .5em;
  line-height: .5em;
  vertical-align:super;
}

#header #nav li a.btn {
  background: #2c433f;
  color: #fff;
  padding: 5px 8px;
}

#header .disabled {
  opacity: 0.5;
  position: relative;
}

#header .disabled::after {
  content: 'bientôt';
  position: absolute;
  top: 100%;
  left: 0;
  font-size: 9pt;
  opacity: 0;
  visibility: hidden;
  transition: .4s ease-in-out;
}

body.fr #header .disabled::after {
  content: 'bientôt';
}

body.en #header .disabled::after { 
  content: 'soon';
}

#header .disabled:hover::after {
  opacity: 1;
  visibility: visible;
}

body.front .bg-img {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background-size: cover;
}

body.front .bg-img .col-content {
  padding: 25px;
  margin-bottom: 25px;
}

body.front .bg-img .col-content h2 {
  text-decoration: none;
  border: 0;
  font-family: din-condensed, sans-serif;
  text-transform: unset;
  margin: 0;
  font-size: 20pt;
}

body.front .bg-img .col-content .embed-ldgfy-button {
  border: solid #fff 25px;
}

ul {
  margin: 0;
  padding: 0;
}

ul li {
  color: #000;
  font-weight: normal;
  list-style: none;
}

ul li:first-child {
  padding-top: 0;
}

ul.img-list li {
  display: block;
  margin-bottom: 20px;
  padding: 0 !important;
  position: relative;
  border-bottom: 0 !important;
}

ul.img-list li:last-child {
  margin-bottom: 0;
}

ul.img-list li img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

ul.img-list li::after {
  content: '';
  width: 40px;
  height: 40px;
  display: block;
  background: #fff url('img/icon-zoom.svg') center center / 70% auto no-repeat;
  position: absolute;
  right: 0;
  bottom: 0;
  transition: .4s ease-in-out;
}

ul.img-list li:hover::after {
  width: 40px;
  height: 40px;
}

.block {
  padding: 20px;
  background: #eee;
}

.block p a,
.block ul li a {
  text-decoration: none;
  color: #222;
  border-bottom: 1px solid #999;
}

.embed-ldgfy-button .BookingButtonWidget-btn {
  padding: 10px;
  display: inline-block;
  font-family: din-condensed, sans-serif;
  text-transform: uppercase;
  text-align: center;
  font-size: 16pt;
}

.embed-ldgfy-button {
  display: inline-block;
}

.readmore {
  overflow: hidden;
  transition: .4s ease-in-out; 
  position: relative;
  z-index: 9996;
}

.readmore[data-readmore] {
  transition: height 200ms;
  overflow: hidden;
}

.text ul li,
.wpcf7 {
  width: 100%;
}

.wpcf7 p {
  width: 100%;
}

.wpcf7-text,
.wpcf7-textarea,
.wpcf7-submit {
  padding: 10px;
  border: 0;
  border-bottom: 1px solid #eee;
  font-family: acumin-pro, sans-serif;
  font-size: 12pt;
  color: #000;
  transition: .4s ease-in-out;
  width: calc(100% - 20px)
}

.wpcf7-textarea {
  overflow: scroll;
  height: 100px;
}

.wpcf7-submit {
  box-sizing: content-box;
  background: #2c433f;
  color: #fff;
  font-family: din-condensed, sans-serif;
  text-transform: uppercase;
  transition: .4s ease-in-out;
}

.wpcf7-submit:hover {
	
}

.wpcf7-text:focus,
.wpcf7-textarea:focus {
  border-color: #000;
  background: #eee;
  outline: 0;
  padding-left: 20px;
  width: calc(100% - 30px);
}

.wpcf7-text,
.wpcf7-textarea {
  margin-bottom: 10px; 
}

.date {
  display: block;
  font-size: 10pt;
  color: #999;
}

.qa .q {
  color: #999;
  text-decoration: none;
  display: block;
  padding-bottom: 5px;
  border-bottom: 1px solid #ddd;
  transition: .4s ease-in-out;
  position: relative;
}

.qa .a {
  display: none;
}

.qa .q::after {
  content: '+';
  position: absolute;
  top: 0;
  right: 0;
  font-size: 14pt;
  font-weight: lighter;
}

ul.qa li {
  transition: all .4s ease-in-out;
}

.qa li:hover .q,
.qa li.show .q {
  color: #000;
  border-bottom: 1px solid #000;
}

.qa li.show .q::after {
  content: '-';
}

.qa li.show .a {
  display: block;
}

.page iframe {
  width: 100%;
  display: block;
}

.pll-switcher-select {
  border: 1px solid #eee;
  padding: 5px 10px 5px 5px;
}


@media (max-width: 800px) {
  #header {
    background: #fff url('img/header-bg.svg') center center / auto 80% no-repeat;
    height: 150px;
    justify-content: center;
  }
  #header::after {
    position: absolute;
    content: '—\a—\a—';
    white-space: pre;
    display: block;
    width: 30px;
    height: 30px;
    right: 20px;
    font-size: 20pt;
    line-height: 5pt;
  }
  #nav.sidebar.open {
    left: 0;
    opacity: 1;
  }
  #nav.sidebar.open {
    padding-top: 150px;
  }
  #nav.sidebar.open li {
    padding: 20px;
    list-style: none;
    text-align: center;
    border-bottom: 1px solid #eee;
  }
  #nav.sidebar.open li a {
    font-size: 18pt;
    color: #000;
    text-transform: uppercase;
    text-decoration: none;
  }
  #nav.sidebar.open li a.disabled {
  	color: #999;
  	position: relative;
  }
  #nav.sidebar.open li a.disabled::after {
    content: 'soon';
    top: 0;
    left: 0;
    font-size: 0.7em;
    vertical-align: top;
    margin-left: 5px;
  }
  .block {
    margin-top: 35px;
  }
  .bg-img,
  .img-list {
    margin-top: 150px;
  }
  .bg-img {
    background-position: center center;
  }
  p,
  ul li {
    font-size: 10pt;
    line-height: 14pt;
  }
  h2 {
    font-size: 15pt;
  }
  h3 {
    font-size: 18pt;
  }
  .row-full-2 .col,
  .row.row-2 .col,
  .row.row-3 .col {
    width: calc(100% - 40px);
  }
  .bg-img {
    height: 50vh;
  }
  #header #nav {
    display: none;
  }
  #header #nav li {
    margin-left: 20px;
  }
  #header a,
  .cycle-description h2,
  .grid .grid-item a h2 {
    font-size: 18pt;
  }
  .grid .grid-item a {
    width: 100%;
    min-height: 25vh;
    margin-top: 35px;
  }
}

@media (min-width: 801px) {
  #header {
    background: #fff url('img/header-bg.svg') center left 20px / auto 80% no-repeat;
    height: 100px;
    justify-content: space-between;
  }
  body.front .bg-img {
    background-position: bottom 20px left 20px;
  }
  p,
  ul li {
    font-size: 10pt;
    line-height: 14pt;
  }
  .row {
    width: 1200px;
  }
  .col {
    padding: 0 20px;
    float: left;
  }
  h2 {
    font-size: 15pt;
  }
  h3 {
    font-size: 13pt;
  }
  ul.qa li {
    padding: 0 0 10px 0;
  }
  ul.qa li.show {
    padding: 20px 0 30px 0;
  }
  .row-full-2 .col,
  .row.row-2 .col {
    width: calc(50% - 40px);
  }
  .row.row-3 .col {
    width: calc(33.33% - 40px);
  }
  .bg-img {
    height: 100vh;
  }
  .bg-img {
    position: fixed;
    left: 0;
  }
  .content.grid {
    padding-bottom: 35px;
    padding: 0 10px 10px 10px;
  }
  #header #nav li {
    margin-left: 20px;
  }
  #header a,
  .cycle-description h2,
  .grid .grid-item a h2 {
    font-size: 16pt;
  }
  .content,
  ul.img-list {
    margin: 90px 0 0 0;
  }
  .content.grid {
    height: calc(100% - 100px);
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
  }
  .grid .grid-item {
    width: calc(50% - 20px);
  }
  .grid .grid-item {
    margin: 10px;
  }
  .grid .grid-item.portrait {
    height: calc(60% - 20px);
  }
  .grid .grid-item.landscape {
    height: calc(40% - 20px);
  }
  .fixed {
    position: fixed;
  }
  .scrollable {
    position: absolute;
  }
  .fixed,
  .scrollable {
    top: 0;
    height: 100%;
  }
  .fixed.left,
  .scrollable.left {
    left: 0;
  }
  .fixed.right,
  .scrollable.right {
    right: 0;
  }
  .col.fixed.right {
    padding: 0 !important;
    width: 50% !important;
  }
}


@media (max-height: 650px) {
  .services ul li strong,
  .sticky h2 {
  	padding: 0;
  	margin: 0 0 5px 0;
  }
  .sticky ul {
    margin: 10px 0;
  }
  #readMoreReadLess .item {
    padding: 5px 0;
  }
  .price {
    margin: 10px 0;
  }
  .wpcf7-form {
    margin-top: 20px;
  }
}

@media (min-height: 651px) {
  .content ul {
    margin: 20px 0;
  }
  #readMoreReadLess .item {
    margin-bottom: 10px;
    padding-bottom: 10px;
  }
  .content ul.spaced li {
    margin-bottom: 25px;
    padding-bottom: 25px;
  }
  .wpcf7-form {
    margin-top: 20px;
  }
}	
	
	
	
	
	