:root {
    --couleur-1: #002331;
    --couleur-2: #03718e;
    --couleur-3: #a1d9e2;
    --couleur-opacity: rgba(3, 113, 142, 0.8);
    /* --couleur-1: #252525;
    --couleur-2: #6b6957;
    --couleur-3: #b0a377; */
}

/* GENERICS */
body {
    color: #131313;
}
a {
    color: #131313;
    transition: color 0.2s linear;
}
.w-100 {
    width: 100%;
}
.clamp-2 {
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.clamp-4 {
    display: -webkit-box !important;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.text-ellipsis {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}
.bg-white {
    background-color: #fff;
}
.form-control {
    border: 1px solid #e0e0e0;
    border-radius: 5px;
    color: #131313;
}
.d-flex {
    display: flex;
}
/* LOGO */
.logo {
    padding: 10px 0;
    height: 70px;
}

.logo img {
    max-height: 80px;
    width: auto;
}

@media screen and (min-width: 992px) {
    .logo {
        height: 100px;
    }
    .logo img {
        max-height: 120px;
        -webkit-transition: all 0.2s linear;
        transition: all 0.2s linear;
    }
    #header.fixed-position .logo {
        padding: 10px 0;
        height: 70px;
    }
    #header.fixed-position .logo img {
        max-height: 70px;
    }
}

/* MENU  */
.dropdown-menu {
    background-color: var(--couleur-1);
}
.dropdown .fa-angle-down {
    float: right;
}

.has-mega-dropdown.menu-image > .dropdown-menu {
    left: auto;
}

.menu-image .drop-holder {
    display: flex;
}
.menu-image .drop-holder > .col {
    max-width: 350px;
    padding: 0 15px;
}

.navbar-default .navbar-nav > li > a.btn-reservation {
    background-color: var(--couleur-3);
    color: var(--couleur-1);
    text-transform: uppercase;
    font-weight: 700;
}

@media only screen and (min-width: 992px) {
    .navbar-default .fa-angle-down {
        display: none;
    }
    .navbar-default .navbar-nav > li {
        padding: 40px 8px 0;
    }
    .navbar-default .navbar-nav > li > a.btn-reservation {
        padding: 4px 10px;
        height: auto !important;
        margin-top: -3px;
        transition: all 0.2s linear;
    }
    .navbar-default .navbar-nav > li > a.btn-reservation:hover {
        background-color: #fff;
    }
    #header.fixed-position .navbar-default .navbar-nav > li > a:hover {
        color: var(--couleur-3);
    }
    #header.fixed-position .navbar-default .navbar-nav > li > a.btn-reservation:hover {
        color: var(--couleur-1);
    }
}
@media only screen and (min-width: 1230px) {
    .navbar-default .navbar-nav > li {
        padding: 40px 14px 0;
    }
}

/* THUMBNAIL CIRCUIT */
.liste-circuit.content-block.article-boxed .content-heading {
    margin-bottom: 40px;
}
.liste-circuit .demo-wrapper {
    padding: 0;
}
.liste-circuit #liste-circuit-accueil .article {
    padding: 0 15px;
    margin: 0 auto;
    max-width: 500px;
}
.liste-circuit .article .img-wrap {
    margin-bottom: 0;
    position: relative;
}

.liste-circuit .article .img-wrap .img-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 20px;
    padding-bottom: 18px;
    padding-top: 40px;
    text-align: left;
    background: linear-gradient(180deg, rgba(22, 22, 22, 0), rgba(22, 22, 22, 0.8));
}

.liste-circuit .img-overlay .price {
    color: #fff;
    font-style: italic;
    font-size: 16px;
}

.liste-circuit .img-overlay .price span {
    font-weight: bold;
    font-size: 36px;
    line-height: 42px;
    font-style: normal;
}

.liste-circuit .article .thumbnail .meta {
    padding-bottom: 10px;
}
.liste-circuit .article .thumbnail .clamp-4 {
    margin-bottom: 25px;
}

