/*
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
*/
/* 
    Created on : 29 Dec 2021, 10:38:18
    Author     : mark
*/

@font-face {
    font-family:"kallisto";
    src:url("https://use.typekit.net/af/e6d82c/00000000000000007735c0c2/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n3&v=3") format("woff2"),url("https://use.typekit.net/af/e6d82c/00000000000000007735c0c2/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n3&v=3") format("woff"),url("https://use.typekit.net/af/e6d82c/00000000000000007735c0c2/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n3&v=3") format("opentype");
    font-display:auto;
    font-style:normal;
    font-weight:500;
}

html {
    scroll-behavior: smooth;
}


.ffd100 {
    color: #ffd100;
}

/* Links and navigation */
a:hover {
    text-decoration: none;
    color: #fff;
}

a.plain-link {
    color: #fff;
    text-decoration: none;
}

a.praz-link {
    color: #006579;
    text-decoration: none;
}

a.nav-link-top {
    font-family: kallisto;
    font-size: 15px;
    font-weight: 300; /* formerly 700 */
    text-align: center;
    letter-spacing: 0px;
    padding-bottom: 5px;
    /* color: #018894; */
    color: rgba(8, 45, 64, 1);
    text-decoration: none;
    text-transform: uppercase;
    opacity: 1;
}

a.service-button-btn:hover, .btn-praz:hover {
    background-color: rgb(109,180,189) ;
    color: #fff;
}

a.service-button-btn:active, .btn-praz:active {
    background-color: #082d40 ;
}

.btn-link:disabled, .btn-link.disabled {
    color: #fff;
}

div.user-form-btn {
    color: #fff;
    background-color: #3A8692;
    border-color: #3A8692;
    border-radius: 0;
    padding-top: 10px;
    padding-bottom: 10px;
    text-align: center;
    text-transform: uppercase;

}

div.user-form-btn:hover {
    background-color: rgb(109,180,189) ;
}



.user-form-btn a:hover {
    border-bottom: 4px solid #fff;
    color: #fff;
    text-decoration: none;
}

.btn:focus, .btn.focus {
    outline: 0;
    box-shadow: none;
}

a:hover {
    text-decoration: none;
}

a.user-form-btn {
    color: #fff;
    /*
        background-color: #3A8692;
    */
    border-color: #3A8692;
    border-radius: 0;
    padding-top: 10px;
    padding-bottom: 10px;
    text-align: center;
    text-transform: uppercase;

}


a .flag-icon {
    border-radius: 50%;
}


a.nav-link-top:hover {
    border-bottom: 4px solid #018894;
    color: #018894;
}

a.btn-link:hover, _a.btn-praz:hover, a.user-form-btn:hover {
    background-color: rgb(109,180,189) ;
    border-bottom: 4px solid #fff;
    color: #fff;
    text-decoration: none;
}


a.btn-link, a.btn-link:visited, a.btn-link:active, a.btn-praz:visited, a.user-form-btn:visited  {
    color: #fff;
    text-decoration: none;
}

a.btn-praz:hover {
    color: #fff;
}

a.teal-link {
    border: 1px solid #296477;
    color: #296477;
    padding: 3px 6px;
    border-radius: 50%;
}

a.expand-link {
    font-size: 14px;
}

a.expand-link:hover {
    background-color: rgb(109,180,189) ;
    color: #fff;
}


.expand-link {
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 5px;
    padding-bottom: 5px;
}

.flag-icon {
    background-repeat: initial;
    display: inline-block;
    width: 1.333em;
    height: 1.333em;
}


.btn-primary:hover {
    color: #fff;
    background-color: #018894;
    border-color: #018894;
}

.btn-praz {
    color: #fff;
    background-color: #3A8692;
    border-color: #3A8692;
    text-transform: uppercase;
}

.navbar {
    margin-bottom: 30px;
}

.pdb-tarif-store {
    font: normal normal normal 18px/23px 'urw-din' ;
    text-decoration: line-through;

}

.pdb-tarif-web-row {
    position: absolute;
    top: 40%;
}

.pdb-tarif-web {
    font: normal normal normal 25px/23px 'urw-din' ;
}


