@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@200;400;500&display=swap');


@font-face {
  font-family: Amatic;
  src: url(./fonts/AmaticSC-Bold.ttf);
  font-weight: 600;
}


*{
padding:0px;
border:0px;
margin:0px;
}

html{
width:100%;
min-width:750px;
margin: 0 auto;
}

.main_width{
width:750px;
margin:auto;
}


body{
font-family: 'Poppins', sans-serif;
font-weight:400;
width:100%;
}


/* *********************** COMMON *********************** */

p{
color:#261300;
line-height:33px;
font-size:18px;
}

h1{
color:#261300;
font-family: 'Amatic', sans-serif;
font-size: 50px;
font-weight: 600;
line-height: 59px;
}

h2{
color:#261300;
font-family: 'Amatic', sans-serif;
font-size: 50px;
font-weight: 600;
line-height: 59px;
}

h3{
color: #261300;
font-size: 32px;
font-weight: 400;
line-height: 40px;
}

.button{
display: inline-block;
padding: 5px 60px 5px 10px;
color: white;
background-color: #e89634;
border-radius: 7px;
font-family: 'Amatic', sans-serif;
font-size: 22px;
font-weight: 600;
text-decoration: none;
text-transform: uppercase;
position: relative;
transition: all 0.4s;
cursor: pointer;
}

.button:hover{
padding: 5px 70px 5px 10px;
}

.button:after{
content: "";
width: 37px;
height: 19px;
position: absolute;
right: 12px;
top: 10px;
background-image: url(images/button-arrow.svg);
background-size: 46px;
background-repeat: no-repeat;
background-position: center right;
transition: all 0.4s;
}

.button:hover:after{
width: 47px;
}

.button.button-reservation{
background-color: #a5bd09;
}

a{
color:inherit;
text-decoration:underline;
transition: all 0.2s ease-in-out;
}

select, input, textarea{
background-color: #fff;
}



/* *********************** HEADING MSG*********************** */
#heading{
width:100%;
height:30px;
text-align:center;
background-color:#3c5e37;
}

#heading p{
color: white;
}



/* *********************** BANNER / MENU *********************** */
#banner{
text-align: center;
background-color: #fff;
padding: 30px 0 45px;
position: relative;
}

#banner:after{
content: '';
background-image: url(images/banner-background.svg);
background-size: 72px;
background-repeat: repeat;
background-position: left center;
width: 100%;
height: 35px;
position: absolute;
bottom: 10px;
left: 0;
}

#banner .logo{
position: absolute;
left: 50%;
top: 20px;
transform: translateX(-50%);
width: 180px;
z-index: 10;
}

#banner .logo img{
width: 100%;
height: auto;
}


/* *********************** MENU *********************** */
.menu{
display: flex;
justify-content: space-between;
align-items: center;
margin: 20px 0 70px;
}

.menu .logo{
width: 250px;
}

.menu .logo img{
width: 100%;
height: auto;
}

#cssmenu{
}

.burger{
width: 100%;
}

#cssmenu ul a{
text-decoration: none;
transition: all 0.4s;
position: relative;
}

#cssmenu ul .psy-link{
color: white;
font-size: 16px;
background-color: #64abb4;
border-radius: 20px;
padding: 7px 15px;
color: white;
display: inline-block;
margin-left: 18px;
line-height: 26px;
margin-top: 30px;
}

.menu-links{
display: inline-block;
cursor: pointer;
}

.menu-links.open{
text-transform: uppercase;
font-size: 18px;
position: absolute;
left: calc(( 100% - 750px ) / 2);
top: 30px;
z-index: 1;
}

.menu-links.open img{
width: 25px;
height: 25px;
transform: translateY(5px) translateY(1px);
margin-right: 9px;
}

.menu-links.close{
padding: 20px 0 0 20px;
}

.menu-links.close img{
width: 20px; 
height: 20px;
}

.burger{
position: fixed;
top: 0;
left: -400px;
width: 350px;
max-width: 100%;
height: 100vh;
background-color: white;
padding-top: 25px;
margin: 0;
-webkit-box-shadow: 0px 2px 15px 0px #363636;
box-shadow: 0px 2px 15px 0px #363636;
transition: all 0.6s;
overflow-y: auto;
z-index: 100;
text-align: left;
}

.burger.open{
left: 0;
}

.burger li:hover > ul{
display: none;
}

.burger li:hover > ul li{
margin-bottom: 3px;
}

.burger li:hover > ul li:last-of-type{
margin-bottom: 0;
}

.burger ul {
    text-align: left;
	padding: 25px 0 0;
}

.burger .list_part2 ul{
	padding: 0;
}

.burger ul li > a{
    text-decoration: none;
    font-size: 18px;
    line-height: 50px;
    transition: all 0.4s;
    z-index: 5;
    position: relative;
    text-transform: uppercase;
    font-weight: 500;
    display: block;
	padding: 10px 20px;
}

.burger ul li > a.selected, .burger ul li > a:hover , .burger .sub_menu a.selected, .burger .sub_menu a:hover{
    color: white;
    background: #e89634; 
} 
.burger ul li > a:hover, .burger .sub_menu a:hover{
	color: white;
    background: #e89634; 
}

.burger .sub_menu a .sub_title{
	display: none;
}

.burger .has_sub>.title{
	display: none;
}

.burger .sub_menu a .title{
	display: block;
}

#banner .banner-links{
text-align: right;
margin-bottom: 30px;
}

#banner .banner-links .button{
vertical-align: middle;
}

#banner .langues{
display: inline-block;
vertical-align: middle;
margin-left: 7px;
position: relative;
z-index: 10;
}

#banner .langues .active{
background-image: url(images/arrow-bottom-grey.svg);
background-size: 6px;
background-position: right 10px center;
background-repeat: no-repeat;
color: #7F7F7E;
padding: 4px 20px 4px 14px;
border: 1px solid #CCCCCC;
border-radius: 7px;
}

#banner .langues .langues_links{
opacity: 0;
position: absolute;
left: 0;
top: 41px;
height: 0;
overflow: hidden;
transition: all 0.4s;
background-color: white;
display: flex;
flex-direction: column;
width: 17px;
padding: 10px 20px;
}

#banner .langues .langues_links{
text-transform: none;
}

#banner .langues .langues_links a{
padding: 7px 0;
display: block;
width: 100%;
text-decoration: none;
line-height: 15px;
}

