html {
    height: 100%;
    margin: 0;
    padding: 0;
    width: 100%;
    /*background-image:url(https://static.cruiseline.eu/images/fondGM.jpg);*/
    background-attachment: fixed;
    background-color: #fff;
    background-position: center top;
    background-repeat: repeat-x;
    background-color: #fff;
    font-family: 'Lato', sans-serif;
    font-size: 14px;
    color: #131E29;
    text-rendering: optimizelegibility
}

body {
    margin: 0;
    padding: 0;
    height: 100%;
}


#emailInput,
#firstNameInput,
#lastNameInput,
#phoneNumberInput {
    border-style: solid;
    border-color: rgb(0, 0, 0);
    border-image: initial;
    border-width: 0px 0px 1px;
    margin-bottom: 1rem;
}

#emailInput input,
#firstNameInput input,
#lastNameInput input,
#phoneNumberInput input {
    -webkit-border-radius: 0;
    -webkit-appearance: none;
    color: inherit;
    letter-spacing: 1px;
    padding: .25em .375em;
}

input[type=text],
input[type=password],
input[type=email],
input[type=number],
input[type="tel"] {
    background-color: transparent;
    border: none;
    resize: none;
    font-size: 1.3rem;
    text-align: inherit;
    padding-left: 5px;
    color: #575759;
    padding-right: 35px;
}

@font-face {
    font-family: "Flaticon";
    src: url("./fonts/flaticon.eot");
    src: url("./fonts/flaticon.eot?#iefix") format("embedded-opentype"),
        url("./fonts/flaticon.woff") format("woff"),
        url("./fonts/flaticon.ttf") format("truetype"),
        url("./fonts/flaticon.svg#Flaticon") format("svg");
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Esmeralda';
    src: url('./fonts/EsmeraldaPro.eot');
    src: url('./fonts/EsmeraldaPro.eot?#iefix') format('embedded-opentype'),
        url('./fonts/EsmeraldaPro.woff2') format('woff2'),
        url('./fonts/EsmeraldaPro.woff') format('woff'),
        url('./fonts/EsmeraldaPro.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: "Flaticon";
    src: url("./fonts/flaticon.eot");
    src: url("./fonts/flaticon.eot?#iefix") format("embedded-opentype"),
        url("./fonts/flaticon.woff") format("woff"),
        url("./fonts/flaticon.ttf") format("truetype"),
        url("./fonts/flaticon.svg#Flaticon") format("svg");
    font-weight: normal;
    font-style: normal;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
    @font-face {
        font-family: "Flaticon";
        src: url("./fonts/flaticon.svg#Flaticon") format("svg");
    }
}

@font-face {
    font-family: 'FjallaOne-Regular';
    src: url('./fonts/FjallaOne-Regular.woff') format('woff'),
        url('./fonts/FjallaOne-Regular.eot?') format('eot'),
        url('./fonts/FjallaOne-Regular.ttf') format('truetype'),
        url('./fonts/FjallaOne-Regular.svg#FjallaOne-Regular') format('svg')
}

* {
    margin: 0;
    padding: 0;
}

.transition,
.hover {
    -webkit-transition: 0.3s ease 0s;
    -moz-transition: 0.3s ease 0s;
    -o-transition: 0.3s ease 0s;
    -ms-transition: 0.3s ease 0s;
    transition: 0.3s ease 0s;
}

.transition2 {
    -webkit-transition: 0.5s ease 0s;
    -moz-transition: 0.5s ease 0s;
    -o-transition: 0.5s ease 0s;
    -ms-transition: 0.5s ease 0s;
    transition: 0.5s ease 0s;
}

.transitionAll * {
    -webkit-transition: 0.3s ease 0s;
    -moz-transition: 0.3s ease 0s;
    -o-transition: 0.3s ease 0s;
    -ms-transition: 0.3s ease 0s;
    transition: 0.3s ease 0s;
}

.notransition {
    -moz-transition: none;
    -webkit-transition: none;
    -o-transition: color 0 ease-in;
    transition: none;
}

h1,
h2,
h3,
h4,
h5 {
    font-weight: normal;
    font-size: inherit;
}

*,
*::before,
*::after,
*:not(.noborder) {
    box-sizing: border-box;
}

p {
    margin: 0;
}

/*******MARGIN***********/
.top-1 {
    margin-top: -1px;
}

.top-40 {
    margin-top: -40px;
}

.top-90 {
    margin-top: -90px;
}

.left-1 {
    margin-left: -1px;
}

.right-1 {
    margin-right: -1px;
}

.bottom-1 {
    margin-bottom: -1px;
}

.bottom5 {
    margin-bottom: 5px
}

.bottom10 {
    margin-bottom: 10px
}

.bottom20 {
    margin-bottom: 20px
}

.bottom30 {
    margin-bottom: 30px
}

.bottom40 {
    margin-bottom: 40px
}

.bottom50 {
    margin-bottom: 50px
}

.bottom90 {
    margin-bottom: 90px;
}

.top-80 {
    top: -80px;
}

.top-100 {
    top: -100px;
}

.martop-100 {
    margin-top: -100px;
}

.top3 {
    margin-top: 3px;
}

.top5 {
    margin-top: 5px;
}

.top7 {
    margin-top: 7px;
}

.top10 {
    margin-top: 10px;
}

.top15 {
    margin-top: 15px;
}

.top20 {
    margin-top: 20px;
}

.top25 {
    margin-top: 25px;
}

.top30 {
    margin-top: 30px;
}

.top35 {
    margin-top: 35px;
}

.top40 {
    margin-top: 40px;
}

.top50 {
    margin-top: 50px;
}

.top60 {
    margin-top: 60px;
}

.top70 {
    margin-top: 70px;
}

.top80 {
    margin-top: 80px;
}

.top90 {
    margin-top: 90px;
}

.top100 {
    margin-top: 100px;
}

.top10P {
    margin-top: 10%;
}

.top12P {
    margin-top: 12.5%;
}

.top25P {
    margin-top: 25%;
}

.top50P {
    margin-top: 50%;
}

.left1 {
    margin-left: 1px;
}

.left5 {
    margin-left: 5px;
}

.left10 {
    margin-left: 10px;
}

.left15 {
    margin-left: 15px;
}

.left20 {
    margin-left: 20px;
}

.left25 {
    margin-left: 25px;
}

.b0 {
    bottom: 0
}

.b50 {
    bottom: 50px;
}

.b85 {
    bottom: 85px;
}

.t0 {
    top: 0
}

.t5 {
    top: 5px
}

.r0 {
    right: 0
}

.r5 {
    right: 5px;
}

.l0P {
    left: 0%;
}

.l15P {
    left: 15%;
}

.l20P {
    left: 20%;
}

.left30 {
    margin-left: 30px;
}

.left40 {
    margin-left: 40px;
}

.left50 {
    margin-left: 50px;
}

.left60 {
    margin-left: 60px;
}

.left80 {
    margin-left: 80px;
}

.left100 {
    margin-left: 100px;
}

.left1P {
    margin-left: 2%;
}

.left2P {
    margin-left: 2%;
}

.left4P {
    margin-left: 4%;
}

.left5P {
    margin-left: 5%;
}

.auto {
    margin: 0 auto
}

.autolr {
    margin-left: auto;
    margin-right: auto
}

.padB10 {
    padding-bottom: 10px
}

.padB30 {
    padding-bottom: 30px
}

.padB40 {
    padding-bottom: 40px
}

.padT10 {
    padding-top: 10px
}

.padT20 {
    padding-top: 20px
}

.padT20P {
    padding-top: 20%
}

.padT25 {
    padding-top: 25px
}

.padT23P {
    padding-top: 23%
}

.padT27P {
    padding-top: 27%
}

.padT33P {
    padding-top: 33%
}

.padT40P {
    padding-top: 40%
}

.padT50P {
    padding-top: 50%
}

.padT60P {
    padding-top: 60%
}

.padT100P {
    padding-top: 100%
}

.padB50P {
    padding-bottom: 50%
}

.pad2 {
    padding: 2px
}

.pad5 {
    padding: 5px
}

.pad10 {
    padding: 10px
}

.pad20 {
    padding: 20px
}

.pad30 {
    padding: 30px
}

.pad40 {
    padding: 40px
}

.pad60 {
    padding: 60px
}

.pad80 {
    padding: 80px
}

.pad10020 {
    padding: 100px 20px
}

.pad50 {
    padding: 5px 0
}

.pad100 {
    padding: 10px 0
}

.pad200 {
    padding: 20px 0
}

.pad400 {
    padding: 40px 0
}

.pad4020 {
    padding: 40px 20px
}

.pad4060 {
    padding: 40px 60px
}

.pad600 {
    padding: 60px 0
}

.pad6010 {
    padding: 60px 10px
}

.pad6020 {
    padding: 60px 20px
}

.pad6040 {
    padding: 60px 40px
}

.pad2010 {
    padding: 20px 10px
}

.pad2040 {
    padding: 20px 40px
}

.pad510 {
    padding: 5px 10px
}

.pad710 {
    padding: 7px 10px
}

.pad20100 {
    padding: 20px 10px 0
}

.pad02 {
    padding: 0 2px
}

.pad010 {
    padding: 0 10px
}

.pad012 {
    padding: 0 12px
}

.pad105 {
    padding: 10px 5px
}

.pad020 {
    padding: 0 20px
}

.pad030 {
    padding: 0 30px
}

.pad040 {
    padding: 0 40px
}

.pad060 {
    padding: 0 60px
}

.pad500 {
    padding: 50px 0
}

.pad520 {
    padding: 5px 20px !important
}

.pad205 {
    padding: 20px 5px !important
}

.padLR50 {
    padding-left: 50px !important;
    padding-right: 50px !important
}

.padLR100 {
    padding-left: 100px !important;
    padding-right: 100px !important
}

.pad1020 {
    padding: 10px 20px !important
}

.pad5 {
    padding: 5px;
}

.pad1 {
    padding: 1px;
}

.pad05 {
    padding: 0 5px;
}

.pad2P {
    padding: 2%;
}

.pad02P {
    padding: 0 2%;
}

.padL5 {
    padding-left: 5px;
}

.padL10 {
    padding-left: 10px;
}

.padL20 {
    padding-left: 20px;
}

.padL30 {
    padding-left: 30px;
}

.padL40 {
    padding-left: 40px;
}

.padL1P {
    padding-left: 1%;
}

.padL2P {
    padding-left: 2%;
}

.padL5P {
    padding-left: 5%;
}

.padL10P {
    padding-left: 10%;
}

.padR5 {
    padding-right: 5px;
}

.padR10 {
    padding-right: 10px;
}

.padR20 {
    padding-right: 20px;
}

.padR30 {
    padding-right: 30px;
}

.padR40 {
    padding-right: 40px;
}

.padR1P {
    padding-right: 1%;
}

.padR5P {
    padding-right: 5%;
}

.padR10P {
    padding-right: 10%;
}

.right5 {
    margin-right: 5px;
}

.right10 {
    margin-right: 10px;
}

.right15 {
    margin-right: 15px;
}

.right20 {
    margin-right: 20px;
}

.right30 {
    margin-right: 30px;
}

.right40 {
    margin-right: 40px;
}

.right1P {
    margin-right: 1%;
}

.right2P {
    margin-right: 2%;
}

.right5P {
    margin-right: 5%;
}

.leftright1P {
    margin-left: 0.5%;
    margin-right: 0.5%
}

.pad0 {
    padding: 0 !important;
}

.op05 {
    opacity: 0.5
}

.op08 {
    opacity: 0.8
}

/******* MENU ***********/
#menusLien>li {
    text-align: center;
    flex-grow: 1;
}