.pdb-tarif-web-txt {
    font: normal normal normal 10px/20px 'urw-din' ;
    text-transform: uppercase;
}


.pdb-tarif-btn {
    color: #fff;
    background-color: #3A8692;
    border-color: #3A8692;
    padding-top: 10px;
    padding-bottom: 10px;
    text-align: center;
    text-transform: uppercase;
    position: absolute;
    bottom: 0;
    width: 100%;
    left: 0;
}

.pdb-tarif-btn:hover {
    background-color: rgb(109,180,189) ;
    color: #fff;
}

.heading {
    text-align: center;
}

/* Colors and backgrounds */

.bg-booking-white, .booking {
    background-color: #FBFBFB;
}

.bg-booking-skyblue, .bg-pale {
    background-color: #CDDFE3;
    /*
    margin-left: -16px;
    margin-right: -16px;
    */
}

.bg-form {
    background-color: #bee0e1;
    /*
    margin-left: 15px;
    margin-right: 15px;
    */
    padding-top: 20px;
}

#mailFormActivites select {
    color: #fff;
}

#mailFormActivites .form-control:focus {
    border-color: #fff;
}

.user-form-control {
    border: 1px solid #63a5ab;
    height: 36px!important;
}

.fd-bg {
    background-color: #fff!important;
}

.bg-teal-pale {
    background-color: #018894;
}

.bg-teal-dark {
    background-color: #006579;
}

.bg-button  {
    background-color: #3A8692;
}

.teal-dark {
    color: #296477;
}



/* Fonts and texts */

.txt1 {
    text-transform: uppercase;
    font-weight: 500;
}

.txt1, .txt2 {
    color: #006579;
    font-family: 'urw-din' ;
    font-size: 20px;
}

.txt3 {
    font-family: 'urw-din' ;
    font-size: 16px;
}

/* Styles for home page carousel =============================================*/

.carousel {
    position: relative;
    height: 500px;
}

.carousel-control-prev {
    justify-content: left;
}

.carousel-control-next {
    justify-content: right;
}

/* Styles for price table ====================================================*/

.price-group-block {
    position: relative;
}

.price-prod-group {
    background-color: #CDDFE3 ;
}

.price-prod-name {
    background-color: #fff;
    border-right: 1px solid #018894;
    border-bottom: 1px solid #018894;
    color: #006579;
    font-family: 'urw-din' ;
    font-size: 16px;

    padding: 10px 0;
    text-align: center;
}


.vtxt { /* Vertical text for price table */
    color: #006579;
    font-family: 'urw-din' ;
    font-weight: 600;
    font-size: 16px;
    position: absolute;
    transform: rotate(-90deg);
    left: -100px;
    width: 200px;
    top: 110px;
    text-align: right;
    z-index: 50;
}
/*============================================================================*/

.user-label {
    font: normal normal normal 14px/20px 'urw-din' ;
}

label.user-label, .form-user-group label {
    top: 0;
    font-style: normal;
    height: 30px;
}

.form-label-group .user-label {
    font-size: 12px;
    font-style: normal;
    top: -2px;
}

.user-select:invalid {
    font-style: normal;
}

.ttu {
    text-transform: uppercase;
}

/*--------------------------*/

body {
    align-items: normal;
    background-color: #fdfdfd;
    color: #006579;
}

/* Padding and margins */

.pl-0 {
}

.pl-14 {
    padding-left: 14px;
}

.plr-5 {
    padding-left: 5px;
    padding-right: 5px;
}

.row-recap {
    padding-left: 10%;
    padding-right: 10%;
}

.p-10vh {
    padding-top: 10vh;
}

.pt-10 {
    padding-top: 10px;
}

.pt-20 {
    padding-top: 20px;
}

.pb-10 {
    padding-bottom: 10px;
}

.pb-20 {
    padding-bottom: 20px;
}

.ptb-20 {
    padding-top: 20px;
    padding-bottom: 20px;
}

.pr-5 {
    padding-right: 5px
}

.mt-0 {
    margin-top: 0;
}

.mt-10 {
    margin-top: 10px;
}