#banner .langues:hover .langues_links{
opacity: 1;
height: 87px;
object-fit: cover;
-webkit-box-shadow: 0px 25px 60px -20px rgba(0,0,0,0.8);
-moz-box-shadow: 0px 25px 60px -20px rgba(0,0,0,0.8);
box-shadow: 0px 25px 60px -20px rgba(0,0,0,0.8);
z-index: 10;
}


/* *********************** PAGES *********************** */

#wrapper{
overflow-x: hidden;
overflow-y: clip;
}

/* ***** HOME ***** */
#home .c1{
width: 100%;
height: 50vw;
position: relative;
}

#home .c1:after{
content: '';
width: 101%;
height: 135px;
background-image: url(images/intro-video-deco.svg);
background-size: 100%;
background-repeat: no-repeat;
background-position: bottom center;
position: absolute;
bottom: -2px;
right: -2px;
}

#home .c1 .video-wrapper{
width: 100%;
height: 100%;
overflow: hidden;
}

.video-iframe-container{
padding:56.25% 0 0 0;
position:relative;
bottom:15%;
}

@media screen and (max-width: 1800px){
	.video-iframe-container{
	bottom:5%;
	}
}

#home .c1 .video-wrapper #video{
width: 100%;
height: 100%;
}

#home .c1 .video-wrapper #video iframe{
width: 100%;
height: 100%;
}

#home .intro-content{
position: absolute;
right: 5vw;
bottom: 10px;
z-index: 5;
}

#home .intro-content a{
display: inline-block;
width: 140px;
height: 140px;
background-color: #a5bd09;
color: white;
text-decoration: none;
text-align: center;
border-radius: 100px;
font-family: 'Amatic', sans-serif;
font-size: 27px;
line-height: 32px;
padding: 33px 14px;
box-sizing: border-box;
position: relative;
transition: all 0.4s;
vertical-align: bottom;
-webkit-box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.3);
-moz-box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.3);
box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.3);
}

#home .intro-content a:hover{
	transform: scale(1.1);
}

#home .intro-content a:after{
content: "";
width: 60px;
height: 19px;
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: 19px;
background-image: url(images/button-arrow.svg);
background-size: 60px;
background-repeat: no-repeat;
background-position: center right;
}

#home .intro-content .title{
display: inline-block;
margin-left: 8px;
vertical-align: bottom;
width: 260px;
height: 260px;
border-radius: 200px;
box-sizing: border-box;
text-align: center;
background-color: #e2e5ac;
position: relative;	
-webkit-box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.3);
-moz-box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.3);
box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.3);
}

#home .intro-content .title h1{
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
font-size: 31px;
width: 85%;
line-height: 43px;
margin-top: 16px;
}

#home .intro-content .title h1:before{
content: "";
width: 33px;
height: 50px;
background-image: url(images/deco-sapin.svg);
background-size: 100%;
background-repeat: no-repeat;
background-position: center;
position: absolute;
top: -52px;
left: 50%;
transform: translateX(-50%);
}

#home .intro-content .title h1 .deco{
position: relative;
background-image: url(images/deco-underline-orange.svg);
background-size: 100%;
background-position: bottom 0 center;
padding-bottom: 10px;
background-repeat: no-repeat;
}

#home .c2{
margin-top: 100px;
text-align: center;
position: relative;
}

#home .c2 .content{
display: block;
width: 100%;
max-width: 550px;
margin: 0 auto 70px;
text-align: left;
}

#home .c2 .image{
display: block;
width: 100%;
max-width: 450px;
margin: 0 auto;
}

#home .c2 .image img{
width: 100%;
height: auto;
z-index: 2;
position: relative;
}

#home .c2 h2{
margin-bottom: 20px;
}

#home .c2 h2 .deco{
color:#a6be09;
}

#home .c2 p{
}

#home .c2 .button{
margin-top: 20px;
}

#home .c3{
text-align: center;
background-color: #3c5e37;
color: #fff;
margin: 100px 0 150px;
padding: 60px 80px;
box-sizing: border-box;
border-radius: 80px;
position: relative;
}

#home .c3 .c3_c1{
display: block;
width: 100%;
max-width: 450px;
margin: 0 auto 50px;
vertical-align: top;
text-align: left;
}

#home .c3 .c3_c1 h2{
color: white;
font-size: 40px;	
}

#home .c3 .c3_c1 h2 span{
display: block;	
}

#home .c3 .c3_c1:after{
content: '';
position: absolute;
left: 500px;
top: 30px;
width: 52px;
height: 80px;
background-image: url(images/deco-sapin-2.svg);
background-size: 100%;
background-repeat: no-repeat;
background-position: center;
z-index: 1;
}

#home .c3 .c3_c1:before{
content: '';
position: absolute;
left: 60px;
top: 191px;
width: 62px;
height: 80px;
background-image: url(images/deco-plant.svg);
background-size: 100%;
background-repeat: no-repeat;
background-position: center;
z-index: 1;
}

#home .c3 .c3_c2:after{
content: '';
position: absolute;
right: 132px;
bottom: 50px;
width: 62px;
height: 80px;
background-image: url(images/deco-yeah.svg);
background-size: 100%;
background-repeat: no-repeat;
background-position: center;
z-index: 1;
}

#home .c3 .c3_c2:before{
content: '';
position: absolute;
left: 460px;
top: 302px;
width: 62px;
height: 65px;
background-image: url(images/deco-smile.svg);
background-size: 100%;
background-repeat: no-repeat;
background-position: center;
z-index: 1;
}

#home .c3 .c3_c2{
display: block;
width: 100%;
max-width: 450px;
margin: 0 auto;
vertical-align: top;
}

#home .c3 .c3_c2 ul{
list-style: none;
text-align: left;
}

#home .c3 .c3_c2 ul li{
font-size: 22px;
font-weight: 500;
padding-bottom: 10px;
position: relative;
}

#home .c3 .c3_c2 ul li+li{
margin-top: 30px;
}

#home .c3 .c3_c2 ul li:after{
content:'';
position: absolute;
left: 0;
bottom: 0;
height: 1px;
width: 90px;
background-color: #fff;
}

#home .c4{
text-align: center;
position: relative;
}

#home .c4 .image{
display: block;
width: 100%;
max-width: 450px;
margin: 0 auto 70px;
text-align: left;
position: relative;
z-index: 2;
}