#menusLien>li:nth-child(1),
#menusLien>li:last-child {
    border: none;
}

.menuGauche>h2 {
    margin-top: 0;
}

.menuGauche ul li {
    list-style-type: none;
    line-height: 25px;
    padding: 0 10px;
}

/*******FLEX***********/
.flex {
    display: flex;
    display: -webkit-flex;
}

.flex-inline {
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
}

.flex-colonne {
    display: flex;
    display: -webkit-flex;
    flex-direction: column;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -o-flex-direction: column;
    -ms-flex-direction: column;
}

.flex-row {
    display: flex;
    display: -webkit-flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
}

.flex-nowrap {
    display: flex;
    display: -webkit-flex;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

.flex-wrap {
    display: flex;
    display: -webkit-flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.dir-reverse {
    display: -webkit-flex;
    -webkit-flex-direction: row-reverse;
    display: flex;
    flex-direction: row-reverse;
}

.justify-evenly {
    justify-content: space-evenly;
}

.justify-center {
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.justify-around {
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around;
}

.justify-between {
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.justify-end {
    -webkit-justify-content: flex-end;
    -ms-flex-pack: flex-end;
    justify-content: flex-end;
}

.hori-stretch {
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}

.hori-start {
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.hori-center {
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}

.hori-end {
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
}

.flex.inverse:nth-child(even) {
    -webkit-flex-direction: row-reverse;
    display: flex;
    flex-direction: row-reverse;
}

.flex.inverse:nth-child(odd) {}


.vert-start {
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
}

.vert-center {
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
}

.vert-center-self {
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-self: center;
}

.vert-end {
    -webkit-align-content: flex-end;
    -ms-flex-line-pack: end;
    align-content: flex-end;
}

.grow0 {
    flex-grow: 0;
}

.grow1 {
    flex-grow: 1;
}

.grow2 {
    flex-grow: 2;
}

.grow3 {
    flex-grow: 3;
}

.grow4 {
    flex-grow: 4;
}

.grow5 {
    flex-grow: 5;
}

.grow10 {
    flex-grow: 10;
}

.flex1 {
    flex: 1;
}

.flex10 {
    flex: 0 0 10px;
}

.flex15 {
    flex: 0 0 15px;
}

.flex20 {
    flex: 0 0 20px;
}

.flex25 {
    flex: 0 0 25px;
}

.flex30 {
    flex: 0 0 30px;
}

.flex35 {
    flex: 0 0 35px;
}

.flex40 {
    flex: 0 0 40px;
}

.flex50 {
    flex: 0 0 50px;
}

.flex55 {
    flex: 0 0 55px;
}

.flex60 {
    flex: 0 0 60px;
}

.flex70 {
    flex: 0 0 70px;
}

.flex80 {
    flex: 0 0 80px;
}

.flex90 {
    flex: 0 0 90px;
}

.flex100 {
    flex: 0 0 100px;
}

.flex120 {
    flex: 0 0 120px;
}

.flex130 {
    flex: 0 0 130px;
}

.flex140 {
    flex: 0 0 140px;
}

.flex150 {
    flex: 0 0 150px;
}

.flex180 {
    flex: 0 0 180px;
}

.flex200 {
    flex: 0 0 200px;
}

.flex250 {
    flex: 0 0 250px;
}

.flex300 {
    flex: 0 0 300px;
}

.flex350 {
    flex: 0 0 350px;
}

.flex400 {
    flex: 0 0 400px;
}

.flex450 {
    flex: 0 0 450px;
}

.flexauto {
    flex: auto;
}

.flex00auto {
    flex: 0 0 auto;
}

.flex33P {
    flex: 0 0 32%;
    margin: 1% 0;
}

.flex33P:nth-child(3n-1) {
    margin-left: 2%;
    margin-right: 2%;
}

.gap1P {
    gap: 1%;
}

.gap2P {
    gap: 2%;
}


/*******POSITION***********/
.vmiddle {
    vertical-align: middle !important
}

.vtop {
    vertical-align: top !important
}

.vbottom {
    vertical-align: bottom !important
}

.left {
    float: left
}

.right {
    float: right
}

.spacer {
    clear: both
}

.center {
    text-align: center
}

.absolute {
    position: absolute
}

.relative {
    position: relative
}

.fixed {
    position: fixed
}

.hidden {
    overflow: hidden
}

.hid {
    visibility: hidden
}

.block {
    display: block
}

.inblock {
    display: inline-block
}

.table {
    display: table
}

.spacing010 {
    border-collapse: separate;
    border-spacing: 10px 0
}

.cell {
    display: table-cell;
    vertical-align: middle
}

.cell.top {
    vertical-align: top !important
}

.row {
    display: table-row
}

.none {
    display: none
}

/*.none_reduc {display:none !important;}*/
.none_reduc_home {
    display: none !important;
}

/*.blockMobile{display:none}*/
a {
    cursor: pointer;
    color: inherit;
    text-decoration: none;
}

.z0 {
    z-index: 0
}

.z1 {
    z-index: 1
}

.z2 {
    z-index: 2
}

.z10 {
    z-index: 10
}

.z900 {
    z-index: 900
}

.z999 {
    z-index: 999
}

.z1000 {
    z-index: 1000
}

/*******APPARENCE***********/
.spacing05 {
    border-collapse: separate;
    border-spacing: 5px 0
}

.radius {
    border-radius: 5px
}

.radius10 {
    border-radius: 10px;
}

.radius20 {
    border-radius: 20px;
}

.radius30 {
    border-radius: 30px;
}

.radius50 {
    border-radius: 50px;
}

.radius50P {
    border-radius: 50%;
}

.ombre {
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2)
}

.ombre2 {
    box-shadow: 0 0px 5px rgba(0, 0, 0, 0.5)
}

.ombre3 {
    box-shadow: 0 3px 37px -8px rgba(0, 0, 0, 1)
}

.ombreBloc {
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.8);
}

.ombreInset {
    box-shadow: 0 10px 10px -10px rgba(0, 0, 0, 0.6) inset, 0 -10px 10px -10px rgba(0, 0, 0, 0.6) inset
}

.ombre0010 {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3)
}

.ombre0020 {
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.3)
}

.ombre0050 {
    box-shadow: 0 0 50px rgba(0, 0, 0, 0.3)
}

ul li {
    list-style: none
}

ul li.selectPont {
    list-style: disc inside none;
}

img {
    border: none
}

.line10 {
    line-height: 10px;
}

.line12 {
    line-height: 12px;
}

.line15 {
    line-height: 15px;
}

.line17 {
    line-height: 17px;
}

.line18 {
    line-height: 18px
}

.line20 {
    line-height: 20px
}

.line22 {
    line-height: 22px;
}

.line25 {
    line-height: 25px;
}

.line28 {
    line-height: 25px;
}

.line30 {
    line-height: 30px;
}

.line35 {
    line-height: 35px;
}

.line40 {
    line-height: 40px
}

.line42 {
    line-height: 42px
}

.line50 {
    line-height: 50px
}

.line60 {
    line-height: 60px
}

.line62 {
    line-height: 62px
}

.line70 {
    line-height: 70px
}

.line80 {
    line-height: 80px
}

.line90 {
    line-height: 90px
}

.line100 {
    line-height: 100px
}

.line120 {
    line-height: 120px
}

.line160 {
    line-height: 160px
}

.scrollY,
.scroll {
    overflow-y: auto;
    overflow-x: hidden;
}

.op0 {
    opacity: 0
}

.op03 {
    opacity: 0.3
}

.op1 {
    opacity: 1
}

/*.hoverliste:hover{background-color: #fff;color: #25a3bc}
.fg .hover:hover{background-color: #fff}
.fb .hover:hover{background-color: #eee}
.fg.hover:hover{background-color: #fff !important}
.fb.hover:hover{background-color: #eee !important}*/

/*******WIDTH***********/
.w10 {
    width: 10px
}

.w15 {
    width: 15px
}

.w20 {
    width: 20px
}

.w25 {
    width: 25px
}

.w30 {
    width: 30px
}

.w35 {
    width: 35px
}

.w40 {
    width: 40px
}

.w50 {
    width: 50px
}

.w55 {
    width: 55px
}

.w60 {
    width: 60px
}

.w70 {
    width: 70px
}

.w80 {
    width: 80px
}

.w90 {
    width: 90px
}

.w100 {
    width: 100px
}

.w110 {
    width: 110px
}

.w120 {
    width: 120px
}

.w140 {
    width: 140px
}

.w150 {
    width: 150px
}

.w160 {
    width: 160px
}

.w170 {
    width: 170px
}

.w180 {
    width: 180px
}

.w190 {
    width: 190px
}

.w200 {
    width: 200px
}

.w220 {
    width: 220px
}

.w225 {
    width: 225px
}

.w240 {
    width: 240px
}

.w250 {
    width: 250px
}

.w260 {
    width: 260px
}

.w270 {
    width: 270px
}

.w280 {
    width: 280px
}

.w290 {
    width: 290px
}

.w300 {
    width: 300px
}

.w320 {
    width: 320px
}

.w330 {
    width: 330px
}

.w345 {
    width: 345px
}

.w350 {
    width: 350px
}

.w360 {
    width: 360px
}

.w375 {
    width: 375px
}

.w400 {
    width: 400px
}

.w420 {
    width: 420px
}

.w440 {
    width: 440px
}

.w450 {
    width: 450px
}

.w500 {
    width: 500px
}

.w550 {
    width: 550px
}

.w560 {
    width: 560px
}

.w580 {
    width: 580px
}

.w600 {
    width: 600px
}

.w650 {
    width: 650px
}

.w730 {
    width: 730px
}

.w1200 {
    width: 1200px
}

.w740 {
    width: 740px
}

.wauto {
    width: auto !important
}

.maxw600 {
    max-width: 600px
}

.maxw800 {
    max-width: 800px
}

.maxw1000 {
    max-width: 1000px
}

.maxw1200 {
    max-width: 1200px
}

.maxw1400 {
    max-width: 1400px
}

.w3P {
    width: 3%
}

.w4P {
    width: 4%
}

.w5P {
    width: 5%
}

.w6P {
    width: 6%
}

.w8P {
    width: 8%
}

.w9P {
    width: 9%
}

.w10P {
    width: 10%
}

.w12P {
    width: 12%
}

.w13P {
    width: 13%
}

.w14P {
    width: 14%
}

.w15P {
    width: 15%
}

.w166P {
    width: 16.6667%
}

.w18P {
    width: 18%
}

.w19P {
    width: 19%
}

.w20P {
    width: 20%
}

.w21P {
    width: 21%
}

.w22P {
    width: 22%
}

.w23P {
    width: 23%
}

.w235P {
    width: 23.5%
}

.w24P {
    width: 24%
}

.w25P {
    width: 25%
}

.w28P {
    width: 28%
}

.w29P {
    width: 29%
}

.w30P {
    width: 30%
}

.w32P {
    width: 32%
}

.w33P {
    width: 33.3%
}

.w34P {
    width: 34%
}

.w35P {
    width: 35%
}

.w40P {
    width: 40%
}

.w41P {
    width: 41%
}

.w44P {
    width: 44%
}

.w45P {
    width: 45%
}

.w46P {
    width: 46%
}

.w48P {
    width: 48%
}

.w49P {
    width: 49%
}

.w50P {
    width: 50%
}

.w55P {
    width: 55%
}

.w58P {
    width: 58%
}

.w59P {
    width: 59%
}

.w60P {
    width: 60%
}

.w62P {
    width: 62%
}

.w64P {
    width: 64%
}

.w65P {
    width: 65%
}

.w66P {
    width: 66%
}

.w68P {
    width: 68%
}

.w70P {
    width: 70%
}

.w73P {
    width: 73%
}

.w74P {
    width: 74%
}

.w75P {
    width: 75%
}

.w77P {
    width: 77%
}

.w80P {
    width: 80%
}

.w82P {
    width: 82%
}

.w85P {
    width: 85%
}

.w88P {
    width: 88%
}

.w90P {
    width: 90%
}

.w95P {
    width: 95%
}

.w96P {
    width: 96%
}

.w98P {
    width: 98%
}

.w99P {
    width: 99%
}

.w100P {
    width: 100%
}

.w26P {
    width: 26%
}

.h0 {
    height: 0px
}

.h5 {
    height: 5px
}

.h10 {
    height: 10px
}

.h12 {
    height: 12px
}

.h15 {
    height: 15px
}

.h20 {
    height: 20px
}

.h25 {
    height: 25px
}

.h30 {
    height: 30px
}

.h35 {
    height: 35px
}

.h40 {
    height: 40px
}

.h42 {
    height: 42px
}

.h49 {
    height: 49px
}

.h50 {
    height: 50px
}

.h60 {
    height: 60px
}

.h65 {
    height: 65px
}

.h70 {
    height: 70px
}

.h75 {
    height: 75px
}

.h80 {
    height: 80px
}

.h90 {
    height: 90px
}

.h100 {
    height: 100px
}

.h110 {
    height: 110px
}

.h115 {
    height: 115px
}

.h118 {
    height: 118px
}

.h120 {
    height: 120px
}

.h125 {
    height: 125px
}

.h130 {
    height: 130px
}

.h140 {
    height: 140px
}

.h150 {
    height: 150px
}

.h160 {
    height: 160px
}

.h165 {
    height: 165px
}

.h170 {
    height: 170px
}

.h180 {
    height: 180px
}

.h190 {
    height: 190px
}

.h200 {
    height: 200px
}

.h210 {
    height: 210px
}

.h215 {
    height: 215px
}

.h220 {
    height: 220px
}

.h230 {
    height: 230px
}

.h240 {
    height: 240px
}

.h250 {
    height: 250px
}

.h260 {
    height: 260px
}

.h280 {
    height: 280px
}

.h290 {
    height: 290px
}

.h300 {
    height: 300px
}

.h320 {
    height: 320px
}

.h330 {
    height: 330px
}

.h340 {
    height: 340px
}

.h350 {
    height: 350px
}

.h380 {
    height: 380px
}

.h400 {
    height: 400px
}

.h410 {
    height: 410px
}

.h420 {
    height: 420px
}

.h460 {
    height: 460px
}

.h500 {
    height: 500px
}

.h550 {
    height: 550px
}

.h10P {
    height: 10%
}

.h20P {
    height: 20%
}

.h25P {
    height: 25%
}

.h33P {
    height: 33.333%
}

.h40P {
    height: 40%
}

.h45P {
    height: 45%
}

.h49P {
    height: 49%
}

.h50P {
    height: 50%
}

.h60P {
    height: 60%
}

.h70P {
    height: 70%
}

.h75P {
    height: 75%
}

.h80P {
    height: 80%
}

.h100P {
    height: 100%
}

.h75vh {
    height: 75vh
}

.h47vh {
    height: 47vh
}

.h50vh {
    height: 50vh
}

.h60vh {
    height: 60vh
}

.h70vh {
    height: 70vh
}

.h85vh {
    height: 85vh
}

.w0 {
    width: 0;
    border: none !important
}

.minh300 {
    min-height: 300px
}

.minh500 {
    min-height: 500px
}

.maxh200 {
    max-height: 200px
}

.maxh300 {
    max-height: 300px
}

.maxh480 {
    max-height: 480px
}

.calcvh {
    height: calc((var(--vh, 1vh) * 100) - var(--px))
}


/*******BORDER***********/

.trait {
    background: #fff url("https://static.cruiseline.eu/images/fondListe.png") repeat-x scroll center top;
}

/*******BACKGROUND***********/


.fade.fb:after {
    content: "";
    text-align: right;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 40%;
    height: 1em;
    background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1) 70%);
}

