/*--------------------------------------------------
>> TABLE OF CONTENTS:
----------------------------------------------------
# Fonts
# General
# Navigation
    ## Superfish
    ## Mobile navigation
--------------------------------------------------*/

/*--------------------------------------------------
# Fonts
--------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Titillium+Web:ital,wght@0,300;0,400;0,600;0,700;1,400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');
/*--------------------------------------------------
# General
--------------------------------------------------*/
body {
    background: #fff;
    color: #373737;
    font-family: 'Titillium Web', sans-serif;
    font-size: 17px;
    line-height: 26px;
}
a {
    color: #39b6f9;
    text-decoration: underline;
    transition: all .4s;
}
a:active, a:hover, a:focus {
    color: #39b6f9;
    text-decoration: none;
}
 
.image-right {
    float: right;
    margin: 0 0 10px 25px;
}
.image-left {
    float: left;
    margin: 0 25px 10px 0;
}
 
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    line-height: 1.35em;
	font-family: 'Bebas Neue', cursive;
	font-weight:400;
	text-transform:uppercase;
}
h1, h2, h3, h4, h5, h6 {
    color: #1e1e1e;
}
h1, .h1 {
    font-size: 46px;
}
h2, .h2 {
    font-size: 42px;
	color:#39b6f9;
}
h3, .h3 {
    font-size: 31px;
}
h4, .h4 {
    font-size: 28px;
	color:#39b6f9;
}
h5, .h5 {
    font-size: 25px;
}
h6, .h6 {
    font-size: 22px;
	color:#39b6f9;
}

hr {
	border-color: #e5e5e5;
}
.video-home {
    max-width: 640px;
    margin: 0 0 0;
}
/********** navigation ********/
div#sticky-wrapper {
    position: absolute;
    left: 0;
    width: 100%;
    top: 0;
    z-index: 100;
}

nav.main-nav {
    position: relative;
    z-index: 100;
    transition: background .4s, box-shadow .4s;
    padding: 0;
}
nav.main-nav .max-container {
    max-width: 1790px;
    padding: 0 15px;
    margin: 0 auto;
}
.is-sticky nav.main-nav {
    box-shadow: 0 0 30px rgb(255 255 255 / 30%);
    z-index: 100;
    background: #171e21;
}
nav.main-nav .nav-wrapper {
    display: grid;
    grid-template-columns: auto auto;
    align-items: start;
    justify-content: space-between;
    padding: 72px 0 0;
    grid-gap: 20px;
	
}
.is-sticky nav.main-nav .nav-wrapper .nav-bar {
    margin: 0;
}
nav.main-nav .mobile-nav {
    display: none;
    text-align: right;
    align-self: center;
}
nav.main-nav .mobile-nav a {
    display: inline-block;
    text-decoration: none;
    text-transform: uppercase;
    color: #222;
    line-height: 40px;
    font-size: 24px;
}
nav.main-nav .mobile-nav i.fa {
    background: #39b6f9;
    text-align: center;
    color: #fff;
    width: 40px;
    line-height: 40px;
    border-radius: 50%;
    display: inline-block;
}
.is-sticky nav.main-nav .logo {
    transform: scale(.6);
}