#home .c4 .image img{
width:88%;
height: auto;
}

#home .c4 .image:after{
content: '';
position: absolute;
left: -350px;
top: -160px;
width: 415px;
height: 417px;
background-image: url(images/deco-rail-3.svg);
background-size: 100%;
background-repeat: no-repeat;
background-position: center;
z-index: -1;
}

#home .c4 .image:before{
content: '';
position: absolute;
left: 352px;
top: -34px;
width: 94px;
height: 131px;
background-image: url(images/deco-sapin-3.svg);
background-size: 100%;
background-repeat: no-repeat;
background-position: center;
z-index: -1;
}

#home .c4 .image:after{
content: '';
position: absolute;
left: 341px;
top: 320px;
width: 74px;
height: 87px;
background-image: url(images/deco-smile-2.svg);
background-size: 100%;
background-repeat: no-repeat;
background-position: center;
z-index: -1;
}

#home .c4 .content{
display: block;
width: 100%;
max-width: 550px;
margin: 0 auto;
vertical-align: middle;
text-align: left;
}

#home .c4 h2{
margin-bottom: 20px;
}

#home .c4 h2 .deco{
color:#e89634;
}

#home .c4 p+p{
margin-top: 15px;
}

#home .c4 .button{
margin-top: 20px;
background-color: #9ec9cc;
}

/* ***** RESERVATION ***** */
#reservation .c1{
width: 100%;
height: 500px;
position: relative;
background-image: url(images/banner-background-1.png);
background-size: cover;
background-repeat: no-repeat;
background-position: center;
}

#reservation .c1:after{
content: '';
width: 101%;
height: 123px;
background-image: url(images/intro-video-deco.svg);
background-size: 100%;
background-repeat: no-repeat;
background-position: bottom center;
position: absolute;
bottom: -2px;
right: -2px;
}

#reservation .intro-content{
position: absolute;
right: 5vw;
top: 20px;
z-index: 5;
}

#reservation .intro-content .title{
display: inline-block;
margin-left: 8px;
vertical-align: bottom;
width: 260px;
height: 260px;
border-radius: 200px;
box-sizing: border-box;
text-align: center;
background-color: #cdbd9c;
position: relative;	
-webkit-box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.3);
-moz-box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.3);
box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.3);
}

#reservation .intro-content .title h1{
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
font-size: 31px;
width: 85%;
line-height: 43px;
}

#reservation .intro-content .title h1 .deco{
position: relative;
background-image: url(images/deco-underline-orange.svg);
background-size: 100%;
background-position: bottom 0 center;
padding-bottom: 10px;
background-repeat: no-repeat;
}

#reservation .form{
padding: 40px 80px;
box-sizing: border-box;
border-radius: 50px;
background-color: #9ec9cc;
margin-top: -150px;
z-index: 5;
position: relative;
padding-bottom: 90px;
}

#reservation .form_div1:after{
content: '';
width: 90px;
height: 74px;
position: absolute;
right: 150px;
top: 22px;
background-image: url(images/form-deco.svg);
background-size: 100%;
background-repeat: no-repeat;
background-position: center;
}

#reservation .form h2{
color: white;
font-size: 39px;
line-height: 44px;
margin-bottom: 25px;
text-align: left;
}

#reservation .form_part{
display: inline-block;
width: 26%;
margin: 0 1%;
position: relative;
vertical-align: top;
}

#reservation .form_part input, #reservation .form_part select{
background-color: transparent;
border: 2px solid #fff;
border-radius: 13px;
width: 100%;
display: block;
color: white;
line-height: 48px;
height: 48px;
padding: 0 15px;
box-sizing: border-box;
font-size: 17px;
}

#reservation .form_part select option{
color: #000;
}

::-webkit-calendar-picker-indicator {
filter: invert(1);
}

#reservation ::placeholder{
color: #fff;
}

#reservation .form_part input[type="number"]{
padding: 0 0 0 15px;
}

#reservation .form_part label{
position: absolute;
left: 10px;
top: -10px;
background-color: #9ec9cc;
color: white;
padding: 0 5px;
font-size: 15px;
text-transform: uppercase;
letter-spacing: 2px;
}

#reservation .form_part label.pmr-allemand{
padding: 0 15px 0 5px;
top: -35px;
text-align: left;
}

#reservation .form_part input[type="checkbox"]{
display: inline-block;
width: auto;
height: auto;
}

#reservation .form_part input[type="checkbox"]+label{
position: unset;
background: none;
padding: 0;
text-transform: unset;
font-size: 15px;
letter-spacing: 0;
display: inline-block;
width: unset;
}

#reservation form .reduction{
position: absolute;
bottom: 40px;
width: 100%;
padding: 0 80px;
box-sizing: border-box;
left: 0;
}

#reservation form .reduction .reduction-opener{
display: inline-block;
margin-left: 11px;
margin-right: 35px;
}

#reservation form .reduction input[type="checkbox"]{
height: 48px;
display: inline-block;
vertical-align: middle;
}

#reservation form .reduction input[type="checkbox"]+label{
color: white;
font-size: 15px;
display: inline-block;
height: 48px;
vertical-align: middle;
line-height: 48px;
}

#reservation form .reduction .form_part{
width: 100%;
max-width: 400px;
vertical-align: middle;
display: none
}

#reservation form .reduction .form_part.visible{
display: inline-block;
}

#reservation .form_div1 .button{
background-color: white;
color: #9ec9cc;
height: 48px;
display: inline-block;
line-height: 48px;
padding: 0 20px;
box-sizing: border-box;
width: 14%;
text-align: center;
border-radius: 13px;
font-family: 'Amatic', sans-serif;
font-size: 28px;
cursor: pointer;
margin-left: 8px;
}

#reservation .form_div1 .button.disabled{
opacity: 0.3;
cursor: not-allowed;
}

#reservation .form_div1 .button:after{
display: none;
}

#reservation .infos_dispo{
margin-top: 20px;
margin-left: 10px;
margin-bottom: 30px;
font-size: 16px;
display: inline-block;
color: white;
border-radius: 10px;
}

#reservation .infos_dispo.complet{
background-color: #ab2800;
padding: 5px 20px;
font-size: 14px;
}

#reservation .form_div2{
opacity: 0;
height: 0px;
overflow: hidden;
transition: all 0.6s;
text-align: center;
}