.cover {
    background-size: cover;
    background-position: center;
}

.after,
.afterfb {
    position: relative
}

.after.absolute,
.afterfb.absolute {
    position: absolute
}


/*******FONTS***********/
.bold {
    font-weight: bold;
}

.font10 {
    font-size: 10px;
}

.font11 {
    font-size: 11px;
}

.font12 {
    font-size: 12px;
}

.font13 {
    font-size: 13px;
}

.font14 {
    font-size: 14px;
}

.font15 {
    font-size: 15px;
}

.font16 {
    font-size: 16px;
}

.font18 {
    font-size: 18px;
}

.font20 {
    font-size: 20px;
}

.font22 {
    font-size: 22px;
}

.font24 {
    font-size: 24px;
}

.font25 {
    font-size: 25px;
}

.font26 {
    font-size: 26px;
}

.font28 {
    font-size: 28px;
}

.font30 {
    font-size: 30px;
}

.font35 {
    font-size: 35px;
}

.font40 {
    font-size: 40px;
}

.font45 {
    font-size: 45px;
}

.font50 {
    font-size: 50px;
}

.font60 {
    font-size: 60px;
}

.font120 {
    font-size: 120px;
}

.font100 {
    font-weight: 100
}

.font300 {
    font-weight: 300
}

.font400 {
    font-weight: 400
}