.mt-20 {
    margin-top: 20px;
}

.mt-50 {
    margin-top: 50px;
}

.mb-10 {
    margin-bottom: 10px;
}

.mb-20 {
    margin-bottom: 20px;
}

.mb-50 {
    margin-bottom: 50px;
}

.mlr-0 {
    margin-left: 0;
    margin-right: 0;
}

.mr-5 {
    margin-right: 5px;
}

.mr-15 {
    margin-right: 15px;
}

.t-20 {
    top: 20px;
}

.white {
    color: #fff;
}

/* Text alignments */
.tac {
    text-align: center !important;
}

.tar {
    text-align: right !important;
}

/* Calendar styles */

.cal-month-name {
    /*background-color: #fff;*/
    color: #006579;
    font-family: 'urw-din' ;
    font-size: 16px;
    padding: 10px 0;
    text-align: center;
    text-transform: uppercase;
}

.col-md-cal {
    /*
        -ms-flex: 0 0 14.286%;
        flex: 0 0 14.286%;
        max-width: 14.286%;
    */
    -ms-flex: 0 0 14.280%;
    flex: 0 0 14.280%;
    max-width: 14.280%;
}

.cal-day, .tbl-hdr {
    background-color: #CDDFE3;
    border-right: 1px solid #018894;
    border-bottom: 1px solid #018894;
    color: #006579;
    padding: 10px 0;
    text-align: center;
}

.cal-day:nth-child(7n), .cal-date:nth-child(7n) {
    border-right: none;
}

.cal-date {
    background-color: #fff;
    border-right: 1px solid #018894;
    border-bottom: 1px solid #018894;
    color: #006579;
    font-family: 'urw-din' ;
    font-size: 16px;

    padding: 10px 0;
    text-align: center;
}

.tbl-price {
    background-color: #fff;
    border-right: 1px solid #018894;
    border-bottom: 1px solid #018894;
    color: #006579;
    font-family: 'urw-din' ;
    font-size: 16px;

    padding: 10px 0;
    text-align: center;
}

.tbl-hdr:nth-child(8n), ._tbl-price:nth-child(7n) {
    border-right: none;
}


.cal-border {
}


.next-month {
    float: right;
    margin-right: 10px;
    margin-left: -28px;
}

/*============================================================================*/

.uc-bold {
    text-transform: uppercase;
    font-weight: bold;
}

.bg-facade-lower {
    background-color: #006579;
    color: #fff;
    padding-bottom: 10px;
    padding-top: 10px;
}

.nav-row {
    padding-bottom: 9px;
}

.title-row {
    position: relative;
    /*top: 28px; */
}

.title-txt {
    color: #296477;
    font: normal normal 500 40px/35px kallisto;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 6px;
    padding-bottom: 15px;
}

.title-sm-txt {
    color: #296477;
    font-family: kallisto;
    font-weight: 500;
    text-align: center;
    font-size: 30px;
    text-transform: uppercase;
    letter-spacing: 4.5px;

}


/* Booking step 2 - product block styles */

.pg-outer hr {
    border-top: 3px solid rgba(58, 134, 146,0.5);
}

.product {
    padding-bottom: 30px;
}

.product-group-title {
    color: #296477;
    font: normal normal 700 20px/35px kallisto;
    text-transform: uppercase;
    letter-spacing: 3px;
    padding-bottom: 5px;
}


.product-title, .user-title {
    color: #296477;
    font: normal normal 500 20px/35px kallisto;
    /*
    font-family: kallisto;
    font-weight: 500;
    font-size: 20px;
    */
    text-transform: uppercase;
    letter-spacing: 3px;
    padding-bottom: 5px;
}

.close-me {
    color: #296477;
    font: normal normal 500 20px/35px kallisto;
    border: 1px solid #296477;
    border-radius: 50%;
    padding: 2px 7px;
    font-size: 14px;
}

a .close-me {
    text-decoration: none;
}

.circle {
    border: 1px solid #fff;
    padding: 3px 6px;
    border-radius: 50%;
}

.circle-teal {
    border: 1px solid #296477;
    color: #296477;
    padding: 3px 6px;
    border-radius: 50%;
}