/* Carousel buttons */
.liste-circuit .demo-wrapper .owl-theme .owl-next:after,
.liste-circuit .demo-wrapper .owl-theme .owl-prev:after {
    display: none;
}
.liste-circuit .demo-wrapper .owl-theme .owl-controls,
.liste-circuit .demo-wrapper .owl-theme .owl-controls {
    margin-top: 20px;
}
.liste-circuit .demo-wrapper .owl-theme .owl-controls .owl-buttons .owl-next,
.liste-circuit .demo-wrapper .owl-theme .owl-controls .owl-buttons .owl-prev {
    top: auto;
    bottom: -6px;
    left: 50%;
    right: 0;
    transform: translateX(-62%);
    margin-top: 0;
    width: 40px;
    border-radius: 0;
    visibility: visible;
    background: var(--couleur-1);
}

.demo-wrapper .owl-theme .owl-controls .owl-buttons .owl-prev {
    margin-left: -100px;
}
.demo-wrapper .owl-theme .owl-controls .owl-buttons .owl-next {
    margin-left: 110px;
}

@media screen and (min-width: 1060px) {
    .liste-circuit .demo-wrapper .owl-theme .owl-controls .owl-buttons .owl-next,
    .liste-circuit .demo-wrapper .owl-theme .owl-controls .owl-buttons .owl-prev {
        top: 45%;
        margin-top: -20px;
        left: auto;
        right: auto;
        bottom: auto;
        margin: auto;
        transform: translateY(-50%);
    }
    .liste-circuit .demo-wrapper .owl-theme .owl-controls .owl-buttons .owl-next,
    .liste-circuit .demo-wrapper .owl-theme .owl-controls .owl-buttons .owl-prev {
    }
    .liste-circuit .demo-wrapper .owl-theme .owl-controls .owl-buttons .owl-prev {
        left: -30px;
    }
    .liste-circuit .demo-wrapper .owl-theme .owl-controls .owl-buttons .owl-next {
        right: -30px;
    }
}

/* DETAILS CIRCUIT */
.tour-slider.home-slider {
    max-height: 50vh;
}
#tour-slide .slide {
    min-height: auto;
}
.tour-slider .slider-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}
.tour-slider .slider-content h1 {
    color: #fff;
}

@media screen and (min-width: 480px) {
    .reviews-info > li {
        padding: 20px 35px;
    }
}
@media screen and (min-width: 768px) {
    .tour-slider.home-slider {
        max-height: 65vh;
    }
}

.reviews-info .price {
    margin-bottom: 0;
}
.trip-info .price strong {
    margin-top: 8px;
}
.reviews-info .separator {
    width: 1px;
    background-color: rgb(221, 221, 221);
}
.reviews-info .info-left {
    width: 100%;
}
.reviews-info .info-left.align-right {
    text-align: right;
    padding-right: 0;
}
.reviews-info > li:before {
    display: none;
}

h1.small-size {
    text-transform: uppercase;
}

.gallery-list.has-center a:hover:after {
    opacity: 0;
}

.itineraire-carte {
    overflow: hidden;
    margin-bottom: 20px;
}
.itineraire-carte img {
    transition: transform 0.2s linear;
}
.itineraire-carte:hover img {
    transform: scale(1.04);
}

/* Menu tabs */
@media only screen and (max-width: 992px) {
    .nav-tabs > li.long-text {
        width: 100%;
    }
}

/* Description tab */
.trip-detail .container .row {
    display: flex;
    flex-direction: column;
}
.trip-detail .sidebar-holder {
    padding: 30px 30px 20px;
    margin-bottom: 50px;
    background-color: var(--couleur-1);
    color: #fff;
    border-radius: 5px;
}
.trip-detail .sidebar-holder:last-child {
    margin-bottom: 0;
}
.trip-detail .sidebar-holder.recherche {
    background-color: #f7f7f7;
    color: #131313;
}

