
/* [ ================ MAIN - PREDEFINES ================== ] */
/* [ ================ MAIN - PREDEFINES ================== ] */
/* [ ================ MAIN - PREDEFINES ================== ] */

:root {
    --green: #98c05a;
    --darkgreen: #5c9a3a;
    --dark: #3e3b39;
    --blue: #057fb0;
    --whiteish: #f8f8f7;
    --silver: #e8e8e7;
}


/* custom fonts */



@font-face {
    font-family: 'Gotham';
    src: url('../fonts/gotham/Gotham-Bold.otf') format('opentype');
    font-weight: 700;
    font-display: swap; 
    unicode-range: U+000-5FF;  
}


@font-face {
    font-family: 'Oleo Script';
    src: url('../fonts/oleo/OleoScript-Regular.ttf') format('truetype');
    font-weight: 400;
    font-display: swap; 
    unicode-range: U+000-5FF;  
}


@font-face {
    font-family: 'Oleo Script';
    src: url('../fonts/oleo/OleoScript-Bold.ttf') format('truetype');
    font-weight: 700;
    font-display: swap; 
    unicode-range: U+000-5FF;  
}

html {
    scroll-behavior: smooth;
}

body, html 
{
	font-family: 'Montserrat', sans-serif;
	background: #fff;
	line-height: 1.3;
	margin:0;
    color: var(--dark);
    font-weight: 400;
    max-width: 1920px;
    margin:0 auto;
}


* {box-sizing: border-box;}



p, ul, li, a, h1, h2, h3, h4, h5, h6 {margin:0; padding:0;}

li {list-style: none}


.container {
	max-width: 1570px;
	padding:0 15px;
	width: 100%;
	margin: 0 auto;
}



a, button, input, textarea, select {font-family: 'Montserrat', sans-serif;}

a, button {
    cursor: pointer;
    text-decoration: none;
    outline: none!important;
    transition: 0.2s ease-in-out;
}

ul {margin-bottom: 0;}
li {list-style: none}

img {
	max-width: 100%;
	display: block;
}



a {color: var(--blue);}





/*scrollbar*/

::-webkit-scrollbar-track
{
    border-radius: 0px;
    background-color:#ffffff2e;
}

::-webkit-scrollbar
{
    width: 6px;
    background-color: #ffffff2e;
}

::-webkit-scrollbar-thumb
{
    border-radius: 0px;
    background-color: #989898;
}





/* text elipsis */

.limitRows1, .limitRows2, .limitRows3, .limitRows4, .limitRows5 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

.limitRows1 { -webkit-line-clamp: 1; }
.limitRows2 { -webkit-line-clamp: 2; }
.limitRows3 { -webkit-line-clamp: 3; }
.limitRows4 { -webkit-line-clamp: 4; }
.limitRows5 { -webkit-line-clamp: 5; }




/* FONT CLASSES */


.oleo {font-family: 'Oleo Script', sans-serif;}
.gotham {font-family: 'Gotham', sans-serif;}

.fw300 {font-weight: 300}
.fw400 {font-weight: 300}
.fw500 {font-weight: 500}
.fw600 {font-weight: 600}
.fw700 {font-weight: 700}
.fw800 {font-weight: 800}
.fw900 {font-weight: 900}




/* DEFAULT BUTTONS */


.btn-default {
    padding: 14px 47px 15px;
    border-radius: 21.5px;
    font-family: 'Gotham', sans-serif;
    font-weight: bold;
    font-size: 15px;
    letter-spacing: 1.5px;
    display: inline-block;
    text-transform: uppercase;
    line-height: 1;
}


.btn-default.green {
    background: var(--green);
    color: white;
}
.btn-default.green:hover {
    background: var(--darkgreen);
}


.btn-default.white-transparent {
    background: transparent;
    color: white;
    border:1px solid white;
}

.btn-default.white-transparent:hover {
    background: var(--darkgreen);
    border: 1px solid var(--darkgreen);
}





.btn-default.white {
    background: white;
    color: var(--dark);
}

.btn-default.white:hover {
    background: var(--dark);
    color: white;
}


.hasImageBG {
    position: relative;
}