.product-detail-block {
    background-color: #fff;
}

.product-name {
    font: normal normal normal 14px/20px urw-din;
    /*letter-spacing: 1px;*/
    color: #006579;
    font-weight: 300;
    opacity: 0.75;
    padding-bottom: 10%;
}

.pdb-option .product-name {
    text-transform: lowercase;
}


.pdb-main, .pdb-option {
    border: 2px solid #cddfe3;
    padding:3% 3%;
}

.pdb-tarif {
    border: 2px solid #cddfe3;
    padding:3% 15px;
}

.pdb-main img {
    max-height: 200px;
    max-width: 100%;
}

.pdb-main footer { /*Product detail block */
    width: 100%;
}

.pdb-option img { /*Product detail block */
    width: 100%;
}

.product-user-block {

    background-color: #fff;
    margin-top: 20px;
    padding: 30px;

}

.user-txt {
    color: #082D40;
    font: normal normal normal 14px/16px urw-din;
    /*letter-spacing: 1px;*/
    padding-bottom: 20px;
}


/* ================================================== */

.sub-title-row {
    position: relative;
    /* top: 28px;*/

}



.sub-title-txt {
    color: #006579;
    font: normal normal 300 18px/20px 'urw-din';
    text-align: center;
}


.title-bar {
    color: #fff;
    font: normal small-caps normal 18px/20px 'urw-din';
    padding-top: 5px;
    padding-bottom: 5px;
    text-transform: uppercase;
}


/*
.flag-icon {
    line-height: 2em;
    width: 2em;
}
*/

.nav-logo {
    width: 100%;
    top: 9px;
    position: relative;
}

.nav-logo img {
    width: 100% ;
}