.trip-detail .header-box {
    text-transform: uppercase;
    font-weight: bold;
    margin: 0;
    margin-bottom: 20px;
    padding: 0;
}
.trip-detail .header-box:hover {
    color: inherit;
}
.trip-detail .text-box {
    display: flex;
    padding: 0;
    box-shadow: none;
    border: none;
    margin: 0;
    margin-bottom: 20px;
}
.trip-detail .text-box:last-child {
    margin-bottom: 0;
}
.trip-detail .text-box:before {
    display: none;
}
.text-box .title {
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 20px;
}
.trip-detail .text-box i {
    font-size: 20px;
    margin-top: 6px;
    margin-right: 15px;
}
.trip-detail .text-box .holder {
    flex: 1;
}

.trip-detail .text-box .duree {
    display: flex;
    justify-content: space-between;
}
.trip-detail .text-box .duree span {
    font-size: 18px;
    font-weight: bold;
}
.trip-detail .text-box .content-list li {
    font-size: 18px;
    padding-left: 0;
    display: flex;
    justify-content: space-between;
}
.trip-detail .text-box .content-list li:before {
    display: none;
}
.trip-detail .text-box .content-list li .tarif {
    font-weight: bold;
}
.trip-detail .text-box .content-list li .participant {
    display: block;
    font-size: 12px;
    font-style: italic;
}

.trip-detail .box {
    margin-bottom: 50px;
}
.trip-detail .box:last-child {
    margin-bottom: 0;
}

@media only screen and (min-width: 992px) {
    .trip-detail .container .row {
        display: flex;
        flex-direction: row;
    }
    .trip-detail .sidebar {
        position: relative;
        top: -250px;
        margin-bottom: -250px;
    }

    .circuit__calendar {
        position: sticky;
        top: 94px;
        z-index: 1000;
    }
}

/* recherche circuit */
.trip-detail .trip-form {
    background: none;
    border: none;
    color: inherit;
    padding: 0;
}
.trip-detail .trip-form fieldset {
    display: flex;
    flex-direction: column;
}
.trip-detail .trip-form .holder {
    width: 100%;
    padding: 0;
    margin-bottom: 10px;
}
.trip-detail .trip-form .select-holder {
    margin-top: 0;
}
.trip-detail .trip-form .input-group.date input,
.trip-detail .trip-form .holder i,
.trip-detail .jcf-select.jcf-select-trip .jcf-select-text {
    color: #131313;
}
.trip-detail .trip-form .input-group.date,
.trip-detail .trip-form .jcf-select.jcf-select-trip,
.trip-detail .trip-form .input-group.date .input-group-addon {
    background-color: #fff;
    border: 1px solid #e0e0e0;
}

.trip-detail .resultats {
    margin-top: 40px;
}
.trip-detail .resultats > p {
    font-style: italic;
    font-weight: normal;
}
.trip-detail .resultats .recap {
    display: flex;
}
.trip-detail .resultats .recap p {
    margin-right: 20px;
}
.trip-detail .resultat {
    background-color: var(--couleur-1);
    color: #fff;
    padding: 10px;
    border-radius: 5px;
    text-align: center;
    margin-bottom: 10px;
}
.trip-detail .resultat a {
    background-color: var(--couleur-3);
    color: var(--couleur-1);
    font-weight: bold;
}
.trip-detail .resultat a:hover {
    background-color: #fff;
    color: var(--couleur-1);
}

/* Prochains départs */
.trip-detail table.table {
    table-layout: auto;
    min-width: 300px;
    border-collapse: unset;
}
.trip-detail .table-container .date-text {
    margin-bottom: 0;
}

/* autres circuits */
.recent-block .thumbnail {
    padding: 0 10px;
}
.recent-block .article .thumbnail .img-wrap {
    margin-bottom: 0;
}
.recent-block .thumbnail h3 {
    text-transform: uppercase;
    margin: 0;
    padding: 20px 0;
}