.font500 {
    font-weight: 500
}

.font700 {
    font-weight: 700
}

.font900 {
    font-weight: 900
}

.font100 {
    font-weight: 100;
    letter-spacing: 0 !important
}

.upper {
    text-transform: uppercase;
}

.capital {
    text-transform: capitalize;
}

.first {
    display: block;
}

.first:first-letter {
    text-transform: uppercase;
}

.lower {
    text-transform: lowercase;
}

.pointer,
.liencache,
.target {
    cursor: pointer
}

.italic {
    font-style: italic
}

.barre {
    text-decoration: line-through
}

.underline {
    text-decoration: underline
}

.nounder {
    text-decoration: none !important
}

.center {
    text-align: center
}

.justify {
    text-align: justify
}

.txtRight {
    text-align: right
}

.txtLeft {
    text-align: left !important
}

.etc {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis
}

.letter3 {
    letter-spacing: 3px
}

.letter5 {
    letter-spacing: 5px
}

.letter10 {
    letter-spacing: 10px
}

.txtombre {
    text-shadow: 0 2px 2px #000000
}

.txtombre2 {
    text-shadow: 2px 2px 6px #000000
}

.txtombrebl {
    text-shadow: 2px 2px 6px #ffffff
}

.ligneTab:nth-child(even) {
    background-color: #eee;
}

.ligneTab:nth-child(odd) {
    background-color: #fff;
}


/*******POPUP***********/
.popup,
.pop {
    margin: 0 auto;
    width: 100%
}

.divpop {
    background-color: #fff;
    max-width: 700px;
}

#popupContact,
#popupImg,
#blocContact {
    background: #222;
    bottom: 0;
    display: none;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 2;
    opacity: 0.7
}

#popupContenu {
    background: #fff;
    box-shadow: 0 3px 10px 0 #222;
    display: none;
    ;
    position: fixed;
    z-index: 2;
    border-radius: 5px
}

#popContent {
    box-shadow: 0 3px 10px 0 #222;
    border-radius: 5px
}

#popupLoad {
    bottom: 0;
    display: none;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 1000;
    background-color: rgba(255, 255, 255, 0.8);
}

#popupBlanc {
    background-color: rgba(255, 255, 255, 0.7);
    bottom: 0;
    display: none;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 2;
}

#popupInactivite {
    border: 2px solid #16a9b9;
    width: 300px;
}

.loading {
    background: rgba(255, 255, 255, 0.7) url("https://static.cruiseline.eu/images/loading.gif") no-repeat scroll center center;
    z-index: 4;
}

.loader2 {
    background: rgba(255, 255, 255, 0.7) url("https://static.cruiseline.eu/images/loader2.gif") no-repeat scroll center center;
    z-index: 4;
}

.loader {
    background-image: url("https://static.cruiseline.eu/images/loader_blanc.gif");
    background-repeat: no-repeat;
    background-position: center center;
    z-index: 4
}

.loaderR {
    background-image: url("https://static.cruiseline.eu/images/spinner2.gif");
    background-repeat: no-repeat;
    background-position: 90% center;
    z-index: 4;
    opacity: 0.8
}

.croix:hover {
    background-color: #fc507a;
}