nav.main-nav .logo {
    position: relative;
    text-align: center;
    transform-origin: top left;
    transition: all .4s;
}
.is-sticky nav.main-nav .nav-wrapper {
    align-items: start;
    padding: 10px 0;
    height: 116px;
}
.is-sticky nav.main-nav .nav-wrapper .nav-bar {
    margin: 8px 0 0;
}
nav.main-nav .nav-wrapper .nav-bar:after {
    content: "";
    position: absolute;
    right: 0;
    top: -19px;
    width: 154px;
    height: 30px;
    background: url(../images/motif1.png) no-repeat center;
}
/*******/
.camera_overlayer {
    background: rgb(34 31 30 / 40%);
}
.camera_overlayer:before {
    content: "";
    position: absolute;
    left: 0;
    width: 57.6%;
    top: 0;
    bottom: 0;
    background: rgb(255 255 255 / 16%);
    clip-path: polygon(0 0, 100% 0, 79% 100%, 0% 100%);
}
.camera_overlayer:after {
    content: "";
    position: absolute;
    left: 0;
    width: 56%;
    top: 0;
    bottom: 0;
    background: rgb(23 30 33 / 80%) url(../images/bg-slide.png) no-repeat left bottom;
    clip-path: polygon(0 0, 100% 0, 79% 100%, 0% 100%);
}
header.top .fluid_container, header.top .fluid_container #slideshow {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    height: auto;
    width: auto;
	margin: 0 !important;
}
header.top:after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: calc(100vw - (100vw - 1120px ) / 2);
    height: 92px;
    background: #fff;
    z-index: 1;
    clip-path: polygon(0 39%, 100% 0, 100% 100%, 0 100%);
}
/***************/
header.top {
    position: relative;
    height: 880px;
    background: #000;
}
header.top.small {
    background: #282828;
}
header.top.small header.page-title {
    position: absolute;
    left: 0;
    right: 0;
    text-align: center;
    top: 50%;
    transform: translateY(-50%);
}
header.top.small header.page-title h1 {
    margin: 0;
	    font-size: 70px;
		position: relative;
}

header.top.small header.page-title h1:before {
    content: "";
    position: relative;
    display: block;
    width: 95%;
    height: 150px;
    background: url(../images/icon-resto.png) no-repeat center;
    margin: 0 auto 10px;
    background-size: contain !important;
}
header.top.big {
    height: 978px;
    background-size: cover;
}

header.top .img {
    width: 100%;
    height: 100%;
    position: absolute;
    background-attachment: fixed;
    z-index: 1;
}
header.top div#bg-slideshow {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
}
.diy-slideshow figure:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    background: rgb(40 40 40 / 30%);
    height: 100%;
    width: 100%;
    z-index: 1;
}
header.top .container {
    position: relative;
    height: 100%;
}
header.top .slogan {
    position: absolute;
    right: 15px;
    text-align: left;
    line-height: 1.2;
    z-index: 1;
    left: 15px;
    bottom: 165px;
}
header.top .slogan h3 {
font-size: 80px;
    color: #fff;
    margin: 0 0 0;
    line-height: 1.2em;
    position: relative;
}
header.top .slogan h3 strong {
    font-weight: 400;
    color: transparent;
    -webkit-text-stroke-width: 2px;
    -webkit-text-stroke-color: white;
}
header.top .slogan .networks_linking {
    display: table;
    margin: 54px 0 0;
}
header.top .slogan p {
    margin: 0;
}
header.top .slogan p a {
font-size: 22px;
    line-height: 1;
    text-shadow: none;
    padding: 23px 33px;
    text-decoration: none;
    color: #fff;
    text-transform: uppercase;
    background: #2a3e48;
    transition: box-shadow .4s;
    display: table;
    margin: 20px 0 0;
    position: relative;
    font-weight: 700;
    border-radius: 10px;
}
header.top .slogan p a:hover {
    color: #39b6f9;
}
header.top .slogan p a:hover:after {
    margin-left: 20px;
}
header.top .slogan p a:after {
    content: "";
    position: relative;
    width: 22px;
    background: url(../images/arrow-cta.png) no-repeat center;
    transition: all .4s;
    height: 17px;
    display: inline-flex;
    margin-left: 13px;
}
header.top .slogan p a:before {
    content: "";
    position: absolute;
    right: -38px;
    width: 76px;
    height: 31px;
    background: url(../images/motif2.png) no-repeat center;
    bottom: -20px;
	z-index:-1;
}