.hasImageBG .container {
    position: relative;
    z-index: 100;
}

.hasImageBG .bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.hasImageBG .bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}   

/* [ ================ HEADER ================== ] */
/* [ ================ HEADER ================== ] */
/* [ ================ HEADER ================== ] */








/* TOP MENU */

header {
    position: sticky;
    top: 0;
    width: 100%;
    z-index: 100000000;
}

header .top-menu {
    background: var(--green);
    padding: 9px 0;
}


header .top-menu-links {
    display: flex;
    justify-content: flex-end;
}


header .top-menu-links ul {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

header .top-menu-links ul li {
    margin-left: 50px;
}

header .top-menu-links ul li a {
    color: white;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    font-weight: bold;
}

header .top-menu-links ul li a:hover {
    color: var(--dark);
}


/*LOGO */
header .main-menu-wrapper {background: white;}
header .main-menu-wrapper  .container{
    position: relative;
}

header .logo {
    position: absolute;
    top: -40px;
    left: 15px;
    height: calc(100% + 62px);
}

header .logo img{
    height: 100%;
    object-fit: contain;
}


.menu-hamb {display: none;}
/* MAIN MENU */



header .main-menu {
    display: flex;
    align-items: center;
}

header .main-menu-flex {
    display: flex;
    justify-content: flex-end;
    padding: 23px 0;
}

header .main-menu-flex ul {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

header .main-menu-flex ul li {
    margin-left: 40px;
}

header .main-menu-flex ul li a {
    color: var(--dark);
    text-transform: uppercase;
    letter-spacing: 0.8px;
    font-weight: 500;
    font-size: 17px;
    letter-spacing: 0.85px;
}

header .main-menu-flex ul li a:hover {
    color: var(--blue);
}

header .close-main-menu {display: none}

/* socials */

header .socials {
    margin-left: 52px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

header .socials a {
    color: var(--dark); 
    margin-left: 15px;
    font-size: 22px;
}
header .socials a:hover {color: var(--blue)}




/* [ ================ HOMEPAGE ================== ] */
/* [ ================ HOMEPAGE ================== ] */
/* [ ================ HOMEPAGE ================== ] */



/* HP INTRO */


.hp-intro {
    position: relative;
    padding: 174px 0 212px 0;
    color: var(--whiteish);
    background: var(--blue);
}

.hp-intro .container {
    position: relative;
    z-index: 100;
}


.hp-intro .cnt h1 {
    font-size: 54.5px;
    line-height: 52px;
    margin-bottom: 34px;
    font-weight: bold;
    font-family: 'Oleo Script', sans-serif;
}

.hp-intro .cnt p {
    max-width: 740px;
    font-weight: 600;
    font-size: 22px;
    line-height: 30px;
    letter-spacing: -0.26px;
}


.hp-intro .cnt a {
    margin-top: 64px;
}


/* slide images */

.hp-intro .hp_intro_slider {
    height: 100%;
}


.hp-intro .background-slider-images {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    over
}

.hp-intro .background-slider-images img {
    object-fit: cover;
    height: 100%;
    width: 100%;
}


.hp-intro .hp-intro-pagination {
    position: absolute;
    bottom: 50px;
    left: 0;
    right: 0;
    margin:0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}


.swiper-pagination-bullet {
    height: 10px;
    width: 10px;
    background: #fff;
    opacity: 1;
    border-radius: 2px;
    margin:0 6px;
    outline: none!important;
}

.swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: var(--green);
}





/* HP CAMPING */


.hp-camping {
    position: relative;
    padding: 69px 0 57px 0;
}


.hp-camping::before {
    content: url(../images/pattern.webp);
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
}

.hp-camping .container {
    position: relative;
    z-index: 10;
}


.hp-camping-flex {
    display: flex;
}

.hp-camping-flex .left {
    width: 400px;
}

.hp-camping-flex .right {
    margin-left: 80px;
    flex:1;
}


.hp-camping-flex .cnt {
    padding-top: 40px; 
}

.hp-camping-flex .cnt h2 {
    color: var(--green);   
    font-size: 36px;
    line-height: 40px;
    margin-bottom: 30px;
    font-family: 'Oleo Script', sans-serif;
}

.hp-camping-flex .cnt p {
    font-size: 18px;
    line-height: 28px;
    font-weight: 600;
}

.hp-camping-flex .cnt a {
    color: var(--blue);
    margin-top: 30px;
    margin-bottom: 40px;
    text-decoration: underline;
    display: inline-block;
}




/* INFOS DU CAMPING */

.infos-camping {
    padding: 75px 0 57px 0;
    background: var(--silver);
    text-align: center;
    position: relative;
    z-index: 100;
}


.infos-camping .cnt {
    max-width: 1260px;
    margin:0 auto;
}

.infos-camping .cnt h2 {
    font-weight: bold;
    text-transform: uppercase;
    font-size: 32px;
    line-height: 40px;
    letter-spacing: 1.6px;
    margin-bottom: 45px;
}


.infos-camping .cnt p {
    font-size: 18px;
    line-height: 28px;
    font-weight: 600;
}
.infos-camping .cnt p:first-of-type:first-letter {
    font-family: 'Oleo Script', sans-serif;
}


.infos-camping h3 {
    color: var(--blue);
    font-weight: bold;
    font-size: 24px;
    margin-top: 35px;
    font-family: 'Oleo Script', sans-serif;
}



.infos-camping .plus-sign {
    bottom: 0;
    transform: translateY(40%);
    left: 0;
    right: 0;
    margin:0 auto;
    position: absolute;
    background: var(--silver);
    width: 90px;
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px;
    border-radius: 100%;
    cursor: pointer;
}





/* TARIFS */


.tarifs {
    background: var(--green);
    padding: 92px 0 82px 0;
    position: relative;
}

/*backgorunds*/
.tarifs .backgrounds {
    position: absolute;
    top: 0;
    left:0;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    justify-content: space-between;
}

.tarifs .backgrounds > div {
    width: 50%;
    position: relative;
}

.tarifs .backgrounds > div img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.tarifs .backgrounds .right::after {
    content: '';
    background: #0c5f81;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0.9;
    mix-blend-mode: multiply;
}


.tarifs .container {
    position: relative;
    z-index: 15;
}

/*content*/

.tarifs-flex {
    display: flex;
    color: white;
}

.tarifs-flex > div {
    width: 50%;
}


.tarifs-flex .left {
    padding-right: 128px;
}

.tarifs-flex .left h2 {
    font-size: 32px;
    line-height: 40px;
    letter-spacing: 1.6px;
    margin-bottom: 32px;
    text-transform: uppercase;
}


.tarifs-flex .left h3 {
    font-size: 26px;
    line-height: 32px;
    margin-bottom: 63px;
    font-family: 'Oleo Script', sans-serif;
    font-weight: 500;
}

.tarifs-flex .left h4, .tarifs-flex .right .cnt h4 {
    font-family: 'Oleo Script', sans-serif;
    font-size: 24px;
    line-height: 32px;
    letter-spacing: 0.6px;
    font-weight: 500;
}

.tarifs-flex .left p, .tarifs-flex .right .cnt p {
    font-weight: 500;
    font-size: 18px;
    line-height: 32px;
    letter-spacing: 0.45px;
}




.tarifs-flex .right  {
    display: flex;
    flex-direction: column;
    justify-content: center; 
    padding-left: 60px;
}

.tarifs-flex .right .cnt {
    padding: 65px 95px;
    border-radius: 25px;
    border: solid 2px #ffffff;
    width: calc(100% + 100px);
    position: relative;
    left: -100px;
}

.tarifs-flex .right .cnt h2 {
    font-family: 'Oleo Script', sans-serif; 
    font-size: 42px;
    line-height: 1;
    margin-bottom: 46px;
    font-weight: 500;
}



.tarifs-flex .right .cta {
    margin-top: 58px;
}






/* FAQS */

.faqs > h2 {
    font-size: 32px;
    line-height: 46px;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    font-weight: bold;
    margin-bottom: 59px;
}


.faqs-wrapper {
    margin:56px 0;
    position: relative;
}
 
.faqs-wrapper .left-side-image {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 50%;
}

.faqs-wrapper .left-side-image img {
    max-height: 100%;
    object-fit: cover;
    width: 100%;
    height: 100%;
    display: block;
}

.faqs-wrapper .container {
    display: flex;
    justify-content: flex-end;
}


.faqs-wrapper .faqs {
    width: 50%;
    padding-left: 64px;
}


.faq-item .answer {
    display: none;
    padding-top: 15px;
    line-height: 26px;
    letter-spacing: 0.16px;
    font-weight: 600;
    padding-right: 90px;
}

.faq-item.opened .answer {
    display: block;
}

.faq-item.opened .answer p {margin-bottom: 12px;}


.faq-item .question {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}

.faq-item .question p {
    color: var(--blue);
    font-weight: 600;
    flex:1;
}


.faq-item {
    padding: 14px 0;
    border-bottom: 1px solid var(--dark);
    margin-bottom: 10px;
}


.toggler span {
    height: 1px;
    width: 26px;
    background: var(--blue);
    display: block;
}

.toggler {
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.toggler span:last-child {
    transform: rotate(90deg);
    transition: 0.2s;
    position: absolute;
    left: 0;
    right: 0;
    margin:0 auto;
    top: 13px;
}


.faq-item.opened .toggler span:last-child {
    transform: rotate(0deg);
}








/* DATES */

.dates {
    padding: 54px 0;
    color: white;
}


.dates h2 {
    font-family: 'Oleo Script', sans-serif;
    font-size: 36px;
    line-height: 40px;
    font-weight: 500;
}



.dates p {
    font-size: 22px;
    font-weight: bold;
    line-height: 40px;
    margin-top: 5px;
}







/* CONTACT FORM & RESEVATION */



.reserve-contact {
    padding: 55px 0;
    background: var(--dark);
    position: relative;
}


.reserve-contact .bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.reserve-contact .container {
    position: relative;
    z-index: 100;
}


.reserve-contact-flex {
    width: 100%;
    background: white;
    display: flex;
    justify-content: space-between;
}

.reserve-contact-flex > div {
    width: 50%;
    padding: 80px;
}


.reserve-contact-flex .contact {
    text-align: center;
    background: var(--green);
    color: white;
}


.reserve-contact-flex .contact > h2 {
    font-size: 32px;
    letter-spacing: 0.8px;
    margin-bottom: 50px;
}

.reserve-contact-flex .contact > h3 {
    font-family: 'Oleo Script', sans-serif;
    font-size: 24px;
    line-height: 32px;
    margin-top: 60px;
    display: none;
    font-weight: 500;
}

.reserve-contact-flex  .wpcf7 form.sent .wpcf7-response-output {
    display: none!important;
}



.contact-form input,
.contact-form textarea,
.contact-form select {
    width: 100%;
    padding: 15px 24px;
    font-size: 13px;
    background: white;
    margin-bottom: 6px;
    border:none;
    border-radius: 21.5px;
    outline: 0!important;
    font-weight: 600;
}

.contact-form textarea {
    height: 131px;
    max-height: 300px;
    min-height: 100px;
    max-width: 100%;
    min-width: 100%;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder,
.contact-form select::placeholder {
    color: var(--dark);
}

.contact-form .submit input {
    width: auto;
    font-size: 15px;
    padding: 14px 47px 15px;
    cursor: pointer;
    margin-top: 25px;
    margin-bottom: 0;
    transition: 0.2s;
}


/* error states*/
.contact-form br {display: none;}
.contact-form .wpcf7-not-valid-tip {
    font-size: 12px;
    position: relative;
    text-align: left;
    bottom: 4px;
    left: 16px;
    font-weight: 600;
}


/* GALLERY */


.gallery {
    padding: 93px 0;
}


.gallery .container > h2 {
    text-align: center;
    font-size: 32px;
    line-height: 50px;
    letter-spacing: 0.8px;
    margin-bottom: 33px;
    text-transform: uppercase;
    font-weight: bold;
}

.gallery .container > p {
    text-align: center;
    color: var(--blue);
    font-family: 'Oleo Script', sans-serif;
    font-size: 26px;
    line-height: 32px;
    letter-spacing: 0.49px;
    max-width: 920px;
    margin:0 auto;
    margin-bottom: 51px;
    font-weight: 500;
}



.gallery-slider {
    padding: 0 80px;
    position: relative;
}


.gallery-slider arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    transition: 0.2s;
}

.gallery-slider arrow:hover {
    transform:  translateY(-50) scale(1.05);
}

.gallery-slider .gallery-slider-prev {
    left: -10px;
}
.gallery-slider .gallery-slider-next {
    right: -10px;
}


.gallery-slider .swiper-slide {
    position: relative;
}

.gallery-slider .swiper-slide  > div {
    position: relative;
    padding-bottom: 100%;
    width: 100%;
    cursor: pointer;
}

.gallery-slider .swiper-slide  > div::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.7);
    z-index: 9;
    visibility: hidden;
    opacity: 0;
    transition: 0.2s;
}

.gallery-slider .swiper-slide  > div::before {
    content: '';
    background: url(../images/circled-plus.png) no-repeat;
    width: 34px;
    height: 34px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    right: 0;
    margin:0 auto;
    z-index: 10;
    visibility: hidden;
    opacity: 0;
    transition: 0.2s;
}

.gallery-slider .swiper-slide  > div:hover::before,
.gallery-slider .swiper-slide  > div:hover::after {
    visibility: visible;
    opacity: 1;
}

.gallery-slider .swiper-slide  > div img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
}