.recent-block .article footer {
    padding: 20px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.recent-block .article footer::after {
    display: none;
}

/* FOOTER  */
.footer-bottom {
    padding-bottom: 60px;
}
.social-wrap [class^='fa-'],
.social-wrap [class*=' fa-'] {
    font-size: 32px;
    margin-left: 1px;
    display: block;
}

@media only screen and (min-width: 480px) {
    .social-wrap [class^='fa-'],
    .social-wrap [class*=' fa-'] {
        font-size: 40px;
    }
}

@media only screen and (min-width: 768px) {
    .social-wrap [class^='fa-'],
    .social-wrap [class*=' fa-'] {
        font-size: 54px;
    }
    .footer-bottom {
        padding-bottom: 30px;
    }
}

/* CAROUSEL */
.owl-carousel .fa {
    font-size: 18px;
    line-height: 0;
}
.owl-theme .owl-controls .owl-buttons div {
    display: flex;
    justify-content: center;
    align-items: center;
}

/* FANCYBOX */
.fancybox-close,
.fancybox-prev span,
.fancybox-next span {
    display: flex;
    justify-content: center;
    align-items: center;
}

.fancybox-close:hover,
.fancybox-prev:hover span,
.fancybox-next:hover span {
    color: #fff;
}

/* NOS CIRCUITS */
.banner-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--couleur-1);
    opacity: 0.3;
}

/* NOS BATEAUX */
.content-block.content-sub .list-view .article {
    margin-top: 30px;
}

/* CONTACT */
.contact-info .browse-block .column {
    letter-spacing: 1px;
}

@media only screen and (min-width: 768px) {
    .contact-form {
        padding: 60px 50px 60px 50px;
    }
}

/* IMAGE TEXTE DROITE */
@media only screen and (max-width: 991px) {
    .featured-content .row .image {
        float: none !important;
    }
}

/* HOME SLIDER */
.home-slider {
    width: 100%;
    height: 100vh;
    max-height: 550px;
    overflow: hidden;
    position: relative;
}

.home-slider.owl-carousel.owl-theme.owl-loaded.owl-drag,
.home-slider .owl-stage-outer,
.home-slider .owl-stage,
.home-slider .owl-item,
.home-slider .item,
.home-slider .owl-item,
.home-slider .img-responsive {
    height: 100vh;
    max-height: 550px;
    object-fit: cover;
}

.home-slider .slide {
    width: 100%;
    height: 100%;
}

.home-slider .slide .img-wrapper {
    width: 100%;
    height: 100%;
}

.home-slider .slide .img-wrapper img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#home-slider .owl-buttons {
    position: absolute;
    bottom: 0;
    right: 0;
}