header.top .slogan .networks_linking a {
    display: inline-block;
    width: 50px;
    height: 50px;
    background: #39b6f9;
    color: #fff;
    text-align: center;
    line-height: 50px;
    border-radius: 5px;
    font-size: 22px;
    transition: all .4s;
}
header.top .slogan .networks_linking a:hover {
    background: #fff;
    color: #39b6f9;
}
/****************/
header.top .fluid_container #slideshow.camera_wrap .camera_pag {
  position: absolute;
  bottom: 116px;
  width: 100%;
}
header.top .fluid_container #slideshow.camera_wrap .camera_pag ul.camera_pag_ul {
  margin: 0 auto;
  text-align: center;
}
header.top .fluid_container #slideshow.camera_wrap .camera_pag .camera_pag_ul li {
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  border-radius: 50%;
  cursor: pointer;
  display: inline-block;
  height: 10px;
  margin: 0px 10px;
  position: relative;
  text-indent: -9999px;
  width: 10px;
}
header.top .fluid_container #slideshow.camera_wrap .camera_pag .camera_pag_ul li > span {
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  border-radius: 50%;
  height: 10px;
  left: 0px;
  overflow: hidden;
  position: absolute;
  top: 0px;
  width: 10px;
}
header.top .fluid_container #slideshow.camera_wrap .camera_pag .camera_pag_ul li {
  background: rgb(255 255 255 / 40%);
}
header.top  .fluid_container  #slideshow.camera_wrap  .camera_pag  .camera_pag_ul  li:hover  > span {
  background: #fff;
}
header.top .fluid_container #slideshow.camera_wrap .camera_pag .camera_pag_ul li.cameracurrent > span {
  background: #fff;
}
header.top .fluid_container #slideshow.camera_wrap .camera_pag .camera_pag_ul li:before {
    content: "";
    position: absolute;
    left: -5px;
    width: 20px;
    height: 20px;
    border: 1px solid #39b6f9;
    border-radius: 50%;
    top: -5px;
    opacity: 0;
}
header.top .fluid_container #slideshow.camera_wrap .camera_pag .camera_pag_ul li.cameracurrent:before, header.top .fluid_container #slideshow.camera_wrap .camera_pag .camera_pag_ul li:hover:before, 
header.top .fluid_container #slideshow.camera_wrap .camera_pag .camera_pag_ul li:hover:after, header.top .fluid_container #slideshow.camera_wrap .camera_pag .camera_pag_ul li.cameracurrent:after  {
    opacity: 1 !important;
}
header.top .fluid_container #slideshow.camera_wrap .camera_pag .camera_pag_ul li:after {
    content: "";
    position: absolute;
    bottom: -58px;
    height: 53px;
    background: #39b6f9;
    width: 1px;
    left: 0;
    right: 0;
    margin: auto;
	opacity: 0;
}
/******* animation *************/
.animate.clip_ltr {
    clip-path: inset(0 100% 0 0);
    transition: clip-path 800ms ease-out;
}
.animate.clip_rtl {
    clip-path: inset(0 0 0 100%);
    transition: clip-path 800ms ease-out;
}
.animate.clip_ttb {
    clip-path: inset(0 0 100% 0);
    transition: clip-path 800ms ease-out;
}
.animate.fade_in {
    opacity: 0;
    transition: opacity 800ms ease-out;
    transition-delay: 0ms;
}
.animate.fade_in.play {
    opacity: 1;
}
.animate.delay-250 {
    transition-delay: 250ms;
}
.animate.delay-500 {
    transition-delay: 500ms;
}
.animate.clip_ttb.play {
    clip-path: inset(-1px -1px -1px -1px);
}
.animate.clip_ltr.play {
    clip-path: inset(-1px -1px -1px -1px);
}
.animate.clip_rtl.play {
    clip-path: inset(-1px -1px -1px -1px);
}
/********/
.box-light {
    background: #ededed;
    color: #414244;
    padding: 15px;
    margin: 0 0 20px;
}
.col-md-8.col-md-push-4 h3 {
    margin-top: 0;
}
article.content img {
    max-width: 100%;
    height: auto;
    object-fit: cover;
}
/************ Content ***************/
.container-fluid {
    max-width: 1575px;
}
section.home-content {
    position: relative;
    z-index: 2;
    background: #fff url(../images/bg-content.png) no-repeat center top;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 97%);
}
section.page-content {
    position: relative;
}