/* POPUP GALLERY */


.popup-full-gallery {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.7);
    z-index: 9999999999;
    display: none;
}

.popup-full-gallery-box {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    top: 50%;
    position: absolute;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    background: var(--dark);
    max-height: 80vh;
}


.popup-full-gallery-box .gallery-slider {
    padding: 0;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.popup-full-gallery-box .gallery-slider img {
    max-height: 100%;
    object-fit: contain;
    max-height: 80vh;
}

.popup-full-gallery-box .gallery-slider arrow  {
    z-index: 1000;
    background: #000000a6;
    padding: 10px 5px;
}

.popup-full-gallery-box  .gallery-slider .gallery-slider-next {right: 0px}
.popup-full-gallery-box  .gallery-slider .gallery-slider-prev {left: 0px}




i.close-gallery-popup {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 20px;
    color: white;
    z-index: 100;
    cursor: pointer;
    background: #000000a6;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}



.popup-full-gallery-box .gallery-slider .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    height: auto;
    width: 100%;
}





/* MAP */

.map-info {
    position: relative;
    background: var(--silver);
}

.map-info .map {
    position: absolute;
    right: 0;
    top: 0;
    width: 50%;
    height: 100%;
}

.map-info .map img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}



.map-info .cnt {
    width: 50%;
    padding-right: 50px;
    padding: 85px 98px 80px 0;
}