.loadingliste:before {
    height: 100%;
    width: 100%;
    z-index: 5;
    top: -10px;
    left: 0;
    background-color: rgba(255, 255, 255, 0.7);
    content: "";
    position: absolute;
    background-image: url(https://static.cruiseline.eu/images/loading.gif);
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-position: 60% 60%;
}

/*******BOUTON***********/
.bouton {
    cursor: pointer;
    text-transform: uppercase;
}

.bouton.fj {}

.bouton.fb {
    border: 1px solid #ccc
}

/***********BLOCK****************/

.bloc3 {
    margin-left: 2%
}

.bloc4 {
    margin-left: 2%
}

.bloc42 {
    margin-left: 2%
}

.bloc5 {
    margin-left: 2.5%
}

.bloc3:nth-child(3n+1),
.bloc4:nth-child(4n+1),
.bloc42:nth-child(4n+1),
.bloc5:nth-child(5n+1) {
    margin-left: 0
}

.canvasjs-chart-credit {
    display: none !important
}

.box:before {
    padding-top: 50%
}

/***********ICONS****************/
/***********ICONS****************/
.icon:after {
    font-family: "Flaticon";
    font-style: 1rem
}

.iconbefore:before {
    font-family: "Flaticon";
    font-style: 1rem;
    position: relative;
    margin-right: 10px;
}

.iconbefore {
    padding-left: 20px;
    position: relative
}

.icon.activite:after {
    content: "\f100";
}

.icon.adulte:after {
    content: "\f101";
}

.icon.ancre:after,
.icon.port:after {
    content: "\f102";
}

.icon.anniversaire:after {
    content: "\f103";
}

.icon.assurance:after {
    content: "\f104";
}

.icon.bas:after {
    content: "\f105";
}

.icon.bas.big:after {
    content: "\f106";
}

.icon.haut:after {
    content: "\f105";
    -ms-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.icon.haut.big:after {
    content: "\f106";
    -ms-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.icon.bateau:after {
    content: "\f107";
}

.icon.blog:after {
    content: "\f108";
}

.icon.transfert:after,
.icon.transfert-inclus:after {
    content: "\f109";
}

.icon.cabine:after,
.icon.nuit-offerte:after {
    content: "\f10a";
}

.icon.cadeau:after {
    content: "\f10b";
}

.icon.capitain:after {
    content: "\f10c";
}

.icon.check:after,
.icon.coche:after {
    content: "\f10d";
}

.icon.checkactive:after,
.icon.coche.active:after {
    content: "\f10e";
}

.icon.close:after {
    content: "\f10f";
}

.icon.coeur:after {
    content: "\f110";
}

.icon.credit-a-bord:after {
    content: "\f111";
}

.icon.culturel:after {
    content: "\f112";
}

.icon.date:after {
    content: "\f113";
}

.icon.dest:after {
    content: "\f114";
}

.icon.depbr:after {
    content: "\f115";
}

.icon.depes:after {
    content: "\f116";
}

.icon.depfr:after {
    content: "\f117";
}

.icon.depit:after {
    content: "\f118";
}

.icon.duree:after {
    content: "\f119";
}

.icon.duree2:after {
    content: "\f11a";
}

.icon.enfant:after {
    content: "\f11b";
}

.icon.enfant-gratuit:after,
.icon.club-enfant:after {
    content: "\f11c";
}

.icon.equipage:after {
    content: "\f11d";
}

.icon.star:after,
.icon.etoile:after {
    content: "\f11e";
}

.icon.star.active:after,
.icon.star.pleine:after {
    content: "\f11f";
}

.icon.facebook:after {
    content: "\f120";
}

.icon.famille:after {
    content: "\f121";
}

.icon.garanti:after {
    content: "\f122";
}

.icon.golf:after {
    content: "\f123";
}

.icon.google:after {
    content: "\f124";
}

.icon.hauteur:after {
    content: "\f125";
}

.icon.headset:after {
    content: "\f126";
}

.icon.home:after {
    content: "\f127";
}

.icon.hotel:after {
    content: "\f128";
}

.icon.info:after {
    content: "\f129";
}

.icon.info2:after {
    content: "\f12a";
}

.icon.instagram:after {
    content: "\f12b";
}

.icon.itineraire:after,
.icon.excursion-offerte:after {
    content: "\f12c";
}

.icon.luxe:after {
    content: "\f12d";
}

.icon.mail:after {
    content: "\f12e";
}

.icon.menu:after {
    content: "\f12f";
}

.icon.selonprogramme:after {
    content: "\f130";
}

.icon.message:after {
    content: "\f131";
}

.icon.money:after,
.icon.euro:after {
    content: "\f132";
}

.icon.next:after {
    content: "\f133";
}

.icon.next.big:after {
    content: "\f134";
}

.icon.voyage-noce:after {
    content: "\f135";
}

.icon.nuit:after {
    content: "\f136";
}

.icon.parking:after {
    content: "\f137";
}

.icon.passagers:after {
    content: "\f138";
}

.icon.pdf:after {
    content: "\f139";
}

.icon.petit-dejeuner:after {
    content: "\f13a";
}

.icon.photo:after {
    content: "\f13b";
}

.icon.piscine:after {
    content: "\f13c";
}

.icon.bord-de-plage:after {
    content: "\f13d";
}

.icon.play:after {
    content: "\f13e";
}

.icon.plonge:after {
    content: "\f13f";
}

.icon.plus:after {
    content: "\f140";
}

.icon.poids:after {
    content: "\f141";
}

.icon.power:after {
    content: "\f142";
}

.icon.pression1:after {
    content: "\f143";
}

.icon.pression2:after {
    content: "\f144";
}

.icon.pression3:after {
    content: "\f145";
}

.icon.prev:after {
    content: "\f146";
}

.icon.prev.big:after {
    content: "\f147";
}

.icon.radio:after {
    content: "\f148";
}

.icon.radioactive:after {
    content: "\f149";
}

.icon.pension:after {
    content: "\f14a";
}

.icon.search:after {
    content: "\f14b";
}

.icon.secure:after {
    content: "\f14c";
}

.icon.secure2:after {
    content: "\f14d";
}

.icon.service:after {
    content: "\f14e";
}

.icon.smile0:after {
    content: "\f14f";
}

.icon.smile1:after {
    content: "\f150";
}

.icon.smile2:after {
    content: "\f151";
}

.icon.smile3:after {
    content: "\f152";
}

.icon.spa:after {
    content: "\f153";
}

.icon.speed:after {
    content: "\f154";
}

.icon.sport:after {
    content: "\f155";
}

.icon.tel:after {
    content: "\f156";
}

.icon.temperature:after {
    content: "\f157";
}

.icon.tout-inclus:after,
.icon.all-inclusive:after {
    content: "\f158";
}

.icon.train:after {
    content: "\f159";
}

.icon.twitter:after {
    content: "\f15a";
}

.icon.user:after {
    content: "\f15b";
}

.icon.vk:after {
    content: "\f15c";
}

.icon.vol:after,
.icon.vol-inclus:after {
    content: "\f15d";
}

.icon.whatsapp:after {
    content: "\f15e";
}

.icon.wifi:after,
.icon.internet-illimite:after {
    content: "\f15f";
}

.icon.valide:after {
    content: "\f160";
}

.icon.panier:after {
    content: "\f161";
}

.icon.list:after {
    content: "\f162";
}

.icon.ti:after {
    content: "\f163";
}

.icon.aereos:after {
    content: "\f164";
}

.icon.filtre:after {
    content: "\f165";
}

.icon.move:after {
    content: "\f166";
}

.icon.cirque-du-soleil:after {
    content: "\f167";
}

.icon.excellence:after {
    content: "\f168";
}

.icon.office:after {
    content: "\f169";
}

.icon.credit-dollar:after {
    content: "\f16a";
}

.icon.tri:after {
    content: "\f16b";
}

.icon.coins:after {
    content: "\f16c";
}

.icon.pourboire:after {
    content: "\f16d";
}

.icon.masque:after {
    content: "\f16e";
}

.rotate {
    -ms-transform: rotate(180deg);
    /* IE 9 */
    -webkit-transform: rotate(180deg);
    /* Chrome, Safari, Opera */
    transform: rotate(180deg);
}

.icon.adulte:after {
    content: "\f101";
}

.icon.ancre:after,
.icon.port:after {
    content: "\f102";
}

.icon.anniversaire:after {
    content: "\f103";
}

.icon.assurance:after {
    content: "\f104";
}

.icon.bas:after {
    content: "\f105";
}

.icon.bas.big:after {
    content: "\f106";
}

.icon.haut:after {
    content: "\f105";
    -ms-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.icon.haut.big:after {
    content: "\f106";
    -ms-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.icon.bateau:after {
    content: "\f107";
}

.icon.blog:after {
    content: "\f108";
}

.icon.transfert:after {
    content: "\f109";
}

.icon.cabine:after,
.icon.nuit-offerte:after {
    content: "\f10a";
}

.icon.cadeau:after {
    content: "\f10b";
}

.icon.capitain:after {
    content: "\f10c";
}

.icon.check:after,
.icon.coche:after {
    content: "\f10d";
}

.icon.checkactive:after,
.icon.coche.active:after {
    content: "\f10e";
}

.icon.close:after {
    content: "\f10f";
}

.icon.coeur:after {
    content: "\f110";
}

.icon.credit-a-bord:after {
    content: "\f111";
}

.icon.culturel:after {
    content: "\f112";
}

.icon.date:after {
    content: "\f113";
}

.icon.dest:after {
    content: "\f114";
}

.icon.depbr:after {
    content: "\f115";
}

.icon.depes:after {
    content: "\f116";
}

.icon.depfr:after {
    content: "\f117";
}

.icon.depit:after {
    content: "\f118";
}

.icon.duree:after {
    content: "\f119";
}

.icon.duree2:after {
    content: "\f11a";
}

.icon.enfant:after {
    content: "\f11b";
}

.icon.enfant-gratuit:after,
.icon.club-enfant:after {
    content: "\f11c";
}

.icon.equipage:after {
    content: "\f11d";
}

.icon.star:after,
.icon.etoile:after {
    content: "\f11e";
}

.icon.star.active:after,
.icon.star.pleine:after {
    content: "\f11f";
}

.icon.facebook:after {
    content: "\f120";
}

.icon.famille:after {
    content: "\f121";
}

.icon.garanti:after {
    content: "\f122";
}

.icon.golf:after {
    content: "\f123";
}

.icon.google:after {
    content: "\f124";
}

.icon.hauteur:after {
    content: "\f125";
}

.icon.headset:after {
    content: "\f126";
}

.icon.home:after {
    content: "\f127";
}

.icon.hotel:after {
    content: "\f128";
}

.icon.info:after {
    content: "\f129";
}

.icon.info2:after {
    content: "\f12a";
}

.icon.instagram:after {
    content: "\f12b";
}

.icon.itineraire:after,
.icon.excursion-offerte:after {
    content: "\f12c";
}

.icon.luxe:after {
    content: "\f12d";
}

.icon.mail:after {
    content: "\f12e";
}

.icon.menu:after {
    content: "\f12f";
}

.icon.selonprogramme:after {
    content: "\f130";
}

.icon.message:after {
    content: "\f131";
}

.icon.money:after,
.icon.euro:after {
    content: "\f132";
}

.icon.next:after {
    content: "\f133";
}

.icon.next.big:after {
    content: "\f134";
}

.icon.voyage-noce:after {
    content: "\f135";
}

.icon.nuit:after {
    content: "\f136";
}

.icon.parking:after {
    content: "\f137";
}

.icon.passagers:after {
    content: "\f138";
}

.icon.pdf:after {
    content: "\f139";
}

.icon.petit-dejeuner:after {
    content: "\f13a";
}

.icon.photo:after {
    content: "\f13b";
}

.icon.piscine:after {
    content: "\f13c";
}

.icon.bord-de-plage:after {
    content: "\f13d";
}

.icon.play:after {
    content: "\f13e";
}

.icon.plonge:after {
    content: "\f13f";
}

.icon.plus:after {
    content: "\f140";
}

.icon.poids:after {
    content: "\f141";
}

.icon.power:after {
    content: "\f142";
}

.icon.pression1:after {
    content: "\f143";
}

.icon.pression2:after {
    content: "\f144";
}

.icon.pression3:after {
    content: "\f145";
}

.icon.prev:after {
    content: "\f146";
}

.icon.prev.big:after {
    content: "\f147";
}

.icon.radio:after {
    content: "\f148";
}

.icon.radioactive:after {
    content: "\f149";
}

.icon.pension:after {
    content: "\f14a";
}

.icon.search:after {
    content: "\f14b";
}

.icon.secure:after {
    content: "\f14c";
}

.icon.secure2:after {
    content: "\f14d";
}

.icon.service:after {
    content: "\f14e";
}

.icon.smile0:after {
    content: "\f14f";
}

.icon.smile1:after {
    content: "\f150";
}

.icon.smile2:after {
    content: "\f151";
}

.icon.smile3:after {
    content: "\f152";
}

.icon.spa:after {
    content: "\f153";
}

.icon.speed:after {
    content: "\f154";
}

.icon.sport:after {
    content: "\f155";
}

.icon.tel:after {
    content: "\f156";
}

.icon.temperature:after {
    content: "\f157";
}

.icon.tout-inclus:after,
.icon.all-inclusive:after {
    content: "\f158";
}

.icon.train:after {
    content: "\f159";
}

.icon.twitter:after {
    content: "\f15a";
}

.icon.user:after {
    content: "\f15b";
}

.icon.vk:after {
    content: "\f15c";
}

.icon.vol:after,
.icon.vol-inclus:after {
    content: "\f15d";
}

.icon.whatsapp:after {
    content: "\f15e";
}

.icon.wifi:after,
.icon.internet-illimite:after {
    content: "\f15f";
}

.icon.valide:after {
    content: "\f160";
}

.icon.panier:after {
    content: "\f161";
}

.icon.list:after {
    content: "\f162";
}

.icon.ti:after {
    content: "\f163";
}

.icon.aereos:after {
    content: "\f164";
}

.icon.filtre:after {
    content: "\f165";
}

.icon.move:after {
    content: "\f166";
}

.icon.cirque-du-soleil:after {
    content: "\f167";
}

.icon.excellence:after {
    content: "\f168";
}

.icon.office:after {
    content: "\f169";
}

.icon.credit-dollar:after {
    content: "\f16a";
}

.icon.tri:after {
    content: "\f16b";
}

.icon.coins:after {
    content: "\f16c";
}

.icon.pourboire:after {
    content: "\f16d";
}

.icon.masque:after {
    content: "\f16e";
}

.icon.spray:after {
    content: "\f16f";
}

.icon.distance:after {
    content: "\f170";
}

.icon.gel:after {
    content: "\f171";
}

.icon.moins_pax:after {
    content: "\f172";
}

.icon.no_buffet:after {
    content: "\f173";
}

.icon.medical:after {
    content: "\f174";
}

.icon.moins:after {
    content: "\f175";
}

.rotate-1 {
    -ms-transform: rotate(-1deg);
    /* IE 9 */
    -webkit-transform: rotate(-1deg);
    /* Chrome, Safari, Opera */
    transform: rotate(-1deg);
}

.rotate1 {
    -ms-transform: rotate(1deg);
    /* IE 9 */
    -webkit-transform: rotate(1deg);
    /* Chrome, Safari, Opera */
    transform: rotate(1deg);
}

.rotate {
    -ms-transform: rotate(180deg);
    /* IE 9 */
    -webkit-transform: rotate(180deg);
    /* Chrome, Safari, Opera */
    transform: rotate(180deg);
}

.rotate90 {
    -ms-transform: rotate(90deg);
    /* IE 9 */
    -webkit-transform: rotate(90deg);
    /* Chrome, Safari, Opera */
    transform: rotate(90deg);
}

.rotate270 {
    -ms-transform: rotate(270deg);
    /* IE 9 */
    -webkit-transform: rotate(270deg);
    /* Chrome, Safari, Opera */
    transform: rotate(270deg);
}

.trigauche::before {
    border-bottom: 10px solid transparent;
    border-right: 10px solid #fff;
    border-top: 10px solid transparent;
    content: " ";
    height: 0;
    left: -10px !important;
    position: absolute;
    top: 10px;
    width: 0;
}

.trigauche.fg::before {
    border-right: 10px solid #eee;
}

.tribas::before {
    border-left: 10px solid rgba(0, 0, 0, 0);
    border-right: 10px solid rgba(0, 0, 0, 0);
    border-top: 10px solid #fff;
    bottom: -10px;
    content: " ";
    height: 0;
    left: calc(50% - 10px);
    position: absolute;
    width: 0;
}

.trihaut::before {
    border-left: 10px solid rgba(0, 0, 0, 0);
    border-right: 10px solid rgba(0, 0, 0, 0);
    border-bottom: 10px solid #fff;
    top: -10px;
    content: " ";
    height: 0;
    left: calc(50% - 10px);
    position: absolute;
    width: 0;
}

.trihaut.fn::before {
    border-bottom: 10px solid #222;
}

.tribas.fbl::before {
    border-top: 10px solid #71C5E8;
}

.tridroite::before {
    border-bottom: 10px solid transparent;
    border-left: 10px solid #fff;
    border-top: 10px solid transparent;
    content: " ";
    height: 0;
    right: -10px !important;
    position: absolute;
    top: calc(50% - 10px);
    width: 0;
}

.tricomp::before {
    border-bottom: 50px solid transparent;
    border-left: 30px solid #bbb;
    border-top: 50px solid transparent;
    content: " ";
    height: 0;
    position: absolute;
    right: -30px !important;
    top: 0;
    width: 0;
    z-index: 999;
}


.etoile.big.h25:not(.icon) {
    height: 25px;
    width: 125px
}

.etoile.big.h20:not(.icon) {
    height: 20px;
    width: 100px
}

.etoile.big.h15:not(.icon) {
    height: 15px;
    width: 75px
}


.etoile.big.h10:not(.icon) {
    height: 10px;
    width: 50px
}

.etoile.big.gris:not(.icon) {
    background: rgba(0, 0, 0, 0) url(https://static.cruiseline.eu/images/etoileBigGris.png) repeat-x scroll left center;
    background-size: contain
}

.etoile.big.or:not(.icon) {
    background: rgba(0, 0, 0, 0) url(https://static.cruiseline.eu/images/etoileBigOr.png) repeat-x scroll left center;
    background-size: contain
}

.etoile.big.gccc:not(.icon) {
    background: rgba(0, 0, 0, 0) url(https://static.cruiseline.eu/images/etoileBigCcc.png) repeat-x scroll left center;
    background-size: contain
}

.etoile.big.bleu:not(.icon) {
    background: rgba(0, 0, 0, 0) url(https://static.cruiseline.eu/images/etoileBigBleu.png) repeat-x scroll left center;
    background-size: contain
}

/***********NAV****************/
nav {
    padding: 0;
    width: 100%
}

/*nav::after {
    border-bottom: 30px solid transparent;
    border-right: 20px solid white;
    border-top: 30px solid transparent;
    bottom: 0;
    content: "";
    height: 0;
    position: absolute;
    right: -20px;
    width: 0;
    background-color: #061566
}
nav::before {
    border-bottom: 10px solid transparent;
    border-right: 20px solid #010553;
    border-top: 0 solid transparent;
    bottom: -10px;
    content: "";
    height: 0;
    left: 0;
    position: absolute;
    width: 0;
}*/
.btmenu.active:before {
    border-left: 10px solid rgba(0, 0, 0, 0);
    border-right: 10px solid rgba(0, 0, 0, 0);
    border-bottom: 10px solid #fff;
    bottom: 0;
    content: " ";
    height: 0;
    left: calc(50% - 10px);
    position: absolute;
    width: 0;
}

.submenu {
    top: 100%;
    z-index: 999;
    left: 0;
}


/***********BORDER****************/
.bafterbl,
.bafterbl>div,
.baftero,
.baftero>div,
.bafterv,
.bafterv>div,
.bafterp,
.bafterp>div {
    position: relative
}

.bafterbl:before {
    border-top-color: #ABE1FB !important;
    border-left-color: #ABE1FB !important
}

.bafterbl:after {
    border-top-color: #33C2E0 !important;
    border-right-color: #33C2E0 !important
}

.bafterbl>div:before {
    border-bottom-color: #1370B6 !important;
    border-left-color: #1370B6 !important
}

.bafterbl>div:after {
    border-bottom-color: #180E40 !important;
    border-right-color: #180E40 !important
}

.bafterp:before {
    border-top-color: #ED3E81 !important;
    border-left-color: #ED3E81 !important
}

.bafterp:after {
    border-top-color: #B62079 !important;
    border-right-color: #B62079 !important
}

.bafterp>div:after {
    border-bottom-color: #762282 !important;
    border-right-color: #762282 !important
}

.bafterp>div:before {
    border-bottom-color: #F3719F !important;
    border-left-color: #F3719F !important
}

.bafterj:before {
    border-top-color: #FFEEBE !important;
    border-left-color: #FFEEBE !important
}

.bafterj:after {
    border-top-color: #FFD766 !important;
    border-right-color: #FFD766 !important
}

.bafterj>div:after {
    border-bottom-color: #D89812 !important;
    border-right-color: #D89812 !important
}

.bafterj>div:before {
    border-bottom-color: #FBBB17 !important;
    border-left-color: #FBBB17 !important
}

.bafterv:before {
    border-top-color: #B5DCAF !important;
    border-left-color: #B5DCAF !important
}

.bafterv:after {
    border-top-color: #03A679 !important;
    border-right-color: #03A679 !important
}

.bafterv>div:after {
    border-bottom-color: #00A9AC !important;
    border-right-color: #00A9AC !important
}

.bafterv>div:before {
    border-bottom-color: #A7BE3A !important;
    border-left-color: #A7BE3A !important
}

.bafterbl:before,
.baftero:before,
.bafterv:before,
.bafterp:before,
.bafterj:before {
    position: absolute;
    content: "";
    width: 50%;
    height: 50%;
    border-top: 10px solid #ccc;
    border-left: 10px solid #ccc;
    left: 0;
    top: 0;
    z-index: 2;
}

.bafterbl:after,
.baftero:after,
.bafterv:after,
.bafterp:after,
.bafterj:after {
    position: absolute;
    content: "";
    width: 50%;
    height: 50%;
    border-top: 10px solid #eee;
    border-right: 10px solid #eee;
    right: 0;
    top: 0;
    z-index: 2;
}

.bafterbl>div:before,
.baftero>div:before,
.bafterv>div:before,
.bafterp>div:before,
.bafterj>div:before {
    position: absolute;
    content: "";
    width: 50%;
    height: 50%;
    border-bottom: 10px solid #999;
    border-left: 10px solid #999;
    left: 0;
    bottom: 0;
    z-index: 2;
}

.bafterbl>div:after,
.baftero>div:after,
.bafterv>div:after,
.bafterp>div:after,
.bafterj>div:after {
    position: absolute;
    content: "";
    width: 50%;
    height: 50%;
    border-bottom: 10px solid #bbb;
    border-right: 10px solid #bbb;
    right: 0;
    bottom: 0;
    z-index: 2;
}

.soustitre {
    font-weight: 700;
    font-size: 16px;
    color: #71C5E8;
}

.note {
    font-size: 12px;
    color: #71C5E8;
}

.asterisque {
    color: #71C5E8;
    cursor: pointer;
}

.star .titre.bleu:after {
    border-bottom: 2px solid #862466 !important
}

.sky .titre.bleu:after {
    border-bottom: 2px solid #58B2DC !important
}

.sea .titre.bleu:after {
    border-bottom: 2px solid #19BDC5 !important
}

@media only screen and (max-width: 400px) {
    .noneMobile {
        display: block
    }

    .nonePc {
        display: none
    }
}

#callmeback {
    bottom: -550px;
    right: 20px;
    width: 310px;
    z-index: 10;
    border: 3px solid #71C5E8;
}

#callmeback #titreCallmeback {
    border-bottom: 1px solid #71C5E8;
    padding: 5px 0;
    margin: 0 10px;
}

#formCallmeback input[type=text],
#formCallmeback input[type=email],
#formCallmeback input[type="tel"],
#formCallmeback select,
#formCallmeback2 input[type=text],
#formCallmeback2 input[type=email],
#formCallmeback2 input[type="tel"],
#formCallmeback2 select {
    height: 40px;
    background: #fff;
    border: 2px solid #ccc;
    width: 100%;
    margin-bottom: 10px !important;
}

.blocbas b {
    font-size: 16px;
}

.blocbas a {
    color: #71C5E8;
}

input[type=date] {
    background-color: transparent;
    border: none;
    resize: none;
    font-size: 14px;
    text-align: inherit;
    padding-left: 5px;
    color: #575759;
}

/*************SWITCH****************/
.switch {
    background-color: white;
    background-image: linear-gradient(to bottom, #e0e0e0, white 25px);
    border-radius: 18px;
    box-shadow: 0 -1px white inset, 0 1px 1px rgba(0, 0, 0, 0.05) inset;
    cursor: pointer;
    padding: 3px;
}

.curseur {
    background-color: #eceeef;
    border-radius: inherit;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15) inset, 0 0 3px rgba(0, 0, 0, 0.2) inset;
    height: inherit;
    content: "ON" !important;
    font-size: 13px
}

.switch.off .curseur::before {
    opacity: 1
}

.switch.off .curseur::after {
    opacity: 0
}

.curseur {
    background-color: rgba(0, 153, 204, 0.6) !important;
}

.switch.off .curseur {
    background-color: #eceeef !important;
}

.curseur::after,
.curseur::before {
    line-height: 1;
    margin-top: -0.5em;
    position: absolute;
    top: 50%;
    -webkit-transition: 0.3s ease 0s;
    -moz-transition: 0.3s ease 0s;
    -o-transition: 0.3s ease 0s;
    -ms-transition: 0.3s ease 0s;
    transition: 0.3s ease 0s;
    text-align: center;
    width: 60%
}

.curseur::after {
    color: white;
    content: "ON";
    text-shadow: 0 1px rgba(0, 0, 0, 0.2);
    left: 0
}

.curseur::before {
    color: #aaa;
    content: "OFF";
    text-shadow: 0 1px rgba(255, 255, 255, 0.5);
    right: 0;
    opacity: 0
}


.curseur.rep {
    background-color: #0099CC !important;
}

.point {
    background: white linear-gradient(to bottom, white 40%, #f0f0f0) repeat scroll 0 0;
    border-radius: 10px;
    box-shadow: -1px 1px 5px rgba(0, 0, 0, 0.2);
    height: 18px;
    left: calc(100% - 22px);
    position: absolute;
    top: 4px;
    width: 18px;
}

.switch.off .point {
    box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
    left: 4px !important;
}


/*LISTE*/
.blocaff li.aff,
.blocaff li.unavailable,
.blocaff option.unavailable {
    display: none
}

.blocaff li.aff.first5 {
    display: block
}

@media only screen and (max-width: 1300px) {
    .blocCroisiere .slide {
        width: 200px
    }

    .blocCroisiere .blocinfo {
        width: calc(100% - 210px) !important;
        width: -webkit-calc(100% - 210px) !important;
        width: -moz-calc(100% - 210px) !important
    }

    /*    .blocCroisiere .slide {
        width: 250px
    }*/
    .blocCroisiere .blocinfo {
        width: 400px;
        width: calc(100% - 260px) !important;
        width: -webkit-calc(100% - 260px) !important;
        width: -moz-calc(100% - 260px) !important
    }

    #affinage {
        margin-top: 0
    }

    .infotxt {
        line-height: 15px;
    }
}

/*#slide_activites:after{
    content:"";
    width:100%;
    height:50px;
    bottom:-30px;
    left:0;
    position:absolute;
    transform: skew(0, -0.5deg);
    background-color: #f4f4f4;
    z-index: 2;
}*/

.legende2 {
    text-transform: uppercase;
    font: bold 2.5rem 'Kapra', sans-serif;
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
    position: absolute;
    height: 100%;
    top: 0;
    width: 100%;
    left: 0;
    padding: 10px;

}


.txt {
    transform: scale(0);
}

.photolegende2:hover .txt {
    transform: scale(1);
}

/*!***********ONGLETS****************!*/
/*#onglets li {*/
/*    font-size: 14px;*/
/*    border: 1px solid #131E29;*/
/*}*/

/*#onglets li:hover, #ongletcroisiere:hover, #ongletscroisiere:focus, #ongletpackage:hover, #ongletpackage:focus {*/
/*    background-color: #131E29;*/
/*    color: #fff;*/
/*}*/


/*******MASONRY*********/
.selection {
    -moz-column-count: 3;
    -moz-column-gap: 0;
    -moz-column-width: 33%;
    -webkit-column-count: 3;
    -webkit-column-gap: 0;
    -webkit-column-width: 33%;
    column-count: 3;
    column-gap: 0;
    column-width: 33%;
}


.selection>* {
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid-column;
    display: table
}

.survol::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    top: 0;
    left: 0;
    transition: 0.5s ease-in;
}

#moteur.fixed .select,
#moteur.fixed input[type=submit] {
    width: 18%;
}

#moteur.fixed #recherche {
    display: flex;
    display: -webkit-flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}

#moteur.fixed #bt_rech {
    padding: 10px;
}

.l0 {
    left: 0px;
}

#moteur.fixed {
    height: auto;
}

.cont {
    top: 100%;
    left: 0;
    z-index: 10;
    width: 100%;
    height: 100%;
    -webkit-transition: 0.3s ease 0s;
    -moz-transition: 0.3s ease 0s;
    -o-transition: 0.3s ease 0s;
    -ms-transition: 0.3s ease 0s;
    transition: 0.3s ease 0s;
}

.cont:after {
    content: '\e014';
    font-family: 'Flaticon';
    position: absolute;
    right: 25px;
    top: 25px;
    font-size: 20px;
    height: 40px;
    width: 40px;
    line-height: 40px;
    text-align: center;
    color: #999;
    cursor: pointer;
}

.cont.active {
    top: 0;
}

.gradientLBl {
    background: rgb(255, 255, 255);
    background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
    z-index: 10;
}

.gradientRBl {
    background: rgb(255, 255, 255);
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
    z-index: 10;
}

.gradientL {
    background: rgb(0, 0, 0);
    background: linear-gradient(90deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
    z-index: 10;
}

.gradientR {
    background: rgb(0, 0, 0);
    background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%);
    z-index: 10;
}

.slidedown.icon:after {
    position: absolute;
    right: 10px;
    width: 25px;
    text-align: center;
    height: 30px;
    top: calc(50% - 15px);
    line-height: 30px;
}

.critere {
    position: relative;
}

.critere::after {
    content: " • ";
    position: relative;
    margin-left: 2px;
    line-height: 100%
}

.critere:last-child::after {
    content: "";
    margin-left: 0;
}

#moteur.haut {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 999
}