#reservation .form_div1:not(.visible){
opacity: 0;
height: 0;
display: none;
}

#reservation .form_div2.visible{
opacity: 1;
height: auto;
position: relative;
}

#reservation .form_div2 h2{
margin-bottom: 35px;
padding-right: 100px;
}

#reservation .form_div2 h2+a{
background-color: white;
color: #9ec9cc;
padding: 5px 10px;
position: absolute;
top: 6px;
right: 0;
}

#reservation .form_div2 h2+a:after{
display: none;
}

#reservation .form_div2 .recap{
text-align: left;
margin: 0 0 45px;
}

#reservation .form_div2 .recap p:not(.title){
color: white;
font-size: 14px;
}

#reservation .form_div2 .recap p.info-meteo{
font-size: 12px;
line-height: 20px;
margin-top: 20px;
padding-left: 20px;
background-image: url(../images/icon-info.svg);
background-size: 14px;
background-repeat: no-repeat;
background-position: left 0 top 2px;
text-align: justify;
}

#reservation .form_div2 .recap .title{
color: white;
text-transform: uppercase;
font-size: 20px;
}

#reservation .form_div2 .recap p .head{
display: inline-block;
text-transform: uppercase;
width: 190px;
}

#reservation .form_div2 .recap .reduction-result{
font-size: 13px;
text-transform: uppercase;
color: white;
display: block;
padding: 5px 10px;
border-radius: 8px;
border: 1px solid #fff;
margin-top: 10px;
line-height: 20px;
width: fit-content;
}

#reservation .form_div2 .form_part{
width: 100%;
max-width: 550px;
margin: 0 auto 50px;
}

#reservation .total{
text-align: right;
color: #fff;
border-top: 2px solid #fff;
padding: 15px 15px 0 0;
}

#reservation .total .price .calcul{
font-size: 12px;
margin: 0 10px 0 20px;
}

#reservation .remise{
text-align: right;
color: white;
max-width: 600px;
margin: 0 15px 20px auto;
font-size: 13px;
line-height: 21px;
text-transform: none;
}

#reservation .submit{
text-align: right;
}

#reservation input[type="submit"]{
background-color: white;
color: #9ec9cc;
display: inline-block;
padding: 0 20px;
box-sizing: border-box;
text-align: center;
border-radius: 13px;
font-family: 'Amatic', sans-serif;
font-size: 28px;
cursor: pointer;
margin: 0 15px 0 auto;
line-height: 48px;
height: 48px;
}

#reservation input[type="submit"]:after{
display: none;
}

#reservation input[type="submit"]:disabled{
opacity: 0.3;
cursor: not-allowed;
}

#reservation .submit_informations{
color: white;
font-size: 15px;
margin-right: 15px;
margin-top: 13px;
line-height: 25px;
}

/* ***** RAILBIKE ***** */
#railbike .c1{
width: 100%;
height: 500px;
position: relative;
background-image: url(images/banner-background-2.png);
background-size: cover;
background-repeat: no-repeat;
background-position: center;
}

#railbike .c1:after{
content: '';
width: 101%;
height: 123px;
background-image: url(images/intro-video-deco.svg);
background-size: 100%;
background-repeat: no-repeat;
background-position: bottom center;
position: absolute;
bottom: -2px;
right: -2px;
}

#railbike .intro-content{
position: absolute;
right: 5vw;
top: 20px;
z-index: 5;
}

#railbike .intro-content .title{
display: inline-block;
margin-left: 8px;
vertical-align: bottom;
width: 260px;
height: 260px;
border-radius: 200px;
box-sizing: border-box;
text-align: center;
background-color: #cdbd9c;
position: relative;	
-webkit-box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.3);
-moz-box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.3);
box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.3);
}

#railbike .intro-content .title h1{
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -70%);
font-size: 31px;
width: 85%;
line-height: 43px;
}

#railbike .intro-content .title h1:after{
content:'';
position: absolute;
left: 50%;
bottom: -70px;
transform: translateX(-50%);
background-image: url(images/deco-arrow-orange.svg);
background-size: 100%;
background-repeat: no-repeat;
background-position: center;
width: 180px;
height: 60px;
}

#railbike .form{
padding: 40px;
box-sizing: border-box;
border-radius: 50px;
background-color: #9ec9cc;
margin-top: -150px;
z-index: 5;
position: relative;
padding-bottom: 105px;
}

#railbike .form:before{
	content: '';
	position: absolute;
	right: 56px;
	top: -43px;
	height: 115px;
	width: 115px;
	background-image: url(images/rappel-prix-railbike.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

#railbike .form .rappel-prix{
	position: absolute;
	right: 56px;
	top: -43px;
	height: 115px;
	width: 115px;
}

#railbike .form .rappel-prix span{
	text-transform: uppercase;
	font-size: 11px;
	font-weight: 500;
	display: block;
	text-align: center;
	margin-top: 55px;
}

#railbike .form h2{
color: white;
font-size: 39px;
line-height: 41px;
margin-bottom: 25px;
margin-left: 10px;
}

#railbike .form_part{
display: inline-block;
width: 31%;
margin: 0;
position: relative;
vertical-align: top;
}

#railbike .form_part+.form_part{
margin-left: 2%;
}

#railbike .form_part input, #railbike .form_part select{
background-color: transparent;
border: 2px solid #fff;
border-radius: 13px;
width: 100%;
display: block;
color: white;
line-height: 48px;
height: 48px;
padding: 0 15px;
box-sizing: border-box;
font-size: 17px;
}

#railbike .form_part select option{
color: #000;
}

#railbike ::placeholder{
color: #fff;
}

#railbike .form_part input[type="number"]{
padding: 0 0 0 15px;
}

#railbike .railbike_infos p{
	font-size: 12px;
	color: #fff;
	padding-left: 22px;
	background-image: url(images/icon-important.svg);
	background-size: 15px;
	background-position: left center;
	background-repeat: no-repeat;
	margin-top: 6px;
}

#railbike .form_part label{
position: absolute;
left: 10px;
top: -9px;
background-color: #9ec9cc;
color: white;
padding: 0 5px;
font-size: 13px;
text-transform: uppercase;
letter-spacing: 2px;
}

#railbike form .reduction{
position: absolute;
bottom: 40px;
width: 100%;
padding: 0 40px;
box-sizing: border-box;
left: 0;
}