.map-info .cnt h2 {
    font-size: 32px;
    letter-spacing: 0.8px;
    margin-bottom: 33px;
    text-transform: uppercase;
    font-weight: bold;
}

.map-info .cnt h3 {
    color: var(--blue);
    font-size: 24px;
    letter-spacing: 0.6px;
    font-family: 'Oleo Script', sans-serif;
    margin-bottom: 40px;
    font-weight: 500;
}

.map-info .cnt a {
    text-decoration: underline;
}

.map-info .cnt p {font-weight: 500; font-weight: 600;}





/* CONTACT MORDU */
.contact-mordu {
    padding: 14px 0;
    color: white;   
}


.contact-mordu .container {
    display: flex;
    justify-content: space-between;

}

.contact-mordu .container .left {
    flex:1;
    align-items: flex-end;
    display: flex;
     padding: 25px 0;
}

.contact-mordu .container .left .text {
    margin-right: 50px;
   
}   


.contact-mordu .container .left .text h2 {
    font-size: 54px;
    letter-spacing: 0.11px;
    margin-bottom: 25px;
    font-family: 'Oleo Script', sans-serif;
    font-weight: 500;
}

.contact-mordu .container .left .text p strong {
    font-size: 24px;
    line-height: 28px;
    font-weight: 600;
}