#moteur.haut .tribas {
    display: none
}

#moteur.haut form {
    padding: 5px !important;
    display: table;
    margin-left: auto;
    margin-right: auto;
    max-width: 1400px;
    width: 100%;
}

#moteur.haut .sel {
    float: left;
    width: 18%;
    margin-top: 15px !important;
    height: 30px;
    line-height: 30px;
    margin-left: 2.5%;
    margin-bottom: 0 !important
}

#moteur.haut label,
#moteur.haut select,
#moteur.haut input[type=submit],
#moteur.haut label.select::after {
    height: 30px;
    line-height: 30px;
}

#moteur.haut .sel:nth-child(5n+1) {
    margin-left: 0 !important
}

#moteur.haut .placeholder.bebas {
    font-family: 'Helvetica' !important;
    font-size: 12px;
    color: #1c3642;
    top: -15px;
}

.critere {
    position: relative;
}

.critere::after {
    content: ", ";
    position: relative;
    margin-left: 2px;
    line-height: 100%
}

.critere:last-child::after {
    content: "";
    margin-left: 0;
}

.incre .placeholder.active {
    top: -15px !important;
    text-align: center;
    width: 100%;
}

.noselect {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.noselect.fhover {
    background-color: #00A9AC;
}

.fv {
    background-color: #2BB04A
}

/* CAROUSEL PHOTOS PLEIN ECRAN */
.carousel-fullscreen {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    max-width: none !important;
    max-height: none !important;
    z-index: 999999 !important;
    background: #000 !important;
    display: flex !important;
    flex-direction: column !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    outline: none !important;
    box-sizing: border-box !important;
}

.carousel-fullscreen.hidden {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

body.carousel-open {
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
}

html.carousel-open {
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
}

/* Masquer tous les éléments sauf le carousel */
body.carousel-open>*:not(.carousel-fullscreen) {
    display: none !important;
}

/* S'assurer que le carousel reste visible SEULEMENT quand il n'est pas hidden */
body.carousel-open .carousel-fullscreen:not(.hidden) {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Neutraliser tous les styles qui pourraient interférer */
.carousel-fullscreen * {
    box-sizing: border-box !important;
}

/* Forcer le plein écran sur tous les navigateurs */
.carousel-fullscreen {
    -webkit-transform: translate3d(0, 0, 0) !important;
    transform: translate3d(0, 0, 0) !important;
}

/* Masquer la scrollbar du navigateur */
html.carousel-open,
body.carousel-open {
    scrollbar-width: none !important;
    /* Firefox */
    -ms-overflow-style: none !important;
    /* IE et Edge */
}

html.carousel-open::-webkit-scrollbar,
body.carousel-open::-webkit-scrollbar {
    display: none !important;
    /* Chrome, Safari et Opera */
}

.carousel-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: transparent;
    z-index: 1;
}

.carousel-container {
    position: relative !important;
    width: 100vw !important;
    height: 100vh !important;
    max-width: none !important;
    max-height: none !important;
    display: flex !important;
    flex-direction: column !important;
    z-index: 2 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    box-sizing: border-box !important;
}

.carousel-header {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 15px 80px 15px 25px;
    background: rgba(0, 0, 0, 0.9);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    flex-shrink: 0;
    width: 100%;
    box-sizing: border-box;
    position: relative;
}

.carousel-title {
    color: white;
    font-size: 24px;
    font-weight: 300;
    margin: 0;
}

.carousel-controls {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 10;
}

.carousel-close {
    background: rgba(0, 0, 0, 0.7);
    border: 2px solid rgba(255, 255, 255, 0.3);
    color: white;
    font-size: 24px;
    cursor: pointer;
    padding: 0;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.3s ease;
    font-weight: normal;
    line-height: 1;
}

.carousel-close:hover {
    background-color: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.6);
    transform: scale(1.1);
}

.carousel-content {
    flex: 1;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    width: 100%;
    height: 100%;
    min-height: 0;
}

.carousel-navigation {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    padding: 0 30px;
    z-index: 3;
    pointer-events: none;
}

.carousel-nav {
    background: rgba(0, 0, 0, 0.5);
    border: 2px solid rgba(255, 255, 255, 0.3);
    color: white;
    font-size: 30px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    pointer-events: auto;
}

.carousel-nav:hover {
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.6);
    transform: scale(1.1);
}