#railbike form .reduction .reduction-opener{
display: inline-block;
margin-left: 11px;
margin-right: 35px;
}

#railbike form .reduction input[type="checkbox"]{
height: 48px;
display: inline-block;
vertical-align: middle;
}

#railbike form .reduction input[type="checkbox"]+label{
color: white;
font-size: 15px;
display: inline-block;
height: 48px;
vertical-align: middle;
line-height: 48px;
}

#railbike form .reduction .form_part{
width: 100%;
max-width: 400px;
vertical-align: middle;
display: none
}

#railbike form .reduction .form_part.visible{
display: inline-block;
}

#railbike .form_div1 .button{
background-color: white;
color: #9ec9cc;
height: 48px;
display: block;
line-height: 48px;
padding: 0 20px;
box-sizing: border-box;
text-align: center;
border-radius: 13px;
font-family: 'Amatic', sans-serif;
font-size: 28px;
cursor: pointer;
margin-top: 20px;
margin-left: 1%;
}

#railbike .form_div1 .button:after{
display: none;
}

#railbike .form_div1 .button:disabled{
opacity: 0.3;
cursor: not-allowed;
}

#railbike .infos_dispo{
margin-top: 20px;
margin-left: 10px;
font-size: 16px;
display: inline-block;
color: white;
border-radius: 10px;
}

#railbike .infos_dispo.complet{
background-color: #ab2800;
padding: 5px 20px;
font-size: 14px;
}

#railbike .c2{
text-align: center;
position: relative;
margin: 100px 0;
}

#railbike .c2 .image{
display: block;
margin: 0 auto 50px;
width: 100%;
max-width: 450px;
text-align: left;
position: relative;
z-index: 2;
}

#railbike .c2 .image img{
width:88%;
height: auto;
}

#railbike .c2 .image:after{
content: '';
position: absolute;
left: -350px;
top: -160px;
width: 415px;
height: 417px;
background-image: url(images/deco-rail-3.svg);
background-size: 100%;
background-repeat: no-repeat;
background-position: center;
z-index: -1;
}

#railbike .c2 .image:before{
content: '';
position: absolute;
left: 344px;
top: -34px;
width: 150px;
height: 150px;
background-image: url(images/deco-14km.svg);
background-size: 100%;
background-repeat: no-repeat;
background-position: center;
z-index: -1;
}

#railbike .c2 .content{
display: block;
margin: 0 auto;
width: 100%;
max-width: 550px;
vertical-align: middle;
text-align: left;
}

#railbike .c2 h2{
margin-bottom: 20px;
}

#railbike .c2 h2 .deco{
color:#e89634;
}

#railbike .c2 p+p{
margin-top: 15px;
}

#railbike .c2 .button{
margin-top: 20px;
}

#railbike .c3{
text-align: center;
position: relative;
z-index: 2;
}

#railbike .c3 h2{
background-image: url(images/deco-underline-green.svg);
background-size: 100%;
background-position: center bottom;
background-repeat: no-repeat;
display: inline-block;
margin: 0 auto 50px;
padding-bottom: 17px;
}

#railbike .c3 .ouvertures{
margin-bottom: 50px;
border: 3px solid #9ec9cc;
border-radius: 60px;
overflow: hidden;
background-color: #fff;
}

#railbike .c3:after {
content: '';
position: absolute;
right: -350px;
top: -100px;
width: 415px;
height: 417px;
background-image: url(images/deco-rail-2.svg);
background-size: 100%;
background-repeat: no-repeat;
background-position: center;
z-index: -1;
}

#railbike .c3:before {
content: '';
position: absolute;
left: -350px;
top: 243px;
width: 415px;
height: 417px;
background-image: url(images/deco-rail-2.svg);
background-size: 100%;
background-repeat: no-repeat;
background-position: center;
z-index: -1;
transform: rotate(180deg);
}

#railbike .c3 .ouverture{
width: 100%;
height: 168px;
display: flex;
justify-content: space-between;
padding: 0 50px;
box-sizing: border-box;
align-items: center;
}

#railbike .c3 .ouverture.active{
background-color: #9ec9cc;
}

#railbike .c3 .ouverture+.ouverture{
border-top: 3px solid #9ec9cc;
}

#railbike .c3 .ouverture .dates{
width: 160px;
text-align: left;
font-weight: 500;
text-transform: uppercase;
padding: 12px 0;
box-sizing: border-box;
font-size: 25px;
border-right: 3px solid #9ec9cc;
}

#railbike .c3 .ouverture .dates span{
display: block;
}

#railbike .c3 .ouverture .infos{
flex: 1;
text-align: left;
box-sizing: border-box;
padding: 20px 0 20px 20px;
}

#railbike .c3 .ouverture .infos.infos-1{
padding: 35px 0 35px 20px;
}

#railbike .c3 .ouverture.active .infos{
border-left: 3px solid #fff;
}

#railbike .c3 .ouverture .infos p.title{
font-size: 22px;
text-transform: uppercase;
font-weight: 600;
line-height: 28px;
margin-bottom: 5px;
}

#railbike .c3 .ouverture .infos p:not(.title){
font-size: 15px;
color: #9ec9cc;
}

#railbike .c3 .ouverture.active .infos p:not(.title){
color: #fff;
}

#railbike .c3 .heures{
text-align: left;
}

#railbike .c3 h3{
margin-bottom: 15px;
}

#railbike .c3 .heures .grid{
margin-bottom: 50px;
border: 3px solid #9ec9cc;
border-radius: 60px;
overflow: hidden;
display: flex;
}

#railbike .c3 .heures .grid .heure{
flex: 1;
text-align: center;    
padding: 17px;
box-sizing: border-box;
}

#railbike .c3 .heures .grid .heure+.heure{
border-left: 3px solid #9ec9cc;
}

#railbike .c3 .heures .grid .heure span:not(.info){
font-size: 34px;
text-transform: uppercase;
font-weight: 500;
}

#railbike .c3 .heures .grid .heure:not(.heure-rdv) span{
padding: 28px 0;
display: block;
}

#railbike .c3 .heures .grid .heure span.info{
font-size: 14px;
color: #9ec9cc;
display: block;
line-height: 22px;
}

#railbike .c3 .more_infos{
margin: 0 auto 40px;
text-align: left;
max-width: 800px;
}

#railbike .c4{
margin-top: 100px;
margin-bottom: -200px;
position: relative;
z-index: -2;
}