.contact-mordu .container .left .text p strong em{
    font-style: normal;
    font-weight: 900;
}

.contact-mordu .container .left .text p, .contact-mordu .container .left .text h5 {
    font-size: 18px;
    line-height: 28px;
    font-weight: 600;
}
.contact-mordu .container .left .text h5 a {color: white;}

.contact-mordu .container .left .text h5 {
    text-decoration: underline;
}


.contact-mordu .container .right {
    width: 30%;
}

.contact-mordu .container .right .img {
    height: 100%;
    display: flex;
    align-items: center;
    margin-left: 15px;
}

.contact-mordu .container .right .img img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    max-height: 270px;
}


/* FOOTER */

.copyright {
    background: var(--silver);
    padding: 15px 0;    
}

.copyright-flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
}


.copyright-flex .right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.copyright-flex > p {
    font-size: 12px;
    color: black;
}

.copyright-flex .right p {
    margin-left: 20px;
    color: black;
    font-size: 10px;
    font-weight: 700;
}






/* BOOK PLUGIN */

.reserve .woocommerce div.product div.images.woocommerce-product-gallery,
.reserve .woocommerce div.product .woocommerce-tabs,
.reserve .product_meta,
.reserve .woocommerce div.product .product_title,
.reserve .woocommerce div.product p.price,
.reserve .woocommerce-product-details__short-description
{display: none}