.facade {
    background: url(graphics/bg-mountain-effect.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top 128px center;
    /*height: 440px;*/
}


.facade img {
    width: 100%;
    margin-top: 60px;
    position: relative;
}

.facade-lower {
    background-color: #eff4f5;
    position: relative;
    /*top: -10px;*/
    padding-top: 20px;
    padding-bottom: 50px;
}


.facade-lower-panel {
    align-items: center;
    background-color: #006579;
    display: flex;
    float: left;
    height: 160px;
    width: 29%;
    color: #fff;
    text-align: left;
    top: -20px;
    padding-bottom: 25px;
    padding-top: 25px;
    position: relative;
}


/*
.facade-lower-panel-short {
background-color: #018894;
height: 120px;
width: 13%;
color: #fff;
text-align: left;
top: -20px;
padding: 0 2%;
position: relative;
}
*/



.facade-lower-panel-short {
    background-color: #018894;
    height: 160px;
    width: 13%;
    color: #fff;
    text-align: left;
    top: -20px;
    position: relative;
    padding-top: 25px;
    padding-bottom: 25px;
}

.bg-mountain {
    background: url(../graphics/bg-mountain-effect-2.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top 128px center;
    height: 220px;
}




.panel-icon {
    float: left;
}

.panel-text {
    font-family: 'urw-din';
    font-size: 16px;
    line-height: 20px;
}

.services-block {
    background-color: #FBFBFB;
}

.services-title {
    padding-top: 42.5px;
    padding-bottom: 42.5px;
}

.service-block {
    background: #fff;
    box-shadow: 0px 11px 16px #00657929;
    border-radius: 1px;
    padding: 0;
    padding-bottom: 20px;
    margin-bottom: 50px;        /*
                    margin-left: 14px;
                    margin-right: 14px;
    */
}

.service-photo img {
    width: 100%;
}

.service-title {
    padding-top: 21px;
    padding-bottom: 34px;
}


.service-title-txt {
    color: #082d40;
    font-family: kallisto;
    font-weight: 500;
    text-align: center;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 2.16px;
}

.service-text-txt {
    font-family: 'urw-din';
    font-size: 14px;
    height: 75px;
    letter-spacing: 0px;
    padding: 0 10px;
    text-align: center;
    color: #006579;
}


.service-button {
    width: 100%;
}

.service-button-btn {
    color: #fff;
    font-family: 'Barlow', sans-serif;
    font-size: 14px;
    width: 181px;
    /*
    height: 43px;
    */
    background: #3A8692 0% 0% no-repeat padding-box;
    /*
    border-radius: 5px;
    */
    opacity: 1;
    text-align: center;
}

.btn a {
    color: #fff;
}

.feedback {
    background-color: #3A8692;
    margin-bottom: 50px;
    max-height: 500px;
    overflow: hidden;
}

.fb-photo img {
    width: 100%;
}

.cite {
    color: #fff;
    text-align: center;
}

blockquote {
    border:none;
    font-family:Georgia, "Times New Roman", Times, serif;
    margin-bottom:-30px;
    quotes: "\201C""\201D""\2018""\2019";
}

blockquote h3, blockquote .cite {
    font-size:21px;
}

blockquote .cite:before {
    content: open-quote;
    font-weight: bold;
    font-size:100px;
    color:#fff;
}
/*
            blockquote .cite:after { 
                content: close-quote;
                font-weight: bold;
                font-size:100px;
                color:#889c0b;

            }            
*/

.cite-text {
    color: #fff;
    font-family:Georgia, "Times New Roman", Times, serif;
    font-size: 20px;
    font-style: italic;
    line-height: 30px;
    text-align: center;
}


.cite-author {
    font-family: 'urw-din';
    font-size: 16px;
    text-align: center;
    color: #fff;
}

.citecenter {
    display: inline-flex;
    flex-direction: column;
    /* align-items: center; */
    /* height: 500px; */
    justify-content: center;
}



.fb-nav {
    color: #fff;
    border: 1px solid;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    padding-left: 6px;
    padding-top: 2px;
}

/* Core form modifiers */
.form-control {
    border-radius: 0;
}

.form-control:focus {
    border-color: rgb(20,93,111);
    box-shadow: none;
}

/* Field borders */
.praz-field {

}

.user-form-control:focus, .user-select:focus {
    color: #495057;
    background-color: #fff;
    border: 2px solid #63a5ab;
    outline: 0;
    box-shadow: none
}

.form-label-group label {
    font-size: 12px;
    font-style: italic;
    top: 5px;
}


select:invalid {
    color: #006579;
    font-family: 'urw-din';
    font-style: italic;
    /*
    font-size: 20px;
    text-align: center;
    */
    font-size: 12px;
    font-weight: 300;
}

.form-label-group input:not(:placeholder-shown) ~ label {
    padding-top: 0.05rem;
}


.form-label-group label {
    color: #006579;
    font-family: 'urw-din';
}

.label-txt {
    color: #006579;
    font-family: 'urw-din';
    font-style: italic;
    /*
    font-size: 20px;
    text-align: center;
    */
    font-size: 10px;
    font-weight: 300;
    top: 10px !important;
}

textarea.form-control {
    padding-top: 20px;
}


.form-control-plain {
    /* display: block; */
    /* width: 100%; */
    /*height: calc(1.5em + 0.75rem + 2px);*/
    /*padding: 0.375rem 0.75rem;*/
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #006579;
    background-color: #fff;
    background-clip: padding-box;
    border-top: 0;
    border-left: 0;
    /*transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;*/
    border-right: 0;
    border-bottom: 3px solid #006579;
    top: -5px;
    position: relative;
    left: 12px;
}

.sub-heading {
    color: #296477;
    font-family: kallisto;
    font-weight: 600;
    font-size: 20px;
    text-transform: uppercase;
    letter-spacing: 6px;
}

.sectionBlock {
    border-top: 4px solid rgba(0, 0, 0, 0.1);
}

/*===========================================================================*/


.social-txt {
    font: normal normal normal 18px/23px urw-din;
    letter-spacing: 0px;
    color: #006579;
    opacity: 1;
    padding-top: 50px;
    padding-bottom: 30px;
    text-align: center;
}




.social-icon {
    /* padding: 40px; */
    background-color: #cddfe3;
    border-radius: 50%;
    color: #006579;
    /*                color: #cddfe3;*/
    font-size: 2rem;
    height: 46px;
    line-height: 46px;
    margin: 0 5px;
    text-align: center;
    width: 46px;
}

.text-outline {
    /*                color: #fff;*/
    color: #cddfe3;

    text-stroke:2px #006579;
    -webkit-text-stroke:2px #006579;

    /*
    text-shadow: 1px -1px 0 #000,
                1px -1px 0 #000,
                -1px 1px 0 #000,
                1px 1px 0 #000;
    */
}

/* Styles for booking step #3 */

.row-wide {
    margin-left: -30px;
    margin-right: -30px;
}

.recap-block .card {
    border: 1px solid #018894 ;
    border-radius: 0;
    padding-left: 0;
    padding-right: 0
}

.recap-block .card-header {
    background-color: #018894;
    color: #fff;
    margin-bottom: 20px;
    padding-top: 20px;
    padding-bottom: 40px;
}

.recap-block .card-header:first-child {
    border-radius: 0;
}

.recap-fname {
    font: normal normal normal 18px/23px 'kallisto';
    text-transform: uppercase;
}

.recap-pack {
    font: normal normal normal 18px/23px 'kallisto';
}

.recap-txt-light {
    font: normal normal normal 16px/23px urw-din  ;
    opacity: 0.7;
}

.recap-txt-bold {
    font: normal normal normal 16px/23px urw-din ;
    font-weight: 700;
    opacity: 0.7;
}

.recap-block hr {
    border-color: #006579;
    margin-left: 20px;
    margin-right: 20px;
    opacity: 0.2;
}

/* Styles for footer bar */

.footer {
    background-color: #006579;
    color: #fff;
    /*display: flex;*/
    font: normal normal normal 16px/20px urw-din;
    margin-left: -15px;
    margin-right: -15px;
    margin-top: 50px;
    padding-top: 50px;
    padding-bottom: 50px;
    padding-left: 10%;
    padding-right: 10%;
}

.footer-bg {
    padding-left: 0;
    padding-right: 0
}

.footer-bg img {
    width: 100%;
}


.footer-col {
    /*padding-left: 20%;*/
}

.social-icon-footer {
    /* padding: 40px; */
    background-color: #006579;
    border-radius: 50%;
    border: 1px solid #fff;
    color: #fff;
    /*                color: #cddfe3;*/
    font-size: 1.8rem;
    height: 46px;
    line-height: 46px;
    margin: 0 5px;
    text-align: center;
    width: 46px;
}


.text-outline-footer {
    /*                color: #fff;*/
    color: #006579;

    text-stroke:2px #fff;
    -webkit-text-stroke:2px #fff;

    /*
    text-shadow: 1px -1px 0 #000,
                1px -1px 0 #000,
                -1px 1px 0 #000,
                1px 1px 0 #000;
    */
}

/* Credit card and payments */

.cc-logo {
    width: 50px;
}


.payment-summary-block {
    padding: 10px;
    margin-bottom: 20px;
    margin-left: 20px;
    margin-right: 20px;
}



@media only screen and (min-width:992px){
    /* styles for browsers greater than 992px; */


    .mobile-show {
        display: none;
    }

}


@media only screen and (max-width:992px){
    /* styles for browsers smaller than 992px; */

    .mobile-mlr-0 {
        margin-left: 0;
        margin-right: 0;
    }

    .mobile-hide {
        display: none;
    }

    .mobile-show {
        display: block;
    }

    .navbar {
        margin-top: 20px;
        margin-bottom: 0;
    }

    .nav-item {
        text-align: left!important;
    }

    .nav-logo {
        width: 100px;
        top: 9px;
        position: absolute;
        right: 0;
    }

    .nav-logo img {
        position: absolute;
        right: 0;
        top: 0;
        width: 120px ;
    }



    .title-txt {
        font-size: 7.0vw;
    }

    .sub-title-txt {
        font-size: 3.2vw;
        line-height: 3.2vw;
    }


    .panel-icon img {
        width: 80%;
    }

    .panel-text {
        padding-left: 10px;
    }

    .facade-lower {
        padding-top: 0;
    }

    .pdb-option img { /*Product detail block */
        width: 100px;
    }



}