.home-slider .home-slider-content {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.home-slider-content h1 {
    color: #fff;
    font-size: 1.6em;
    max-width: 1170px;
    margin: auto;
    margin-bottom: 20px;
}
.home-slider-content .trip-form {
    margin-top: 0;
    background-color: var(--couleur-opacity);
}
.home-slider .banner-overlay {
    pointer-events: none;
    opacity: 0.15;
}

@media only screen and (max-width: 768px) {
    .home-slider-content h1 {
        max-width: 450px;
    }
}
@media only screen and (min-width: 991px) {
    .home-slider {
        height: 75vh;
        max-height: 75vh;
    }

    .home-slider.owl-carousel.owl-theme.owl-loaded.owl-drag,
    .home-slider .owl-stage-outer,
    .home-slider .owl-stage,
    .home-slider .owl-item,
    .home-slider .item,
    .home-slider .owl-item,
    .home-slider .img-responsive {
        height: 75vh;
        max-height: 75vh;
    }

    .home-slider-content h1 {
        color: #fff;
        font-size: 2.8em;
    }
}

/* FORM SLIDER ACCUEIL */
.home-slider .trip-form h5 {
    padding: 0 5px;
}
.home-slider .trip-form .select-holder {
    margin-top: 0;
}
.home-slider .trip-form label {
    margin-bottom: 2px;
}

.jcf-select i {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
}

.input-group.date {
    padding-left: 30px;
}
.input-group.date > i {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
}

.home-slider .btn.btn-trip {
    margin-top: 10px;
    padding: 5px 10px;
}

@media only screen and (min-width: 768px) {
    .home-slider .trip-form h5 {
        padding: 0 15px;
    }
}

@media only screen and (min-width: 992px) {
    .home-slider .trip-form h5 {
        padding: 0 30px;
    }
}

/* ACCUEIL TEXT TOP */
.accueil-text div.intro {
    margin-bottom: 0;
}

/* PHOTO FIXE AVEC TEXTE LONG */
.long-text-image {
    width: 100%;
    padding: 60px 15px;
}

@media only screen and (min-width: 991px) {
    .long-text-image {
        width: 100%;
        display: flex;
        padding: 0;
    }

    .long-text-image .image-wrapper,
    .long-text-image .text-wrapper {
        width: 50%;
        height: fit-content;
    }

    .long-text-image .image-wrapper {
        height: 100vh;
        right: 0;
        position: relative;
    }
    .long-text-image .image-wrapper img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .long-text-image .text-wrapper {
        padding: 100px;
    }

    .long-text-image.right {
        flex-direction: row-reverse;
    }
    .long-text-image.right .image-wrapper {
        left: 0;
    }
}

/* BLOG */
.blog .article .thumbnail {
    padding: 0;
}

.blog .blog-list .article.blog-article .thumbnail {
    box-shadow: 0 2px 2px rgba(1, 2, 2, 0.05);
}

.blog .blog-list.list-view .article.blog-article .description {
    padding: 20px;
}
/* BLOG POST */
.derniers-articles .img-wrap {
    overflow: hidden;
}
.derniers-articles .col {
    background-color: #fafafa;
    box-shadow: 0 2px 2px rgba(1, 2, 2, 0.1);
    margin-bottom: 20px;
}
.derniers-articles .des {
    padding: 10px;
}
.derniers-articles .title {
    padding: 10px 0;
    margin-bottom: 0;
}

.derniers-articles .col:hover img {
    transform: scale(1.05);
}
.derniers-articles a:hover {
    color: var(--couleur-3);
}

/* FOOTER */
.footer .social {
    display: flex;
}
.footer .social span {
    width: auto;
    font-size: 30px;
    margin-right: 15px;
    color: #e2e2e2;
    transition: color 0.2s linear;
}

.footer .social a:hover span {
    color: var(--couleur-3);
}

/* BOUTON RESERVATION FIXE */
#bt_resa_mobile {
    width: 100%;
    position: fixed;
    bottom: 0;
    z-index: 99;
}

/* PAGE RESERVATION */
.subtitle {
    text-transform: uppercase;
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 20px;
}

.resa-header {
    height: 100vh;
    max-height: 550px;
    position: relative;
}

.resa-header img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.resa-search {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding-right: 15px;
    padding-left: 15px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.resa-search .title {
    font-size: 1.6em;
    font-weight: bold;
    margin-bottom: 20px;
}

.resa-search form {
    width: 100%;
    margin: 0;
}
.resa-search form.trip-form {
    width: 100%;
    margin: 0;
    background-color: var(--couleur-2);
}
.resa-search form label {
    margin-bottom: 2px;
}
.resa-search form .select-holder {
    margin-top: 0;
}

@media only screen and (min-width: 992px) {
    .resa-search .title {
        font-size: 2.4em;
    }
    .resa-search form .holder {
        margin-top: 20px;
    }
}

.resa-results .pagination-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
}