.reserve .woocommerce div.product div.summary {
    width: 100%;
}

.reserve .woocommerce {
    width: 100%;
}


.reserve .woocommerce div.product form.cart .button {
    background: var(--green);
    color: #fff;
    padding: 14px 47px 15px;
    border-radius: 21.5px;
    font-family: 'Gotham',sans-serif;
    font-weight: 700;
    font-size: 15px;
    letter-spacing: 1.5px;
    display: inline-block;
    text-transform: uppercase;
    line-height: 1;
    margin:0 auto;
}

.reserve .woocommerce div.product form.cart .button:hover {
    background: var(--darkgreen)!important;
}

.reserve .wc-bookings-booking-form {
    padding: 0;
    border:none;
}

.reserve .wc-bookings-booking-form fieldset {
    margin:0;
    padding: 0;
    border:none;
}

.reserve > h2 {
    color: var(--blue);
    font-size: 32px;
    margin-bottom: 54px;
    letter-spacing: 0.8px;
    font-weight: bold;
    text-align: center;
    text-transform: uppercase;
}

.reserve .woocommerce div.product form.cart {
    display: flex;
    flex-direction: column;
}


.reserve .wc-bookings-date-picker .ui-datepicker td.bookable a {
    background-color: var(--green) !important
}

.reserve .wc-bookings-date-picker .ui-datepicker td.ui-datepicker-current-day a {
    background: var(--darkgreen) !important;
}

.reserve .ui-datepicker .ui-datepicker-header {
    padding: 0;
}

.reserve .ui-datepicker .ui-datepicker-header {
    background: #e8e8e7!important;
}

.reserve .wc-bookings-date-picker .ui-datepicker .ui-datepicker-prev, 
.reserve .wc-bookings-date-picker .ui-datepicker .ui-datepicker-next {
    background: #dadada!important;
}

.reserve .wc-bookings-date-picker .ui-datepicker .ui-datepicker-title {
    color: var(--dark);
}

.reserve .wc-bookings-booking-form .wc-bookings-booking-cost {
    margin:0;
}

.reserve .wc-bookings-date-picker .ui-widget-content {
    border:none;
    box-shadow: none;
}














/* checkout */


.woocommerce-checkout .woocommerce form .form-row input.input-text, 
.woocommerce-checkout .woocommerce form .form-row textarea 
{
    padding: 8px 12px;
}

.woocommerce-checkout .select2-container .select2-selection--single, .woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 36px;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 36px;
}

#order_review_heading {margin-top: 40px}








/* HIDDEN SECTIONS */

.infos-expanded {display: none;}

.infos-content {
    position: relative;
    padding-bottom: 35px;
}

.infos-content-hidden {
    text-align: center;
    font-size: 18px;
    line-height: 26.64px;
}



#services-et-commodites {
    background-color: #fff;
    padding-bottom: 22px;
    padding-top: 25px;
}

#services-et-commodites .container {
    max-width: 750px;
}