article.content {
    position: relative;
    padding: 70px 0 50px;
}
section.home-content article.content {
    padding: 68px 0px 65px;
}
article.content header.page-title {
    padding: 0 0 ;
    margin: 0 0 25px;
    position: relative;
}
article.content header.page-title h1 {
    margin: 0;
	position: relative;
}
section.home-content article.content header.page-title h1>span:not(.subtitle) {
    color: #fff;
    background: #39b6f9;
    font-size: 24px;
    font-family: 'Titillium Web', sans-serif;
    font-weight: 700;
    line-height: 1.2em;
    padding: 2px 30px;
}
span.subtitle {
    font-size: 80px;
    font-weight: 400;
    line-height: 1em;
    color: #1e1e1e;
    font-family: 'Bebas Neue', cursive;
}
section.home-content article.content ul {
    display: table;
    text-align: left;
    margin: 0 auto 10px;
}
section.home-content article.content header.page-title {
padding: 0;
    margin: 0 0 90px;
    position: relative;
	    text-align: center;
}
.home-grid .photos-home img:last-of-type {
    margin-top: 30px;
    margin-left: 11px;
}
.photos-home:before {
    content: "";
    position: absolute;
    right: -40px;
    width: 76px;
    height: 31px;
    background: url(../images/motif3.png) no-repeat center;
    bottom: -22px;
    z-index: 0;
}
.home-grid .photos-home {
position: relative;
    display: grid;
    grid-template-columns: auto auto;
    float: left;
    margin: -40px 50px 40px 0;
}
article.content header.page-title + h2 {
    margin-top: 0;
    margin-bottom: 30px;
}
article.content p {
    margin: 0 0 20px;
}
article.content ul {
    list-style: outside disc;
    margin-left: 0;
    padding: 0;
}
article.content ul li {
    position: relative;
    left: 1em;
    margin-left: 1em;
    padding-right: 1em;
}
article.content ul ul {
    list-style-type: circle;
}
article.content .table-style {
    position: relative;
}
article.content .table-style th {
    background: #f2f2f2;
}
article.content .table-style th,
article.content .table-style td {
    border: 1px solid #ccc;
    padding: 2px 5px;
}
.pageTemplate section.opening {
    background-color: #f4f4f4;
}
/*********/
section.bx1:before {
    content: "'";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: rgb(42 62 72 / 80%);
}
section.bx1 {
position: relative;
    padding: 200px 0 150px;
    background: url(../images/bg-bx1.jpg) no-repeat center fixed;
    margin-top: -32px;
    z-index: 1;
}
section.bx1:after {
    content: "";
    position: absolute;
    top: 0;
    left: 35%;
    height: 57px;
    background: #fff;
    right: 0;
    z-index: 1;
}
/*********** boxes ***************/
section.bg-sections {
    padding: 70px 0;
    position: relative;
    background: url(../images/bg-boxes.jpg) no-repeat top center fixed;
    background-size: cover;
}
section.boxes {
    position: relative;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2,auto);
    grid-gap: 35px;
}
section.boxes .img-box img {
    max-width: 645px;
    position: relative;
    z-index: 1;
}
section.boxes .img-box {
    position: relative;
    margin-top: 60px;
}
section.boxes h2 {
    position: relative;
    margin: 0 0 10px;
    font-size: 80px;
    color: transparent;
    -webkit-text-stroke-width: 2px;
    -webkit-text-stroke-color: #39b6f9;
	    line-height: 1.1em;
}
section.boxes .bloc-text {
    color: #fff;
}
section.boxes .bloc-text a {
    font-size: 20px;
    color: #2a3e48;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    background: #39b6f9;
    display: table;
    padding: 22px 27px;
    border-radius: 10px;
    transition: all .4s;
    margin: 40px 0 0;
}
section.boxes .bloc-text a:hover {
    background: #fff;
}
section.boxes .bloc-text a:after {
    content: "";
    position: relative;
    display: inline-block;
    width: 19px;
    height: 18px;
    background: url(../images/arrow-bx.png) no-repeat center;
    margin-left: 6px;
    margin-bottom: -2px;
    transition: all .4s;
}
section.boxes .bloc-text a:hover:after {
    margin-left: 12px;
}
section.boxes .img-box:before {
    content: "";
    position: absolute;
    width: 154px;
    height: 30px;
    background: url(../images/motif-img-bx.png) no-repeat center;
    bottom: 37px;
    left: -116px;
    z-index: 2;
}
section.boxes .img-box:after {
    content: "";
    position: absolute;
    right: 20px;
    top: -59px;
    width: 251px;
    height: 73px;
    background: url(../images/bg-img1.png) no-repeat center;
    z-index: 0;
}
/**************/
section.bx2 {
    position: relative;
    padding: 145px 0;
}
section.boxes.box2 .img-box {
    order: 1;
}
section.boxes.box2 .bloc-text {
    order: 2;
	    color: #373737;
}
section.boxes.box2 .img-box:before {
    left: auto;
    right: -116px;
    bottom: -20px;
    background: url(../images/motif-img-bx2.png) no-repeat center;
}
section.boxes.box2 .img-box:after {
    background: url(../images/bg-img2.png) no-repeat center;
    right: auto;
    left: 20px;
}
section.boxes.box2 .bloc-text a {
    background: #2a3e48;
    color: #fff;
    padding: 21px 35px;
}
section.boxes.box2 .bloc-text a:hover {
    background: #222;
    color: #fff;
}
section.boxes.box2 .bloc-text a:after {
    background: url(../images/arrow-bx2.png) no-repeat center;
    margin-left: 9px;
    width: 24px;
    height: 17px;
}
section.boxes.box2 .bloc-text a:hover:after {
    margin-left: 13px;
}
section.bx2:before {
    content: "";
    position: absolute;
    top: -55px;
    right: 0;
    width: 36%;
    height: 55px;
    background: #fff;
    z-index: 3;
    clip-path: polygon(0 39%, 100% 0, 100% 100%, 0 100%);
}