.resa-results .pagination-wrap li a {
    width: auto;
    height: auto;
    padding: 5px 10px;
    border-radius: 3px;
}
.resa-results .jcf-select.jcf-select-trip {
    background-color: #fff;
    border: 1px solid #e0e0e0;
}
.resa-results .jcf-select.jcf-select-trip .jcf-select-text,
.resa-results .jcf-select i {
    color: #131313;
}

.resa-results article .btn {
    margin-top: 10px;
}

.resa-recap {
    background-color: var(--couleur-1);
    color: #fff;
    border-radius: 5px;
    padding: 30px;
    max-width: 500px;
    margin: auto;
}

.resa-recap .item {
    display: flex;
    justify-content: space-between;
}
.resa-recap span {
    font-weight: bold;
}
.resa-recap .btn.btn-default {
    border: none;
    margin-top: 10px;
}

/* Résa infos */
.resa-infos .form-holder {
    margin-bottom: 0;
}
.resa-infos .jcf-select.jcf-select-trip {
    height: 40px;
    background: transparent;
    border: 1px solid #dfdfdf;
}
.resa-infos .jcf-select.jcf-select-trip .jcf-select-text,
.resa-infos .jcf-select i {
    color: #131313;
}

.resa-infos table.table {
    table-layout: auto;
    min-width: 300px;
    border-collapse: unset;
}
.resa-infos .table-container .date-text {
    margin-bottom: 0;
}
.resa-infos .custom-checkbox {
    margin-bottom: 20px;
}
.resa-infos .btn-hold {
    padding-top: 0;
}

@media only screen and (max-width: 992px) {
    .resa-recap {
        margin-top: 30px;
    }
    .resa-infos .check-list {
        flex-direction: column;
    }
}
.resa-sup .box {
    margin-top: 50px;
}
.resa-sup .box:first-child {
    margin-top: 0;
}
.resa-sup .passager {
    padding: 10px 15px;
    margin-bottom: 20px;
    background: #fff;
    border-radius: 5px;
}
.resa-sup .passager strong {
    margin-bottom: 10px;
}
.resa-sup .passager .check-label {
    font-size: 12px;
}
.resa-sup .jcf-select.jcf-select-trip {
    height: 40px;
    background: #fff;
    border: 1px solid #dfdfdf;
}
.resa-sup .jcf-select.jcf-select-trip .jcf-select-text,
.resa-sup .jcf-select i {
    color: #131313;
}

.resa-sup .btn.btn-code {
    min-width: auto;
    width: 100%;
    padding: 7px;
}

@media only screen and (min-width: 768px) {
    .resa-sup .passager .row {
        display: flex;
        align-items: center;
    }
    .resa-sup .passager strong,
    .resa-sup .passager p {
        margin-bottom: 0;
    }
    .resa-sup .passager .check-label {
        font-size: 14px;
    }
}

/* Résa Paiement */
.resa-resume {
    padding: 30px 20px;
    border: 2px solid var(--couleur-1);
    border-radius: 5px;
    margin-bottom: 20px;
}

.resa-resume .item {
    margin-bottom: 15px;
}
.resa-resume .item:last-child {
    margin-bottom: 0;
}
.resa-resume .item:last-child span {
    display: block;
}
.resa-resume .item p {
    margin-bottom: 0;
}
.resa-resume .item span {
    font-weight: bold;
    font-size: 1.2em;
}
.resa-resume hr {
    border: 1px solid var(--couleur-1);
}

.resa-detail {
    padding: 30px 20px;
    background-color: var(--couleur-1);
    border-radius: 5px;
    color: #fff;
}
.resa-detail .item {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
}
.resa-detail .item:last-of-type {
    margin-bottom: 20px;
}
.resa-detail .item span {
    font-weight: bold;
    font-size: 1.2em;
}
.resa-detail .btn {
    border: none;
}

#wrapper {
    overflow: auto;
}