#services-et-commodites h2.section-title {
    font-size: 23px;
    letter-spacing: 2px;
    padding-bottom: 12px;
}

#active-proximite h2.section-title {
    color: #fff;
    font-size: 23px;
    letter-spacing: 2px;
    padding-bottom: 12px;
}

#active-proximite {
    background-image: url("../images/activites.bg.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    overflow: hidden;
    color: #fff;
}

#active-proximite-content {
    overflow: hidden;
    padding: 5px 15px 25px;
    font-weight: 500;
}

#active-proximite-content a , #services-et-commodites  a{
    color: #92c83e;
}
#active-proximite-content a:hover, #services-et-commodites  a:hover {
    color: #74a12e!important;
}




#active-proximite .container {
    max-width: 1020px;
    background: rgba(0, 0, 0, 0.6) none repeat scroll 0 0;
}

#infos-title-icon {
    display: block;
    margin: 0 auto 25px;
}

.read_more_bt {
    background-color: #e8e8e7;
    background-image: url("../images/read-more-bt.png");
    background-position: center center;
    background-repeat: no-repeat;
    border-radius: 50%;
    bottom: -40px;
    cursor: pointer;
    display: block;
    height: 50px;
    left: 0;
    margin: 0 auto;
    padding: 20px;
    position: absolute;
    right: 0;
    width: 50px;
    z-index: 10;
}

#reglements {
    background-color: #fff;
}

#reglements h2.section-title {
    font-size: 23px;
    letter-spacing: 2px;
    padding-bottom: 12px;
}

#reglements-desc {
    font-size: 25px;
    line-height: 32px;
}

#reglements-desc p {
    margin-bottom: 35px;
}

#reglements-pdf-section {
    background-color: #e8e8e7;
    padding-top: 41px;
    text-align: center;
    overflow: hidden;
    padding-bottom: 50px;
    margin-bottom: 46px;
}

#reglements-pdf-section a:hover {
    background-color: #565656;
}

#reglements-pdf-section>span {
    color: #000;
    display: block;
    font-weight: 600;
    margin-bottom: 43px;
}

#reglements-pdf-section>a {
    background-color: #3e3b39;
    color: #fecf62;
    letter-spacing: 2px;
    padding: 12px 24px;
    font-weight: 800;
    transition: all 0.25s ease-in-out 0s;
}

.reglements-block {
    display: inline-block;
    font-weight: 400;
    margin-bottom: 40px;
    padding: 11px 10px 20px;
    vertical-align: top;
    font-size: 14px;
    color: #000;
}

.reglements-block-title {
    color: #3e3b39;
    font-size: 17.2px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.reglements-block ul {
    list-style: inside;
    margin: 0;
    padding: 0;
    font-size: 13px;
}

.reglements-block p {
    margin-bottom: 10px;
}

.reglements-block li {
    margin-bottom: 8px;
    font-weight: 600;
    display: list-item;
    list-style: inside;
}

h2.section-title {
    color: #3e3b39;
    font-size: 32px;
    font-weight: bold;
    padding-bottom: 28px;
    padding-top: 33px;
    text-transform: uppercase;
}

.photo-tobottom-arrow{
    display:block;
    margin:40px auto 0;
}



.read_less_bt{
    background-image: url("../images/show_less_bt.png");
    background-position: center center;
    background-repeat: no-repeat;
    cursor: pointer;
    display: block;
    height: 50px;
    margin:0 auto 40px;
    right: 0;
    width: 50px;
}








/* RESERVE NEW */

.reserve_new {
    background-color: white;
    background-size: contain;
    background-position: bottom;
}


.reserve_new h2{
    color: #057fb0;
    font-size: 32px;
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 40px;
}   


.reserve_new h3:last-child {margin-bottom: 27px;}

.reserve_new h3 {
    font-size: 24px;
    line-height: 32px;
    color: #313434;
    margin-bottom: 0;
    font-weight: 500;
}

.reserve_new p {
    font-size: 18px;
    margin-bottom: 10px;
    line-height: 24px;
    font-weight: 500;
}

.reserve_new p a {
    color: #057fb0;
    text-decoration: underline;
}