#railbike .c4 .demo-gallery{
display: flex;
flex-wrap: wrap;
justify-content: center;
}

#railbike .c4 .demo-gallery a{
width: 25%;
height: 120px;
overflow: hidden;
margin: 10px;
}

#railbike .c4 .demo-gallery a img{
width: 100%;
height: 100%;
object-fit: cover;
transition: all 0.4s;
}

#railbike .c4 .demo-gallery a:hover img{
transform: scale(1.1);
}

/* ***** RESTAURATION ***** */
#restauration .c1{
width: 100%;
height: 500px;
position: relative;
background-image: url(images/banner-background-1.png);
background-size: cover;
background-repeat: no-repeat;
background-position: center;
}

#restauration .c1:after{
content: '';
width: 101%;
height: 123px;
background-image: url(images/intro-video-deco.svg);
background-size: 100%;
background-repeat: no-repeat;
background-position: bottom center;
position: absolute;
bottom: -2px;
right: -2px;
}

#restauration .intro-content{
position: absolute;
right: 5vw;
top: 50px;
z-index: 5;
}

#restauration .intro-content .title{
display: inline-block;
margin-left: 8px;
vertical-align: bottom;
width: 260px;
height: 260px;
border-radius: 200px;
box-sizing: border-box;
text-align: center;
background-color: #e2e5ac;
position: relative;	
-webkit-box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.3);
-moz-box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.3);
box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.3);
}

#restauration .intro-content .title h1{
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -70%);
font-size: 31px;
width: 85%;
line-height: 43px;
}

#restauration .intro-content .title h1:after{
content:'';
position: absolute;
left: 50%;
bottom: -70px;
transform: translateX(-50%);
background-image: url(images/deco-arrow-orange.svg);
background-size: 100%;
background-repeat: no-repeat;
background-position: center;
width: 180px;
height: 60px;
}

#restauration .c2{
text-align: center;
position: relative;
margin: 50px auto 0;
}

#restauration .c2 .image{
display: block;
width: 100%;
max-width: 450px;
margin: 0 auto;
text-align: center;
position: relative;
z-index: 2;
}

#restauration .c2 .image img{
width:88%;
height: auto;
}

#restauration .c2:before {
content: '';
position: absolute;
right: 30px;
top: 65px;
width: 135px;
height: 200px;
background-image: url(images/deco-plant.svg);
background-size: 100%;
background-repeat: no-repeat;
background-position: center;
z-index: -1;
}

#restauration .c2 .image:before{
content: '';
position: absolute;
left: -41px;
top: 341px;
width: 104px;
height: 116px;
background-image: url(images/deco-smile.svg);
background-size: 100%;
background-repeat: no-repeat;
background-position: center;
z-index: -1;
}

#restauration .c2 .content{
display: block;
margin: 0 auto 50px;
width: 100%;
max-width: 550px;
text-align: left;
}

#restauration .c2 h2{
margin-bottom: 20px;
}

#restauration .c2 h2 .deco{
color:#a6be09;
}

#restauration .c2 h3{
display: inline-block;
font-size: 26px;
margin-bottom: 10px;
padding-bottom: 15px;
background-image: url(images/deco-underline-orange.svg);
background-size: 80%;
background-position: center bottom;
background-repeat: no-repeat;
}

#restauration .c2 .possibilite{
margin-top: 30px;
}

#restauration .c2 p{
}

#restauration .c2 p+p{
margin-top: 15px;
}

#restauration .c2 .button{
margin-top: 20px;
}

/* ***** FAQ ***** */
#faq .c1{
width: 100%;
height: 500px;
position: relative;
background-image: url(images/banner-background-2.png);
background-size: cover;
background-repeat: no-repeat;
background-position: center;
}

#faq .c1:after{
content: '';
width: 101%;
height: 123px;
background-image: url(images/intro-video-deco.svg);
background-size: 100%;
background-repeat: no-repeat;
background-position: bottom center;
position: absolute;
bottom: -2px;
right: -2px;
}

#faq .intro-content{
position: absolute;
right: 5vw;
top: 50px;
z-index: 5;
}

#faq .intro-content .title{
display: inline-block;
margin-left: 8px;
vertical-align: bottom;
width: 260px;
height: 260px;
border-radius: 200px;
box-sizing: border-box;
text-align: center;
background-color: #e2e5ac;
position: relative;	
-webkit-box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.3);
-moz-box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.3);
box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.3);
}

#faq .intro-content .title h1{
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -70%);
font-size: 31px;
width: 85%;
line-height: 43px;
}

#faq .intro-content .title h1:after{
content: '';
position: absolute;
left: 50%;
bottom: -87px;
transform: translateX(-50%);
background-image: url(images/deco-sapin.svg);
background-size: 100%;
background-repeat: no-repeat;
background-position: center;
width: 54px;
height: 78px; 
}


#faq .c2{
text-align: center;
margin-top: 50px;
}

#faq .c2 .questions{
display: inline-block;
width: 100%;
max-width: 675px;
vertical-align: top;
position: relative;
text-align: left;
}

#faq .c2 .question{
background-color: #3c5e37;
border-radius: 20px;
padding: 20px 30px 0;
position: relative;
}

#faq .c2 .question+.question{
margin-top: 20px;
}

#faq .c2 .count{
position: absolute;
left: 30px;
top: 17px;
width: 30px;
height: 30px;
}

#faq .c2 .count:after{
content: "01";
color: #fff;
opacity: 0.3;
font-size: 33px;
font-family: 'GothamNarrow-Bold', sans-serif;
}

#faq .c2 .question:nth-of-type(2) .count:after{
	content:"02";
}

#faq .c2 .question:nth-of-type(3) .count:after{
	content:"03";
}

#faq .c2 .question:nth-of-type(4) .count:after{
	content:"04";
}

#faq .c2 .question:nth-of-type(5) .count:after{
	content:"05";
}

#faq .c2 .title{
font-size: 22px;
line-height: 40px;
color: white;
margin-bottom: 20px;
font-weight: 500;
padding-right: 50px;
}

#faq .c2 .question p:not(.title){
font-size: 17px;
line-height: 26px;
opacity: 0;
height: 0;
overflow: hidden;
transition: all 0.6s;
transform: translateY(-10px);
color: white;
}

#faq .c2 .question.open p:not(.title){
opacity: 1;
height: auto;
padding-bottom: 30px;
transform: translateY(0);
}