/********/
section.bx3 {
    position: relative;
    padding: 200px 0 170px;
    background: url(../images/img3.jpg) no-repeat center fixed;
}
section.bx3:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: rgb(42 62 72 / 80%);
}
section.bx3:after {
    content: "";
    position: absolute;
    top: 0;
    height: 41px;
    background: #fff;
    width: 73%;
    right: 0;
}
section.boxes.box3 {
    grid-gap: 5px;
}
section.boxes.box3 .bloc-text a {
    color: #fff;
}
section.boxes.box3 .bloc-text a::after {
    background: url(../images/arrow-bx3.png) no-repeat center;
    margin-left: 9px;
}
section.boxes.box3 .bloc-text a:hover::after {
    margin-left: 13px;
}
section.boxes.box3 .bloc-text a:hover {
    background: #39b6f9;
}
/*******/
section.opening {
    position: relative;
    padding: 90px 0;
    background: url(../images/bg-open.png) no-repeat center;
    background-size: cover;
}
section.opening h2 {
    text-align: center;
    margin: 0 0 70px;
    font-size: 80px;
    color: #1d1d1d;
    position: relative;
}
section.opening h2:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    bottom: 0;
    width: 265px;
    height: 39px;
    background: rgb(57 182 249 / 20%);
    z-index: -1;
}
div#openingTimesBlock {
display: grid;
    grid-template-columns: repeat(4,auto);
    justify-content: center;
}
div#openingTimesBlock .openingLine {
    background: #39b6f9;
    font-size: 19px;
    color: #fff;
    text-align: center;
    line-height: 1.8em;
    padding: 29px 20px;
	    max-height: 125px;
}
div#openingTimesBlock .openingLine span.openingDay {
    font-size: 22px;
    font-weight: 700;
	    text-transform: uppercase;
		    display: block;
}
div#openingTimesBlock .openingLine:nth-child(even) {
    background: #2a3e48;
    margin-top: 30px;
}
/************ footer ******************/
footer.bottom {
      position: relative;
    padding: 106px 0;
    color: #fff;
    background: #171e21 url(../images/bg-footer.png) no-repeat bottom center;
    background-size: cover;
}
footer.bottom .logo-footer {
    text-align: center;
    margin: 0 0 60px;
}
/******/
footer.bottom .footer-wrapper {
    display: grid;
    grid-template-columns: repeat(3,auto);
    align-items: center;
    justify-content: space-between;
    position: relative;
}
footer.bottom .footer-wrapper p {
    margin: 0;
}
footer.bottom .footer-adr, footer.bottom .footer-contact {
    position: relative;
}
footer.bottom a, .googlemaps_v2 label.modal-label {
    color: #39b6f9;
    text-decoration: underline;
}
footer.bottom a:hover, .googlemaps_v2 label.modal-label:hover{
    color: #39b6f9;
    text-decoration: none;
}
footer.bottom .footer-adr {
    text-align: right;
}
footer .networks_linking a {
    display: inline-block;
    width: 50px;
    height: 50px;
    background: #39b6f9;
    color: #fff;
    text-align: center;
    line-height: 50px;
    border-radius: 5px;
    font-size: 22px;
    transition: all .4s;
}
footer .networks_linking a:hover {
    background: #fff;
    color: #39b6f9;
}
/*******/
.slogan.slogan-contact p {
    display: none;
}
/*****/
/********************/
a#scrollTopBtn {
    bottom: 35px;
    left: auto;
    right: 15px;
    padding: 4px 13px 7px;
    background: rgb(57 182 249 / 80%);
    border: none;
    border-radius: 0;
    color: #fff;
    font-size: 30px;
    line-height: 1;
    text-decoration: none;
    box-shadow: none;
    transition: background .4s, box-shadow .4s;
}
a#scrollTopBtn:hover {
    background: rgb(57 182 249 / 100%);
    box-shadow: 0 5px 30px rgb(0 0 0 / 50%);
}
a#scrollTopBtn i.fa::before {
    content: '\f0d8';
}
.phone-responsive {
    display: none;
}