.carousel-images {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.carousel-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    opacity: 0;
    transition: opacity 0.5s ease;
}

.carousel-slide.active {
    opacity: 1;
}

.carousel-image {
    max-width: 95vw;
    max-height: 85vh;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 4px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.7);
}

.carousel-video {
    max-width: 95vw;
    max-height: 85vh;
    width: auto;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.carousel-video iframe,
.carousel-video video {
    max-width: 100%;
    max-height: 100%;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

.carousel-caption {
    color: white;
    font-size: 18px;
    margin-top: 20px;
    text-align: center;
    background: rgba(0, 0, 0, 0.7);
    padding: 10px 20px;
    border-radius: 20px;
    backdrop-filter: blur(10px);
}

.carousel-counter {
    position: absolute;
    top: 20px;
    right: 20px;
    color: white;
    font-size: 16px;
    background: rgba(0, 0, 0, 0.7);
    padding: 8px 16px;
    border-radius: 20px;
    backdrop-filter: blur(10px);
}

.carousel-thumbnails {
    display: flex;
    gap: 10px;
    padding: 20px;
    background: rgba(0, 0, 0, 0.9);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.3) transparent;
    flex-shrink: 0;
    width: 100%;
    height: auto;
    min-height: 140px;
    box-sizing: border-box;
}

.carousel-thumbnails::-webkit-scrollbar {
    height: 6px;
}

.carousel-thumbnails::-webkit-scrollbar-track {
    background: transparent;
}

.carousel-thumbnails::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.3);
    border-radius: 3px;
}