#faq .c2 .question .arrow{
position: absolute;
right: 25px;
top: 25px;
width: 30px;
height: 30px;
background-size: 100%;
background-repeat: no-repeat;
background-position: center;
background-image: url(images/faq-arrow.svg);
transform: rotate(0);
transition: all 0.6s;
}

/* ***** NEWS ***** */
#news .c1{
width: 100%;
height: 500px;
position: relative;
background-image: url(images/banner-background-1.png);
background-size: cover;
background-repeat: no-repeat;
background-position: center;
}

#news .c1:after{
content: '';
width: 101%;
height: 123px;
background-image: url(images/intro-video-deco.svg);
background-size: 100%;
background-repeat: no-repeat;
background-position: bottom center;
position: absolute;
bottom: -2px;
right: -2px;
}

#news .intro-content{
position: absolute;
right: 5vw;
top: 50px;
z-index: 5;
}

#news .intro-content .title{
display: inline-block;
margin-left: 8px;
vertical-align: bottom;
width: 260px;
height: 260px;
border-radius: 200px;
box-sizing: border-box;
text-align: center;
background-color: #cdbd9c;
position: relative;	
-webkit-box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.3);
-moz-box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.3);
box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.3);
}

#news .intro-content .title h1{
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
font-size: 31px;
width: 70%;
line-height: 43px;
background-image: url(images/deco-underline-green.svg);
background-size: 78%;
background-position: center bottom;
background-repeat: no-repeat;
padding-bottom: 20px;;
}

#news .c2{
text-align: center;
margin-top: 30px;
}

#news .c2 a{
display: block;
text-align: left;
text-decoration: none;
margin: 0 auto;
width: 950px;
}

#news .c2 a+a{
margin-top: 75px;
}

#news .c2 .image_date{
display: inline-block;
width: 370px;
height: 300px;
position: relative;
vertical-align: middle;
}

#news .c2 .image{
width: 250px;
height: 250px;
position: relative;
display: inline-block;
}

#news .c2 .image img{
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 150px;
vertical-align: middle;
}

#news .c2 .content{
width: 445px;
display: inline-block;
margin-left: 50px;
vertical-align: middle;
}

#news .c2 .content h2{
margin: 0 0 20px;
border: none;
font-size: 35px;
line-height: 45px;
position: relative;
}

#news .c2 .content .short_description{
display: block;
}

#news .c2 .content .button{
margin-top: 30px;
}

#news .microdata{
display: none;
}

#news .c1_big{
background-color: unset;
background-size: cover;
background-repeat: no-repeat;
background-position: center;
height: 500px;
}

#news .c3 .date{
max-width: 550px;
margin: 0 auto;
}

#news .c3 .date p{
display: block;
color: #b5b5b5;
text-transform: uppercase;
font-size: 13px;
max-width: 800px;
margin: 0 auto;
}

#news .c3 h1{
max-width: 800px;
}

#news .c3 .content{
max-width: 550px;
margin: 50px auto 0;
}

#news .c3 .content p{
margin-bottom: 16px;
}

#news .c3 .pdfs{
margin-top: 50px;
text-align: center;
}

#news .c3 .pdfs a{
display: inline-block;
width: 24%;
margin: 0 0 30px;
height: 200px;
overflow: hidden;
position: relative;
}

#news .c3 .pdfs a img{
width: 100%;
height: auto;
transition: all 0.6s;
}

#news .c3 .pdfs a:hover img{
transform: scale(1.1);
}

#news .c3 .pdfs a .description{
position: absolute;
width: 100%;
bottom: 0;
left: 0;
background-color: #a5bd09;
color: white;
padding: 10px;
box-sizing: border-box;
line-height: 20px;
}

#news .c3 .demo-gallery{
display: flex;
margin-top: 50px;
align-items: center;
justify-content: center;
flex-wrap: wrap;
}

#news .c3 .demo-gallery .item{
width: 33%;
height: 200px;
overflow: hidden;
}

#news .c3 .demo-gallery .item img{
width: 100%;
height: 100%;
object-fit: cover;
transition: all 0.6s;
}

#news .c3 .demo-gallery .item:hover img{
transform: scale(1.1);
}

#news .c3 .items_nav{
margin-top: 100px;
text-align: center;
}

#news .c3 .items_nav a{
line-height: 25px;
padding: 5px 10px;
color: #fff;
background-color: #a6be09;
border-radius: 7px;
text-decoration: none;
font-family: 'Amatic', sans-serif;
font-size: 22px;
font-weight: 600;
display: inline-block;
text-decoration: none;
}

#news .c3 .items_nav .prev{
margin-right: 20px;
}

#news .c3 .items_nav .next{
margin-left: 20px;
}

#news .c3 .related{
margin-top: 100px;
text-align: center;
}

#news .c3 .related h2{
font-size: 40px;
line-height: 50px;
}

#news .c3 .related a{
display: block;
text-align: left;
text-decoration: none;
margin: 0 auto;
width: 950px;
margin-top: 70px;
}

#news .c3 .related a+a{
margin-top: 75px;
}

#news .c3 .related .image_date{
display: inline-block;
width: 370px;
height: 300px;
position: relative;
vertical-align: middle;
}

#news .c3 .related .image{
width: 300px;
height: 300px;
position: relative;
}

#news .c3 .related .image img{
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 150px;
}

#news .c3 .related .content{
width: 500px;
display: inline-block;
margin-left: 50px;
vertical-align: middle;
}

#news .c3 .related .content h2{
margin: 0 0 20px;
border: none;
font-size: 35px;
line-height: 45px;
position: relative;
}

#news .c3 .related .content .short_description{
display: block;
}

#news .c3 .related .content .button{
margin-top: 30px;
}

/* ***** CONTACT ***** */

#contact{
text-align:center;
}

#contact .main_width{
padding-top: 100px;
padding-bottom: 0;
}

#contact h1{
color: #e89634;
margin-bottom: 15px;
}

#contact h3.nom{
text-transform: uppercase;
margin-bottom: 20px;
}

#contact .c1{
display: block;
width: 100%;
max-width: 330px;
margin: 0 auto 50px;
text-align:left;
}

#contact .c1 p{
margin-bottom: 10px;
}

#contact .c1 p span.head{
display:block;
width:100%;
font-size:12px;
line-height:14px;
text-transform:uppercase;
}