.cookieinfo a.cookieinfo-close {
    border-radius: 3px !important;
    text-transform: uppercase;
    font-size: .9em;
    padding: 5px 15px !important;
}
/*--------------------------------------------------
# Navigation
--------------------------------------------------*/

/*--------------------------------------------------
## Superfish
--------------------------------------------------*/
.sf-menu, .sf-menu * {
	margin: 0;
	padding: 0;
	list-style: none;
}
.sf-menu li {
	position: relative;
}
.sf-menu ul {
	position: absolute;
	display: none;
	top: 100%;
	left: 0;
	z-index: 99;
}
.sf-menu > li {
	font-size: 0;
	display: inline-block;
}
.sf-menu li:hover > ul,
.sf-menu li.sfHover > ul {
	display: block;
}
.sf-menu a {
	display: block;
	position: relative;
}
.sf-menu ul ul {
	top: 0;
	left: 100%;
}
.sf-menu ul {
    box-shadow: 0px 2px 10px rgb(0 0 0 / 20%);
    min-width: 100%;
    text-align: center;
    margin-top: 0;
    background: #ffffff;
}
.sf-menu a {
    padding: 26px 0 31px;
    font-size: 18px;
    text-decoration: none;
    color: #fff;
    text-transform: none;
    line-height: 27px;
    font-weight: 700;
}
.nav-bar2 .sf-menu a {
    padding: 6px 10px;
}
.sf-menu li {
	white-space: nowrap;
}
.sf-menu > li {
	    float: left;
    padding: 0 23px;
}
.sf-menu ul li {
	
}
.sf-menu > li:last-child {
    padding-right: 0;
}
.sf-menu ul li a {
padding: 5px 10px;
    color: #282828;
    border: none;
    border-radius: 0;
}
.sf-menu li a:hover, .sf-menu li.sfHover > a,
.sf-menu li.selected > a, .sf-menu li.active > a {
color: #39b6f9;
}
.sf-menu ul li a:hover, .sf-menu ul li.sfHover > a,
.sf-menu ul li.selected > a, .sf-menu ul li.active > a {
    color: #fff;
    background: #39b6f9;
	border: none;
}
.sf-menu > li > a:before {
    content: "";
    position: absolute;
    left: 0;
    right: 100%;
    bottom: 0;
    height: 6px;
    background: #39b6f9;
    transition: all .4s;
}
.sf-menu li a:hover:before, .sf-menu li.sfHover > a:before,
.sf-menu li.selected > a:before, .sf-menu li.active > a:before {
	right:0;
}
nav.main-nav .nav-wrapper .nav-bar {
margin-top: 8px;
    padding-left: 35px;
    position: relative;
}
nav.main-nav .nav-wrapper .nav-bar:before {
    content: "";
    position: absolute;
    right: calc(0px - ((100vw - 1760px) / 2));
    top: 0;
    bottom: 0;
    background: rgb(23 30 33 / 80%);
    left: 0;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 3% 100%);
}
/* styling for both css and generated arrows */
.sf-arrows .sf-with-ul::after {
    content: '\f107';
    font-family: 'FontAwesome';
    font-size: .9em;
    line-height: 1em;
	position: absolute;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
    transition: color .4s;
}
.sf-arrows > li > .sf-with-ul:focus:after,
.sf-arrows > li:hover > .sf-with-ul::after,
.sf-arrows > .sfHover > .sf-with-ul::after,
.sf-arrows > .selected > .sf-with-ul::after,
.sf-arrows > .active > .sf-with-ul::after {
	color: #39b6f9;
}