.carousel-thumb {
    flex-shrink: 0;
    width: 160px;
    height: 100px;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    border: 3px solid transparent;
    transition: all 0.3s ease;
    position: relative;
}

.carousel-thumb:hover {
    border-color: rgba(255, 255, 255, 0.5);
    transform: scale(1.05);
}

.carousel-thumb.active {
    border-color: #fff;
    box-shadow: 0 0 20px rgba(255, 255, 255, 0.6);
    transform: scale(1.1);
}

.carousel-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.thumb-video {
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 40px;
    color: white;
}

/* Responsive Tablette */
@media (min-width: 769px) and (max-width: 1024px) {
    .carousel-header {
        padding: 15px 80px 15px 20px;
    }

    .carousel-title {
        font-size: 20px;
    }

    .carousel-controls {
        top: 18px;
        right: 18px;
    }

    .carousel-close {
        font-size: 26px;
        width: 48px;
        height: 48px;
    }

    .carousel-navigation {
        padding: 0 25px;
    }

    .carousel-nav {
        width: 55px;
        height: 55px;
        font-size: 30px;
    }

    .carousel-image {
        max-width: 96vw;
        max-height: 82vh;
    }

    .carousel-caption {
        font-size: 17px;
        margin-top: 18px;
        padding: 10px 18px;
    }

    .carousel-counter {
        top: 18px;
        right: 18px;
        font-size: 15px;
        padding: 8px 14px;
    }

    .carousel-thumbnails {
        padding: 20px 25px;
        gap: 10px;
        min-height: 130px;
    }

    .carousel-thumb {
        width: 140px;
        height: 90px;
    }

    .thumb-video {
        font-size: 36px;
    }
}

/* Responsive Mobile */
@media (max-width: 768px) {
    .carousel-header {
        padding: 10px 70px 10px 15px;
    }

    .carousel-title {
        font-size: 18px;
    }

    .carousel-controls {
        top: 15px;
        right: 15px;
    }

    .carousel-close {
        font-size: 22px;
        width: 45px;
        height: 45px;
    }

    .carousel-navigation {
        padding: 0 15px;
    }

    .carousel-nav {
        width: 50px;
        height: 50px;
        font-size: 28px;
    }

    .carousel-image {
        max-width: 98vw;
        max-height: 80vh;
    }

    .carousel-caption {
        font-size: 16px;
        margin-top: 15px;
        padding: 8px 16px;
    }

    .carousel-counter {
        top: 15px;
        right: 15px;
        font-size: 14px;
        padding: 6px 12px;
    }

    .carousel-thumbnails {
        padding: 15px;
        gap: 8px;
        min-height: 110px;
    }

    .carousel-thumb {
        width: 120px;
        height: 80px;
    }

    .thumb-video {
        font-size: 32px;
    }
}

.carousel-counter {
    top: 15px;
    right: 15px;
    font-size: 14px;
    padding: 6px 12px;
}

}

/* Styles pour la nouvelle section info bateau dans fiche - style compact */
.w30P {
    width: 30%;
}

.w70P {
    width: 70%;
}

.bg-light {
    background-color: #f8f9fa;
}

.radius-br {
    border-bottom-right-radius: 8px;
}

.radius-bl {
    border-bottom-left-radius: 8px;
}

.radius-b {
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
}

.h120 {
    height: 120px;
}

.items-end {
    align-items: flex-end;
}

.justify-end {
    justify-content: flex-end;
}

.justify-start {
    justify-content: flex-start;
}

.h80 {
    height: 80px;
}

.pad15 {
    padding: 15px;
}

.pad1015 {
    padding: 10px 15px;
}

.right8 {
    margin-right: 8px;
}

.h100 {
    height: 100px;
}

.z3 {
    z-index: 3;
}

.font13 {
    font-size: 13px;
}

.font15 {
    font-size: 15px;
}

.pad1520 {
    padding: 15px 20px;
}

.bouton-photos-overlay {
    background: #B28F4D;
    color: white;
    border: none;
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.bouton-photos-overlay:hover {
    background: rgba(0, 0, 0, 0.85);
    transform: translateY(-2px);
    box-shadow: 0 6px 25px rgba(0, 0, 0, 0.4);
    color: white;
}

/* Style pour le bloc d'informations techniques */
#info .bg-light {
    border: 1px solid #e9ecef;
}

#info .bg-light .flex.justify-between {
    align-items: center;
}

/* Amélioration de l'affichage des étoiles */
.etoile.big {
    width: 80px;
}

/* Responsive pour la section info bateau */
@media (max-width: 1200px) {
    .w30P {
        width: 35%;
    }

    .w70P {
        width: 65%;
    }
}

@media (max-width: 1024px) {

    .w30P,
    .w70P {
        width: 100%;
    }

    #info .flex.justify-between {
        flex-direction: column;
    }

    #info .w30P {
        margin-bottom: 30px;
        padding-right: 0;
    }

    #info .w70P .relative {
        height: 400px !important;
    }
}

@media (max-width: 768px) {
    .bouton-photos-overlay {
        font-size: 12px;
        padding: 12px 16px;
    }

    #info .w70P .relative {
        height: 300px !important;
    }

    #info .bg-light {
        padding: 15px;
    }
}