#contact .microdata{
display: none;
}

#contact .c1 p.logo img{
display:none;
}


#contact .c2{
width: 100%;
margin: 0 auto;
max-width: 550px;
text-align:left;
border-radius: 40px;
overflow: hidden;
height:355px;
}

#contact .c2 .streetview{
width:100%;
height: 100%;
}

#contact .map{
width:100%;
height:433px;
margin-top: 55px;
}


/* ***** PAIEMENT RECEPTION ***** */
#paiement_reception{
	text-align: center;
    max-width: 500px;
    margin: 150px auto 0;
}

#paiement_reception h1{
	margin-bottom: 20px;
}

#paiement_reception .important{
	margin: 20px 0;
}

#paiement_reception .button{
	margin-top: 40px;
}

#paiement_reception input[type="submit"]{
	padding: 5px 10px;
	background-color: #cdbd9c;
}

#paiement_reception input[type="submit"]:after{
	display: none;
}

#paiement_reception .form_response{
position: fixed;
bottom: 50px;
right: -850px;
background-color: #74b643;
padding: 20px 50px;
-webkit-box-shadow: 0px 0px 4px 2px #c0c0c0;
box-shadow: 0px 0px 4px 2px #c0c0c0;
animation-name: response;
animation-duration: 6s;
animation-delay: 1s;
z-index: 100;
}

#paiement_reception .form_response.error{
background-color: #a34040;
}

@keyframes response {
0% {right: -850px;}
10% {right: 0;}
90% {right: 0;}
100% {right: -850px;}
}

#paiement_reception .form_response p{
color: white;
margin: 0;
}


/* ***** Mentions légales ***** */


#legal{
text-align:center;
}

#legal .main_width{
padding-top:130px;
padding-bottom:30px;
}


#legal h1{
text-align:center;
background-position:bottom center;
margin-bottom:73px;
}

#legal h2{
background-position: 0px 7px;
position: relative;
bottom: 0px;
margin-top: 14px;
margin-bottom: 14px;
font-size:28px;
line-height:30px;
background-position: bottom left;
padding-bottom: 7px;
}

#legal h3{
line-height:23px!important;
padding-bottom: 6px!important;
}

#legal p{
margin-bottom:5px;
}

#legal p span{
display:inline-block;
vertical-align:top;
width:166px;
text-decoration:underline;
}

#legal .c0{
width:600px;
text-align:left;
display:inline-block;
vertical-align:top;
border:1px solid #c0c0c0;
text-align:left;
padding:1%;
margin-bottom:30px;
background-color:white;
border-radius:13px;
}

#legal .c1{
display:inline-block;
vertical-align:top;
width:36%;
margin-right:6%;
padding:1%;
border:1px solid #c0c0c0;
text-align:left;
margin-bottom:30px;
min-height:262px;
background-color:white;
border-radius:13px;
}

#legal .c1.last{
margin-right:0px;
}

#legal .c1 p{
margin-bottom:8px;
font-size:13px;
line-height:22px;
}

#legal .c2{
width:36%;
padding:1%;
margin-right:4%;
text-align:left;
display:inline-block;
vertical-align:top;
border:1px solid #c0c0c0;
margin-bottom:30px;
height:600px;
overflow:auto;
padding-bottom:30px;
background-color:white;
border-radius:13px;
}

#legal .c2 h3{

}

#legal .c2 h4{

}

#legal .c2 p{
margin-bottom:8px;
font-size:13px;
line-height:22px;
}

#legal .c2 ul li{
margin-bottom:5px;
font-size:13px;
line-height:22px;
padding-left:15px;
list-style-type:none;
}

#legal .c2 ul ul li{
padding-left:30px;
}

#legal .c2.last{
margin-right:0px;
}


/* ***** 404 ***** */

#e404{
text-align:center;
}

#e404 .main_width{
padding-top:130px;
padding-bottom:30px;
}

#e404 h1{
	text-align:center;
background-position:bottom center;
margin-bottom:73px;
}


/* *********************** FOOTER *********************** */


#footer{
text-align: center;
background-color: #cdbd9c;
margin-top: 200px;
padding-top: 190px;
position: relative;
}

#footer.contact-footer{
margin-top: -7px;
}

#footer .logo{
position: absolute;
top: -135px;
left: 50%;
transform: translateX(-50%);
width: 300px;
}

#footer .logo img{
width: 100%;
height: auto;
}

#footer .footer_c1{
display: inline-block;
width: 37%;
text-align: left;
margin-right: 15%;
vertical-align: top;	
}

#footer .footer_c1 .title{
text-transform: uppercase;
display: block;
font-size: 23px;
font-weight: 600;
margin-bottom: 15px;	
}

#footer .footer_c1 a:not(.button){
display: block;
width: fit-content;
margin-bottom: 10px;
font-size: 16px;
font-weight: 500;
text-decoration: none;
padding-left: 27px;
background-image: url(images/icon-address.svg);
background-size: 17px;
background-repeat: no-repeat;
background-position: left center;
}

#footer .footer_c1 a.tel{
background-image: url(images/icon-tel.svg);
}

#footer .footer_c1 a.mail{
background-image: url(images/icon-mail.svg);
}

#footer .footer_c1 a.button{
margin-top: 10px;
}

#footer .footer_c2{
display: inline-block;
width: 19%;
vertical-align: top;
text-align: left;
}

#footer .footer_c2 ul{
list-style: none;
}

#footer .footer_c2 a{
text-decoration: none;
font-weight: 500;
padding-bottom: 2px;
margin-bottom: 13px;
display: inline-block;
line-height: 18px;
}

#footer .footer_c2 a.selected{
border-bottom: 2px solid #f28a00;
}

#footer p.copyright{
text-align: center;
font-size: 13px;
margin-top: 55px;
padding-bottom: 3px;
margin-bottom: 0px;
}

#footer p.copyright a{
text-decoration:underline;
}

#footer p.copyright+a{
width: 100px;
display: block;
margin: 0 auto;
padding-bottom: 30px;
}

#footer p.copyright+a img{
width: 100%;
height: auto;
}



/* ***** CAPTCHA ***** */

.grecaptcha-badge { 
	visibility: hidden; 
}


/* ***** COOKIES ***** */

#cookieChoiceInfo{
	box-sizing: border-box;
}

/* ***** AOS ***** */

.fade_container {
    overflow-x: hidden;
}