/*--------------------------------------------------
## Mobile navigation
--------------------------------------------------*/
.site-overlay {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.3);
	opacity: 0;
	transform: translate3d(100%,0,0);
	transition: opacity 0.4s, transform 0s 0.4s;
	transition-timing-function: cubic-bezier(0.7,0,0.3,1);
}
/* Close Button */
.close-button {
	width: 1.5em;
	height: 1.5em;
	position: absolute;
	right: 1em;
	top: 1em;
	overflow: hidden;
	text-indent: 1em;
	font-size: 0.75em;
	border: none;
	background: transparent;
	color: transparent;
}
.close-button::before,
.close-button::after {
	content: '';
	position: absolute;
	width: 3px;
	height: 100%;
	top: 0;
	left: 50%;
	background: #ccc;
	transition: background .4s;
}
.close-button::before {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.close-button::after {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.close-button:hover::before,
.close-button:hover::after {
	background: #fff;
}
/* Menu */
.menu-wrap {
	position: fixed;
	overflow: auto;
	top: 0;
	left: 0;
	z-index: 1001;
	width: 300px;
	height: 100%;
	background: #000;
	box-shadow: 0 0 20px rgba(0,0,0,.8);
	padding: 40px 20px 20px;
	transform: translateX(-100vw);
	transition: transform 0.4s;
	transition-timing-function: cubic-bezier(0.7,0,0.3,1);
}
.mobile-menu {
	transform: translateX(500px);
}
.mobile-menu > ul {
	display: block;
	transform: translateX(-1000px);
}
.mobile-menu,
.mobile-menu > ul {
	transition: transform 0s 0.4s;
	transition-timing-function: cubic-bezier(0.7,0,0.3,1);
}
.mobile-menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 18px;
	line-height: 1.5em;
}
.mobile-menu ul ul {
	background: rgba(0,0,0,.15);
	font-size: 16px;
	margin-top: 5px;
	margin-bottom: -5px;
	border-top: 1px solid rgba(255,255,255,.2);
}
.mobile-menu li:first-child {
	border-top: none;
}
.mobile-menu li {
	padding: 5px 0;
	border-top: 1px solid rgba(255,255,255,.2);
}
.mobile-menu li li {
	position: relative;
	border-top: 1px solid rgba(255,255,255,.2);
}
.mobile-menu li li::before {
	content: '\f105';
	font-family: 'FontAwesome';
	position: absolute;
	color: rgba(255,255,255,.5);
	z-index: 5;
	left: 10px;
}
.mobile-menu a {
	padding: 0 5px;
	display: block;
	color: #fff;
	text-decoration: none;
	transition: color .4s, background .4s;
}
.mobile-menu a:hover {
	color: #39b6f9;
	background: rgba(0,0,0,.2);
}
.mobile-menu li li a {
	padding-left: 25px;
}
/* Shown menu */
.show-menu .menu-wrap {
	transform: translate3d(0,0,0);
	transition: transform 0.8s;
	transition-timing-function: cubic-bezier(0.7,0,0.3,1);
}
.show-menu .mobile-menu,
.show-menu .mobile-menu ul {
	transform: translate3d(0,0,0);
	transition: transform 0.8s;
	transition-timing-function: cubic-bezier(0.7,0,0.3,1);
}
.show-menu .mobile-menu ul {
	transition-duration: 0.9s;
}
.show-menu .site-overlay {
	opacity: 1;
	transition: opacity 0.8s;
	transition-timing-function: cubic-bezier(0.7,0,0.3,1);
	transform: translate3d(0,0,0);
}
.fullsite {
    position: relative;
    overflow: hidden;
}
/******************************
		Responsive
***************************/
@media only screen and (max-width : 1790px) {
nav.main-nav .logo img {
  max-width: 100%;
}
nav.main-nav .logo {
  width: 330px;
}
.sf-menu > li {
  padding: 0 20px;
}
nav.main-nav .nav-wrapper .nav-bar::before {
  right: -15px;
}
.is-sticky nav.main-nav .logo {
    transform: scale(1);
}
}
@media only screen and (max-width : 1500px) {
.sf-menu > li {
  padding: 0 8px;
}
nav.main-nav .logo {
  width: 270px;
}
.sf-menu a {
  font-size: 17px;
}
}
@media only screen and (max-width : 1199px) {
header.top.big {
    height: 700px;
}
nav.main-nav .nav-wrapper {
  padding: 10px 0 0;
}
nav.main-nav .logo {
    width: 290px;
}
.nav-bar {
  display: none;
}
    nav.main-nav .mobile-nav {
        display: inline-block;
        margin-left: auto;
    }

nav.main-nav .mobile-nav {
  display: table;
  margin: 10px auto;
}
header.top .slogan h3 {
  font-size: 40px;
}
section.boxes .bloc-text {
  max-width: 100%;
}
nav.main-nav {
  padding: 0;
}
section.boxes .img-box img {
  max-width: 500px;
}
section.boxes h2 {
  font-size: 62px;
}
}
@media only screen and (max-width : 991px) {
header.top.big {
  height: 700px;
}
section.boxes {
  grid-gap: 30px;
}
section.boxes .img-box img {
  max-width: 100%;
  width: 100%;
}
div#openingTimesBlock {

}
footer.bottom .footer-wrapper {
  grid-template-columns: repeat(1,1fr);
  grid-gap: 40px;
  justify-content: center;
  text-align: center;
}
footer.bottom h3 {
  text-align: center;
}
footer.bottom .footer-adr {
  text-align: center;
}
section.home-content article.content header.page-title h1 > span:not(.subtitle) {
  display: block;
}
.home-grid .photos-home {
  display: table;
  float: none;
  margin: 0 auto 70px;
}
.home-grid .clearfix {
  display: none;
}
section.boxes {
  grid-template-columns: repeat(1,auto);
}
}
@media only screen and (max-width : 767px) {
    .image-right,
    .image-left {
        float: none;
        margin: 10px auto;
        max-width: 100%;
        height: auto;
        display: block;
    }
  div#openingTimesBlock {
    grid-template-columns: repeat(2,1fr);
    grid-gap: 30px 0;
}
   .pageTemplate div#sticky-wrapper {
    height: 79px !important;
}
    .phone {
        display: none;
    }
    .phone-responsive {
        display: inline-block;
    }
    .phone-responsive a {
    text-decoration: underline !important;
}
	header.top.small header.page-title h1 {
    font-size: 40px;
}
	nav.main-nav .logo {
   /* width: 330px;*/
}
nav.main-nav .logo img {
    max-width: 100%;
}
nav.main-nav {
    padding: 10px 0 0;
}
header.top .slogan h3 {
    font-size: 33px;
}
section.boxes.box1 .img-box, section.boxes.box2 .img-box {
    position: relative;
    width: 100%;
    height: 250px;
}
header.top .slogan p a {
    font-size: 16px;
    padding: 18px 24px;
}
span.subtitle {
  font-size: 60px;
}
section.boxes .bloc-text {
    padding: 80px 0;}
section.home-content article.content header.page-title h1 {
  font-size: 22px;
  letter-spacing: 0;
}
.home-grid .photos-home img {
  display: table;
  /*margin: 0 auto 10px !important;*/
}
.home-grid .photos-home img:last-of-type {
    margin-top: -120px;
}
section.opening h2 {
  font-size: 60px;
}
.logo-footer img {
  max-width: 100%;
}
}
@media only screen and (max-width : 480px) {
  nav.main-nav .logo {
    width: 230px;
}
section.boxes h2 {
  font-size: 42px;
}
span.subtitle {
  font-size: 50px;
}
div#openingTimesBlock {
  grid-template-columns: repeat(1,1fr);
}
h1, .h1 {
    font-size: 36px;
}
h2, .h2 {
    font-size: 31px;
}
h3, .h3 {
    font-size: 28px;
}
h4, .h4 {
    font-size: 25px;
}
}