

/* Document Settings
------------------------------------------------------------ */

body {
    font-family: 'Open Sans', sans-serif;
    min-width: 320px;
}
a {
    text-decoration: none;
}
a, button {
    transition: all 0.2s ease;
}

@media (max-width: 767px) {
    .bee-dialog.bee-has-close .bee-dialog-inner {
        margin: 0;
        border-radius: 0;
    }
}

/* Bootstrap Settings ------------------------------------------------------------ */

:root {
    --bs-secondary: #3399ff;
    --bs-secondary-rgb: 74,167,252;

    --bs-alert-primary-bg: #00487c;
    --bs-alert-primary-text: #FFD700; /* Contrasto migliorato */

    --bs-alert-info-bg: #3399ff;
    --bs-alert-info-text: #083D77;

    --bs-alert-warning-bg: #ff9800;
    --bs-alert-warning-text: #5D4037;

    --bs-alert-danger-bg: #f44336;
    --bs-alert-danger-text: #B71C1C;
}
.btn {
    border-radius: 10px;
    text-transform: uppercase;
}
.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #00487c;
    --bs-btn-border-color: #00487c;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #0b5ed7;
    --bs-btn-hover-border-color: #0a58ca;
    --bs-btn-focus-shadow-rgb: 49,132,253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #0a58ca;
    --bs-btn-active-border-color: #0a53be;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #00487c;
    --bs-btn-disabled-border-color: #00487c;
}
.btn-light {
    --bs-btn-color: #727272;
    --bs-btn-bg: transparent;
    --bs-btn-border-color: #727272;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #d3d4d5;
    --bs-btn-hover-border-color: #c6c7c8;
    --bs-btn-focus-shadow-rgb: 211,212,213;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #c6c7c8;
    --bs-btn-active-border-color: #babbbc;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #000;
    --bs-btn-disabled-bg: #727272;
    --bs-btn-disabled-border-color: #727272;
}
.form-control:focus {
    box-shadow: none !important
}
.alert {
    border-radius: 12px;
    padding: 20px 30px;
    border: none;
}
.alert p:last-child {
    margin: 0;
}
.alert-primary {
    --bs-alert-bg: #00487c;
    --bs-alert-color: #fff;
    --bs-alert-link-color: #fff;
}
.alert-success {
    --bs-alert-bg: #66cc6a;
    --bs-alert-color: #0d4411;
    --bs-alert-link-color: #0d4411;
}
.alert-info {
    --bs-alert-bg: #3399ff;
    --bs-alert-color: #00487c;
    --bs-alert-link-color: #00487c;
}
.alert-warning {
    --bs-alert-bg: #ffb74c;
    --bs-alert-color: #573B33;
    --bs-alert-link-color: #573B33;
}
.alert-danger {
    --bs-alert-bg: #ff5050;
    --bs-alert-color: #600F0F;
    --bs-alert-link-color: #600F0F;
}

.alert.alert-with-icon {
    position: relative;
    padding-left: 66px !important;
}
.alert.alert-with-icon .alert-icon {
    position: absolute;
    width: 36px;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
}
.alert.alert-with-icon-sm {
    position: relative;
    padding-left: 40px !important;
}
.alert.alert-with-icon-sm .alert-icon {
    position: absolute;
    width: 20px;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
}


/* Page Header
------------------------------------------------------------ */

body {
    padding-top: 80px;
}
.page-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background-color: #00487c;
    z-index: 600;
    transition: box-shadow .2s ease;
}
.page-header.bee-scrolled {
    box-shadow: 1px 2px 6px rgba(0,0,0,0.2);
}
.page-header .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 80px;
}
.page-header .brand {
    display: flex;
    margin: 20px 0;
    align-items: center;
}
.page-header nav {
    display: flex;
    align-items: center;
    height: 100%;
}
.page-header nav .item {
    display: flex;
    flex-direction: column;
    height: 100%;
    align-items: center;
    justify-content: center;
    position: relative;
    text-align: center;
    padding: 0 10px;
    color: #D5D5D5;
    margin: 0;
    border: none;
    background: transparent;
}
.page-header nav .dropdown {
    height: 100%;
}
html.no-touch .page-header nav .item:hover {
    background-color: rgba(255,255,255,0.1);
}
html.no-touch .page-header nav .item.show {
    color: #00487c;
    background-color: #FFF;
}

.page-header nav .item .icon {
    height: 28px;
    position: relative;
}
.page-header nav .item .icon .badge {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    top: -12px;
    right: -8px;
    background-color: #3399ff;
    width: 21px;
    height: 21px;
    border-radius: 50%;
    font: normal normal 600 14px/19px 'Open Sans';
    color: #FFFFFF;
    z-index: 20;
}
.page-header nav .item .label {
    display: none;
}
.page-header nav .item + .item:before {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 1px;
    height: 32px;
    background-color: #4AA7FF;
    opacity: .3;
    transition: opacity .2s ease;
}
html.no-touch .page-header nav:hover .item + .item:before {
    opacity: 0;
}

@media (min-width: 992px) {
    body {
        padding-top: 100px;
    }
    .page-header .container {
        height: 100px;
    }
    .page-header .brand img {
        width: 217px;
        height: 60px;
    }
    .page-header nav .item {
        padding-left: 20px;
        padding-right: 20px;
        min-width: 120px;
    }
    .page-header nav .item .label {
        display: block;
        font-size: 14px;
        line-height: 19px;
        margin-top: 5px;
    }
}


/* Booking Info
------------------------------------------------------------ */

.booking-info {
    padding-top: 35px;
    padding-bottom: 38px;
}
.booking-info .item {
    text-align: center;
    max-width: 250px;
    margin: auto;
}
.booking-info .item .icon {
    margin-bottom: 22px;
}
.booking-info .item .title {
    font: normal normal 700 16px/19px 'Raleway';
    color: #00487c;
    text-transform: uppercase;
}
.booking-info .item .description {
    font: normal normal 400 16px/22px 'Open Sans';
    color: #00487c;
}


/* Page Footer
------------------------------------------------------------ */

.page-footer .main {
    padding-top: 66px;
    padding-bottom: 53px;
    background: #EBEBEB;
    text-align: center;
}
.page-footer .main .brand {
    display: inline-block;
    margin-bottom: 46px;
}
.page-footer .main h4{
    font: normal normal 700 18px/21px 'Raleway';
    letter-spacing: 0;
    color: #053A6E;
    text-transform: uppercase;
}
.page-footer .main nav,
.page-footer .main p,
.page-footer .main a {
    text-align: center;
    font: normal normal 400 16px/29px 'Open Sans';
    color: #053A6E;
    margin: 0;
}
.page-footer .main a.map {
    font-weight: 700;
}
.page-footer .main nav a {
    text-decoration: underline;
}
html.no-touch .page-footer .main a:hover {
    color: #0a58ca;
}

.page-footer .network {
    padding-top: 50px;
    padding-bottom: 45px;
    background: #00487c;
}
.page-footer .network .partners {
    display: flex;
    align-items: center;
    justify-content: center;
}
.page-footer .network .payments {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #FFFFFF;
    border-radius: 16px;
    padding: 20px
}
.page-footer .network .partners img,
.page-footer .network .payments img {
    margin: 0 15px
}
.page-footer .network .social {
    display: flex;
    align-items: center;
    justify-content: center;
}
.page-footer .network .social a {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    margin: 0 5px;
    transition: opacity .2s ease;
}
html.no-touch .page-footer .network .social a:hover {
    opacity: .6;
}

.page-footer .copy {
    padding-top: 16px;
    padding-bottom: 18px;
    background: #00345a;
}
.page-footer .copy p,
.page-footer .copy a {
    text-align: center;
    font: normal normal 400 14px/19px 'Open Sans';
    color: #FFFFFF;
    margin: 0;
}
html.no-touch .page-footer .copy a:hover {
    border-bottom: 1px dotted #FFF;
}

@media (min-width: 992px) {
    .page-footer .main,
    .page-footer .main nav,
    .page-footer .main p,
    .page-footer .main a {
        text-align: left;
    }
    .page-footer .network .row {
        align-items: center;
    }
    .page-footer .network .partners {
        justify-content: flex-start;
    }
    .page-footer .network .social {
        justify-content: flex-end;
    }
}


/* Offcanvas
------------------------------------------------------------ */

.bee-offcanvas .bee-offcanvas-bar {
    background-color: #00487c;
    width: 90%
}
.bee-offcanvas .bee-offcanvas-bar .bee-offcanvas-content {
    padding: 70px 20px;
}

.bee-offcanvas .bee-offcanvas-bar .bee-offcanvas-content nav.main {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.bee-offcanvas .bee-offcanvas-bar .bee-offcanvas-content nav.main .item {
    font: normal normal 500 18px/22px 'Raleway';
    color: #FFFFFF;
    text-transform: uppercase;
    padding: 10px 20px;
    border-radius: 10px;
    border: none;
    background-color: transparent;
}
.bee-offcanvas .bee-offcanvas-bar .bee-offcanvas-content nav.main .item + .item {
    margin-top: 5px;
}
.bee-offcanvas .bee-offcanvas-bar .bee-offcanvas-content nav.main .item.highlight {
    background-color: #0D2F5A;
}
html.no-touch .bee-offcanvas .bee-offcanvas-bar .bee-offcanvas-content nav.main .item:hover {
    background-color: #142A46;
}
.bee-offcanvas .bee-offcanvas-bar .bee-offcanvas-content nav.main .item img {
    margin-right: 5px;
}

.bee-offcanvas .bee-offcanvas-bar .bee-offcanvas-content nav.language {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-top: 40px;
}
.bee-offcanvas .bee-offcanvas-bar .bee-offcanvas-content nav.language a {
    padding: 10px 20px;
    font: normal normal 400 14px/20px 'Open Sans';
    color: #D5D5D5;
}
html.no-touch .bee-offcanvas .bee-offcanvas-bar .bee-offcanvas-content nav.language a:hover {
    color: #FFF;
}
.bee-offcanvas .bee-offcanvas-bar .bee-offcanvas-content nav.language a img {
    margin-right: 10px;
}

@media (min-width: 576px) {
    .bee-offcanvas .bee-offcanvas-bar .bee-offcanvas-content {
        padding: 70px 40px;
    }
    .bee-offcanvas .bee-offcanvas-bar .bee-offcanvas-content nav.main .item {
        font: normal normal 500 24px/24px 'Raleway';
        padding: 15px 45px 15px 15px;
    }
}
@media (min-width: 992px) {
    .bee-offcanvas .bee-offcanvas-bar {
        width: 50%
    }
}
@media (min-width: 1400px) {
    .bee-offcanvas .bee-offcanvas-bar {
        width: 40%
    }
}


/* Search Focus
------------------------------------------------------------ */

.search-focus {
    padding-top: 54px;
    padding-bottom: 34px;
    background-image: url(../images/search-focus-bg.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
.search-focus .title {
    text-align: center;
    font: normal normal 700 30px/36px 'Raleway';
    color: #FFFFFF;
    text-transform: uppercase;
}
.search-focus .subtitle {
    text-align: center;
    font: normal normal 700 20px/29px 'Raleway';
    letter-spacing: 0;
    color: #4CA6FF;
}
.search-focus .bar-container {
    position: relative;
    padding: 0;
}

.search-focus .bar-container.container-seasonal{
    max-width: 284px;
}

.search-focus .bar {
    background: rgba(255,255,255,0.68);
    padding: 20px;
    margin-top: 50px;
}
.search-focus .bar .input {
    display: block;
    position: relative;
    background-color: #FFF;
    border-radius: 10px;
    height: 60px;
    flex: 1 1 auto;
    margin-bottom: 10px;
    padding: 20px 60px 20px 15px;
    cursor: pointer;
    transition: box-shadow .2s ease;
    font: normal normal 400 14px/20px 'Open Sans';
    color: #727272;
}
html.no-touch .search-focus .bar .input:hover {
    box-shadow: 1px 2px 6px rgba(0,0,0,0.15);
}
.search-focus .bar .input:after {
    content: '';
    position: absolute;
    width: 28px;
    height: 28px;
    right: 20px;
    top: 16px;
    background-image: url(../images/icon-calendar.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}
.search-focus .bar .input strong {
    color: #053A6E;
}
.search-focus .bar .btn {
    font: normal normal 700 18px/21px 'Raleway';
    display: block;
    width: 100%;
    height: 60px;
}

.search-focus .bar-container .datepicker {
    display: none;
}
.search-focus .bar-container .datepicker.show {
    display: block;
    position: fixed;
    top: 120px;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 600;
}

@media (min-width: 992px) {
    .search-focus {
        padding-top: 170px;
        padding-bottom: 120px;
    }
    .search-focus .subtitle {
        font: normal normal 700 24px/29px 'Raleway';
    }
    .search-focus .bar {
        border-radius: 16px;
        display: flex;
        align-items: center;
    }
    .search-focus .bar .input {
        margin-right: 18px;
        margin-bottom: 0;
        padding: 20px 70px 20px 25px;
    }
    .search-focus .bar .btn {
        max-width: 244px;
    }
    .search-focus .bar-container .datepicker.show {
        width: 80%;
        max-width: 800px;
        position: absolute;
        top: 100%;
        left: initial;
        bottom: initial;
        margin-top: 20px;
    }
}
@media (min-width: 1200px) {
    .search-focus .bar .input {
        font: normal normal 400 16px/20px 'Open Sans';
    }
}


/* Box
------------------------------------------------------------ */

.box {
    background: #FFFFFF 0 0 no-repeat padding-box;
    box-shadow: 0 3px 6px #00000029;
    border-radius: 16px;
    padding: 10px;
    /* overflow: hidden; */
}

@media (min-width: 576px) {
    .box {
        padding: 25px
    }
}


/* Sidebar Menu
------------------------------------------------------------ */

.sidebar-menu {
    box-shadow: none;
}

.sidebar-menu h3 {
    font: normal normal 700 18px/22px 'Raleway';
    color: #00487c;
    text-transform: uppercase;
}

.sidebar-menu nav {
    margin-top: 30px;
}
.sidebar-menu nav .item {
    display: block;
    margin: 0;
    font: normal normal 400 18px/28px 'Open Sans';
    color: #727272;
    padding: 0;
    border: none;
    background-color: transparent;
}
html.no-touch .sidebar-menu nav .item:hover {
    color: #00487c;
}


/* Account
------------------------------------------------------------ */

.account {
    background-color: #E8E8E8;
    padding-top: 23px;
    padding-bottom: 69px;
}
.account .sign-alert {
    max-width: 800px;
    margin: 0 auto 40px;
}
.box-account {
    background-color: #FFF;
    display: flex;
    flex-direction: column;
    margin: auto;
}
.account .box-account {
    padding: 15px;
    border-radius: 16px;
}
.box-account .content {
    flex: 1 1 auto;
}
.box-account .content .title {
    font: normal normal 700 20px/29px 'Raleway';
    color: #3399ff;
    margin: 0;
}
.box-account .content .subtitle {
    font: normal normal 700 18px/29px 'Raleway';
    color: #00487c;
    text-transform: uppercase;
    margin: 15px 0 0;
}
.box-account .content .controls {
    margin-top: 21px;
    margin-bottom: 27px;
}
.box-account .content .controls .control {
    position: relative;
}
.box-account .content .controls .form-control {
    padding: 17px 15px;
}
.box-account .content .controls .select2-selection {
    padding: 17px 15px;
    min-height: 60px;
}
.box-account .content .controls label {
    margin: 14px 0 6px;
    font: normal normal 400 14px/19px 'Open Sans';
    color: #737373;
}
.box-account .content .controls label .required {
    color: #FC0D1B
}
.box-account .content .link {
    text-decoration: underline;
    font: normal normal 700 14px/22px 'Open Sans';
    color: #00487c;
}
html.no-touch .box-account .content .link:hover {
    color: #0a58ca;
}
.box-account .content .text {
    font: normal normal 400 14px/24px 'Open Sans';
    color: #727272;
    margin: 24px 0 0;
}
.box-account .content .required-info {
    margin: 20px 0 0;
    font: normal normal 400 16px/22px 'Open Sans';
    color: #FC0D1B;
    text-align: right;
}
.box-account .foot {
    text-align: right;
    margin-top: 40px;
}
.box-account .foot .btn {
    display: block;
    width: 100%;
    font: normal normal 700 18px/21px 'Raleway';
    color: #FFFFFF;
    text-transform: uppercase;
    padding: 18px;
    min-width: 260px;
}

@media (min-width: 576px) {
    .account .box-account {
        padding: 40px 60px;
    }
    .box-account .content .title {
        font: normal normal 700 24px/29px 'Raleway';
    }
    .box-account .content .subtitle {
        font: normal normal 700 24px/29px 'Raleway';
    }
    .box-account .content .link {
        font: normal normal 700 16px/22px 'Open Sans';
    }
    .box-account .content .text {
        font: normal normal 400 18px/24px 'Open Sans';
    }
    .box-account .foot .btn {
        display: inline-block;
        width: auto;
    }
}
@media (min-width: 992px) {
    .account {
        padding-top: 50px;
        padding-bottom: 88px;
    }
    .box-account {
        margin: auto;
    }
    .account .box-account {
        padding: 30px;
        max-width: 560px;
        min-height: 450px;
    }
    .account-dialog .bee-dialog-inner {
        padding: 30px;
    }
    .box-account.box-account-big {
        max-width: 790px;
        min-height: 1px;
    }
    .dashboard .box-account.box-account-big {
        max-width: 100%;
    }
    .box-account .content .title {
        font: normal normal 700 20px/29px 'Raleway';
    }
    .box-account .content .subtitle {
        font: normal normal 700 20px/29px 'Raleway';
    }
}
@media (min-width: 1200px) {
    .account .box-account {
        padding: 40px 60px;
    }
    .box-account .content .title {
        font: normal normal 700 24px/29px 'Raleway';
    }
    .box-account .content .subtitle {
        font: normal normal 700 24px/29px 'Raleway';
    }
}


/* Booking Resume
------------------------------------------------------------ */

.booking-resume {
    background: #E8E8E8;
    padding-top: 16px;
    padding-bottom: 69px;
}

/* Toolbar */
.booking-resume .toolbar  {
    margin-bottom: 20px;
}
.booking-resume .toolbar-end  {
    margin-top: 20px;
}
.booking-resume .toolbar .btn,
.booking-resume .toolbar-end .btn {
    display: block;
    font: normal normal 700 18px/21px 'Raleway';
    color: #727272;
    text-transform: uppercase;
    padding: 18px;
    text-align: left;
}

/* Search query */
.booking-resume .search-query {
    margin-top: 13px;
    color: #737373;
}

/* Booking */
.booking-resume .booking {
    background: #FFF;
    padding: 0;
}
.booking-resume .booking + .booking {
    margin-top: 20px;
}

.booking-resume .booking .head,
.booking-resume .booking .reservation-detail {
    padding: 25px 10px;
}
.booking-resume .booking .head .title {
    font: normal normal 700 18px/22px 'Raleway';
    color: #053A6E;
    margin: 0;
}
.booking-resume .booking .head .subtitle {
    font-weight: normal;
}
.booking-resume .booking .equipment {
    padding: 25px 10px;
    border-top: 2px solid #CCCCCC;
}
.booking-resume .booking .owner {
    padding: 25px 10px;
    border-top: 2px solid #CCCCCC;
}
.booking-resume .booking .owner .title {
    font: normal normal 700 24px/29px 'Raleway';
    color: #053A6E;
    margin: 0;
}
.booking-resume .booking .owner label {
    margin: 14px 0 6px;
    font: normal normal 400 14px/19px 'Open Sans';
    color: #737373;
}
.booking-resume .booking .owner label .required {
    color: #FC0D1B
}
.booking-resume .booking .owner .form-control {
    padding: 17px 15px;
}
.booking-resume .booking .owner .select2-selection {
    padding: 17px 15px;
    min-height: 60px;
}
.booking-resume .booking .owner .required-info {
    margin: 20px 0 0;
    font: normal normal 400 16px/22px 'Open Sans';
    color: #FC0D1B;
}
.booking-resume .booking .insurance {
    position: relative;
    padding: 20px 10px 25px;
    background: #3399ff;
}
.booking-resume .booking .insurance .icon {
    position: absolute;
    top: 20px;
    right: 10px;
}
.booking-resume .booking .insurance .title {
    font: normal normal 700 18px/23px 'Raleway';
    color: #FEFEFE;
    margin: 0;
    padding-right: 70px;
}
.booking-resume .booking .insurance .description {
    font: normal normal 600 16px/21px 'Raleway';
    color: #00487c;
    margin: 16px 0 0;
    padding-right: 70px;
}
.booking-resume .booking .insurance .link {
    text-decoration: underline;
    font: normal normal 700 15px/20px 'Open Sans';
    color: #FFFFFF;
    margin: 16px 0 0;
}
.booking-resume .booking .insurance .check {
    display: block;
    position: relative;
    background: #FFFFFF 0 0 no-repeat padding-box;
    border-radius: 10px;
    padding: 16px 13px 16px 50px;
    cursor: pointer;
    transition: box-shadow .2s ease;
    margin-top: 20px;
    font: normal normal 600 16px/22px 'Open Sans';
    color: #053A6E;
}
html.no-touch .booking-resume .booking .insurance .check:hover {
    box-shadow: 1px 2px 6px rgba(0,0,0,0.15);
}
.booking-free_ride .check {
    display: block;
    position: relative;
    background: #FFFFFF 0 0 no-repeat padding-box;
    border-radius: 10px;
    padding: 16px 13px 16px 50px;
    cursor: pointer;
    transition: box-shadow .2s ease;
    margin-top: 20px;
    margin-left: -10px;
    font: normal normal 600 16px/22px 'Open Sans';
    color: #053A6E;
}
.booking-free_ride .check input[type=checkbox],
.booking-resume .booking .insurance .check input[type=checkbox] {
    display: none;
}
.booking-free_ride .check span.checkbox,
.booking-resume .booking .insurance .check span.checkbox {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 10px;
    border: 1px solid #A2A1A1;
    display: block;
    width: 27px;
    height: 27px;
    border-radius: 8px;
}
.booking-free_ride .check input[type=checkbox]:checked + span.checkbox,
.booking-resume .booking .insurance .check input[type=checkbox]:checked + span.checkbox {
    border-color: #053A6E;
    background-color: #053A6E;
    background-image: url(../images/icon-check.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 60%;
}
html.no-touch .booking-resume .booking .insurance .check:hover span.checkbox {
    border: 1px solid #053A6E;
}

/* Resume */
.booking-resume .resume {
    padding: 0;
}
.booking-resume .resume .head {
    padding: 25px 10px;
}
.booking-resume .resume .head .title {
    font: normal normal 700 21px/26px 'Raleway';
    color: #053A6E;
    margin: 0;
}
.booking-resume .resume .search-datepicker {
    display: flex;
    justify-content: flex-end;
    position: relative;
}
.booking-resume .resume .search-datepicker .datepicker {
    display: none;
}
.booking-resume .resume .search-datepicker .datepicker.show {
    display: block;
    position: fixed;
    top: 120px;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 600;
}
.booking-resume .resume .promo {
    padding: 25px 10px;
    border-top: 2px solid #CCCCCC;
}
.booking-resume .resume .promo p {
    font: normal normal 600 14px/22px 'Open Sans';
    color: #053A6E;
    margin: 0
}
.booking-resume .resume .promo .input {
    position: relative;
    margin-top: 15px;
    display: flex;
    align-items: center;
}
.booking-resume .resume .promo .input input {
    flex: 1 1 auto;
    padding: 17px 15px;
}
.booking-resume .resume .promo .input .btn {
    flex: 0 0 auto;
    margin-left: 9px;
    width: 67px;
    height: 60px;
    font: normal normal 700 18px/21px 'Raleway';
    text-transform: uppercase;
    padding: 18px;
}
.booking-resume .resume .main {
    padding: 25px 10px;
}
.booking-resume .resume .main .thing {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.booking-resume .resume .main .thing + .thing {
    border-top: 1px solid #CCCCCC;
    margin-top: 18px;
    padding-top: 18px;
}
.booking-resume .resume .main .thing .label {
    font: normal normal 700 16px/18px 'Raleway';
    color: #053A6E;
}
.booking-resume .resume .main .thing .value {
    font: normal normal 700 16px/18px 'Raleway';
    color: #053A6E;
}
.booking-resume .resume .main .thing .value span {
    font: normal normal 400 16px/18px 'Raleway';
}
.booking-resume .resume .main .thing.total .label {
    font: normal normal 700 21px/25px 'Raleway';
    color: #053A6E;
    text-transform: uppercase;
}
.booking-resume .resume .main .thing.total .value {
    font: normal normal 700 35px/31px 'Raleway';
}
.booking-resume .resume .main .thing.total .value span {
    font: normal normal 400 26px/31px 'Raleway';
}
.booking-resume .resume .main .thing.thing-controls {
    display: flex;
    flex-direction: column;
}
.booking-resume .resume .main .thing.thing-controls .btn {
    display: block;
    width: 100%;
}
.booking-resume .resume .main .thing.thing-controls .booking-resume-edit,
.booking-resume .resume .main .thing.thing-controls .booking-resume-total {
    width: 100%;
}
.booking-resume .resume .main .thing.thing-controls .booking-resume-edit {
    margin-bottom: 10px;
}
.booking-resume .resume .foot {
    padding: 25px 10px;
}
.booking-resume .resume .foot .alert {
    font-size: 14px;
    padding: 15px;
    line-height: 1.2;
}
.booking-resume .resume .foot .btn {
    font: normal normal 700 18px/21px 'Raleway';
    text-transform: uppercase;
    display: block;
    width: 100%;
    padding: 18px 10px;
}

/* Resume total */
.booking-resume-total {
    background: #CCCCCC;
    align-items: baseline;
    display: inline-flex;
    font: normal normal 700 24px/29px 'Raleway';
    color: #004b80;
    text-transform: uppercase;
    padding: 10px 15px;
    border-radius: 8px;
    width: 100%;
    justify-content: flex-end;
}
.booking-resume-total .label{
    font-size: 20px;
    padding: 0 5px;
}
.booking-resume-total .value{
    font-size: 24px;
    padding: 0 5px;
}

/* Payment buttons */
.payment-buttons {
    padding: 0 35px 30px;
}
.payment-buttons.bordered {
    padding-top: 30px;
}

/* Reservation detail */
.reservation-detail {
    margin: 30px 0;
}


.reservation-detail h4 {
    font: normal normal 700 21px / 25px 'Raleway';
    color: #053A6E;
    margin-bottom: 15px;
}
.reservation-detail-data {
    margin: 0;
    list-style: none;
    display: flex;
    align-items: center;
    padding: 0 0 15px;
    border-bottom: 1px solid #CCCCCC;
}
.reservation-detail-data li {
    padding-right: 15px;
    font: normal normal 700 14px / 20px 'Raleway';
    color: #727272;
}
.reservation-detail-data li strong {
    color: #053A6E;
}
.reservation-details .resume .main{
    padding-left: 0 !important;
    padding-right: 0 !important;
}

@media (max-width: 991px) {
    .booking-resume .booking .equipment .cart {
        margin-top: 25px;
        display: flex;
        align-items: end;
        justify-content: flex-end;
    }
    .booking-resume .booking .equipment .remove {
        margin-left: 25px;
        margin-top: 0;
    }
    .booking-resume .resume .main .thing.thing-file {
        flex-direction: column;
    }
    .booking-resume .resume .main .thing.thing-file .value  {
        margin-top: 10px;
    }
    .booking-resume .resume .main .thing.thing-file .value span {
        display: block;
        margin: 0 0 15px;
        text-align: center;
    }
    .booking-resume .resume .main .thing.thing-file .value .btn.ms-2 {
        margin-left: 0 !important;
    }

}
@media (min-width: 992px) {
    .booking-resume {
        padding-top: 50px;
        padding-bottom: 88px;
    }
    .booking-resume .toolbar-end {
        text-align: right;
    }
    .booking-resume .toolbar .btn,
    .booking-resume .toolbar-end .btn {
        display: inline-block;
    }
    .booking-resume .booking .head,
    .booking-resume .booking .reservation-detail,
    .booking-resume .booking .equipment,
    .booking-resume .booking .owner{
        padding: 30px 35px;
    }
    .booking-resume .booking .head .title {
        font: normal normal 700 24px/29px 'Raleway';
        color: #053A6E;
        margin: 0;
    }
    .booking-resume .booking .head .search-query {
        font: normal normal 400 16px/24px 'Raleway';
    }
    .booking-resume .booking .equipment .cart {
        flex: 0 0 140px;
    }
    .booking-resume .booking .owner .title {
        margin: 0 0 20px;
    }
    .booking-resume .booking .insurance {
        padding: 30px 120px 30px 35px;
    }
    .booking-resume .booking .insurance .icon {
        width: 98px;
        height: auto;
    }
    .booking-resume .booking .insurance .title {
        font: normal normal 700 26px/31px 'Raleway';
        padding-right: 0;
    }
    .booking-resume .booking .insurance .description {
        font: normal normal 600 20px/26px 'Raleway';
        padding-right: 0;
        margin-top: 10px;
    }
    .booking-resume .booking .insurance .link {
        margin-top: 19px;
    }
    .booking-resume .booking .insurance .check {
        display: inline-block;
        margin-top: 10px;
    }
    .booking-resume .resume .head,
    .booking-resume .resume .promo,
    .booking-resume .resume .main,
    .booking-resume .resume .foot {
        padding: 25px;
    }
    .booking-resume .resume .search-datepicker .datepicker.show {
        display: block;
        position: absolute;
        top: 60px;
        left: initial;
        right: 0;
        bottom: initial;
        width: 650px;
        z-index: 600;
    }
    .booking-resume .resume .main .thing .label {
        font: normal normal 700 21px/25px 'Raleway';
        color: #053A6E;
    }
    .booking-resume .resume .main .thing .value {
        font: normal normal 700 28px/26px 'Raleway';
        color: #053A6E;
    }
    .booking-resume .resume .main .thing .value span {
        font: normal normal 400 22px/26px 'Raleway';
    }
    .booking-resume .resume .main .thing.thing-controls {
        flex-direction: row;
        justify-content: space-between;
    }
    .booking-resume .resume .main .thing.thing-controls .btn {
        display: inline-block;
        width: auto;
    }
    .booking-resume .resume .main .thing.thing-controls .booking-resume-edit,
    .booking-resume .resume .main .thing.thing-controls .booking-resume-total {
        width: auto;
    }
    .booking-resume .resume .main .thing.thing-controls .booking-resume-edit {
        margin-bottom: 0;
        margin-right: 10px;
    }
    .booking-resume-total {
        width: auto;
        justify-content: flex-end;
    }
}
@media (min-width: 1200px) {
    .booking-resume .booking .head .search-query {
        font: normal normal 400 20px/24px 'Raleway';
    }
}
@media (min-width: 1400px) {
    .booking-resume .resume .head .title {
        font: normal normal 700 24px/29px 'Raleway';
    }
    .booking-resume .resume .promo p {
        font: normal normal 600 16px/22px 'Open Sans';
    }
}


/* Responsive Tables
------------------------------------------------------------ */

.table-responsive-container {
    border-radius: 16px;
    padding-bottom: 50px;
    background: #FFFFFF;
    /*overflow: hidden;*/
    min-height: 400px;
}
.table-reservations.large-only { display: table; }
.table-reservations.small-only { display: none; }
.table-reservations {
    border-collapse: collapse;
    width: 100%;
}
.table-reservations td{
    padding: 10px 15px;
    background: #FFFFFF;
    border-bottom: 1px solid #DEDEDE;
}
.table-reservations tr.heading-table td{
    background: #004b80;
    color: #FFFFFF;
    text-align: center;
    text-transform: uppercase;
    font-weight: 600;
}
.table-reservations tr.heading-table th a,
.table-reservations tr.heading-table td a,
.table-reservations .st-key a{
    color: #FFFFFF;
}
.table-reservations tr.heading-table td a:hover {
    color: #FFFFFF;
}
.table-reservations.small-only .st-key {
    background: #004b80;
    color: #FFFFFF;
    text-align: left;
    border-bottom: 1px solid #DEDEDE;
}
.table-reservations.small-only .st-val {
    text-align: center !important;
}
.table-reservations.small-only .st-head-row{
    color: #FFFFFF;
}
.table-reservations td.label-info {
    background-color: #c2e0fa;
    color: #004b80;
}
.table-reservations td.label-warning {
    background-color: #ffe47b;
    color: #004b80;
}
.table-reservations td.label-danger {
    background-color: #f78d97;
    color: #004b80;
}
.table-reservations td.label-success {
    background-color: #a4ed9b;
    color: #004b80;
}

.table-refundable.large-only { display: table; }
.table-refundable.small-only { display: none; }
.table-refundable {
    border-collapse: collapse;
    width: 100%;
}
.table-refundable td{
    padding: 10px 15px;
    background: #FFFFFF;
    border-bottom: 1px solid #DEDEDE;
    color: #053A6E;
    font-weight: bold;
    font-size: 23px;
}
.table-refundable td.price .value{
    margin: 9px 0 0;
    font: normal normal 700 29px/32px 'Raleway';
    color: #053A6E;
}
.table-refundable td.price .value span{
    font: normal normal 400 23px / 31px 'Raleway';
}
.table-refundable tr.heading-table td{
    background: #FFFFFF;
    color: #727272;
    text-align: center;
    font-weight: 400;
    text-wrap: wrap;
    font-size: 16px;
}
.table-refundable tr.heading-table td a:hover {
    color: #FFFFFF;
}
.table-refundable.small-only .st-key {
    background: #FFFFFF;
    color: #727272;
    text-align: left;
    font-size: 16px;
    border-bottom: 1px solid #DEDEDE;
}
.table-refundable.large-only .small-only-label {
    display: none;
}
.table-refundable.small-only .small-only-label {
    display: block;
}
.table-refundable.small-only .st-val {
    text-align: center !important;
}
.table-refundable.small-only .st-head-row{
    color: #FFFFFF;
}

@media (max-width: 800px) {
    .table-reservations.large-only { display: none; }
    .table-reservations.small-only { display: table; }
    .table-refundable.large-only { display: none; }
    .table-refundable.small-only { display: table; }

    .table-reservations .st-head-row-main { display: none;}
    .table-reservations .st-head-row {
        padding-top: 10px;
        padding-bottom: 10px;
        background: #004b80;
        text-align: center;
    }

    .table-refundable .st-head-row-main { display: none;}
    .table-refundable .st-head-row {
        padding-top: 10px;
        padding-bottom: 10px;
        background: #FFFFFF;
        text-align: center;
    }
}


/* Cart Resume
------------------------------------------------------------ */

.accordion-cart-resume {
    margin-bottom: 30px;
    border-bottom: 1px solid #CCCCCC;
}
.accordion-cart-resume .accordion-item{
    border: none;
    border-top: 1px solid #CCCCCC;
}
.accordion-cart-resume .accordion-item:first-child{
    border-top: none;
}
.accordion-cart-resume .accordion-item:first-of-type>.accordion-header .accordion-button,
.accordion-cart-resume .accordion-item:last-of-type>.accordion-header .accordion-button.collapsed
{
    border-radius: 0 !important;
}
.accordion-cart-resume .accordion-button:focus {
    box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
}
.accordion-cart-resume .accordion-button:not(.collapsed) {
    background: #FFFFFF;
}
.accordion-cart-resume .accordion-button {
    padding: 15px 0;
    justify-content: space-between;
}
.accordion-cart-resume .accordion-button .cart-resume-item {
    width: 100%;
    display: block;
}
.accordion-cart-resume .accordion-button .thing{
    width: calc(100% - 40px);
}
.accordion-cart-resume .accordion-button .thing .label{
    font-size: 18px !important;
}
.accordion-cart-resume .accordion-button .thing .value{
    font-size: 22px !important;
}
.accordion-cart-resume .accordion-button:after {
    margin-left: 0;
    border-radius: 100%;
    border: 1px solid #CCCCCC;
    width: 25px;
    height: 25px;
    background-position: center;
    background-size: 15px 15px;
}
.accordion-cart-resume .accordion-body {
    padding: 15px 0;
}

.cart-resume-acceptance-detail {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0 40px 0 0;
    list-style-type: none;
}
.cart-resume-acceptance-detail li{
    color: #727272;
    font-size: 16px;
    display: flex;
    font-weight: 700;
    justify-content: space-between;
    padding: 5px 0;
}
.cart-resume-acceptance-detail li .value {
    display: flex;
    justify-content: flex-end;
}
.cart-resume-acceptance-detail li .value .price-full{
    padding-right: 5px;
    margin-right: 5px;
    position: relative;
    font-size: 14px;
    border-right: 1px solid #727272;
}
.cart-resume-acceptance-detail li .value .price-full:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    right: 5px;
    border-top: 1px solid #727272;
}

.existing-acceptance {
    border-radius: 12px;
    margin-top: 36px;
    padding: 20px;
}
.existing-acceptance label {
    margin: 14px 0 6px;
    font: normal normal 400 14px / 19px 'Open Sans';
    color: #737373;
}
.existing-acceptance .form-control {
    padding: 17px 15px;
}
.existing-acceptance i {
    display: block;
    text-align: center;
    margin-top: 30px;

}


/* Misc
------------------------------------------------------------ */

.dropdown-toggle::after {
    display: none;
}
.active>.page-link, .page-link.active {
    background: #004b80;
}
.page-link {
    color: #004b80;
}
.payment-satispay {
    background: #ff3c00;
    display: block;
    text-align: center;
    border-radius: 8px;
}

.price-container {
    display: flex;
    width: 100%;
    justify-content: space-around;
}
.price-info{
    margin-top: 18px;
}
.price-info a {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #4AA7FC;
}
.price-info span {
    font-size: 0.8em;
}
.price-info i{
    font-size: 2em;
    background: url("/assets/main/images/price-info.svg") center center no-repeat transparent ;
    width: 25px;
    height: 25px;
    background-size: cover;
}

.rental-type-info{
    margin: 0;
}
.rental-type-info a {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #4AA7FC;
}
.rental-type-info i{
    background: url("/assets/main/images/price-info.svg") center center no-repeat transparent ;
    width: 18px;
    height: 18px;
    background-size: cover;
    margin-top: 2px;
}

.acceptance-input {
    position: relative;
}

.refundable-dialog .bee-dialog-inner {
    width: 98%;
    max-width: 800px;
}
.refundable-details {
    padding: 20px 15px;
}
.refundable-option {
    display: flex;
    width: 100%;
    background: #F2F2F2;
    border-radius: 16px;
    padding: 13px 15px;
    justify-content: space-between;
}

.refundable-option label{
    margin: 0 !important;
    font-family: 'Open Sans', sans-serif !important;
    font-size: 16px !important;
    color: #212529 !important;
}

.reservation-dropdown-info{
    padding: 8px 14px;
    color: #555;
    display: block;
    clear: both;
    line-height: 18px;
    font-size: 14px;
    border-bottom: 1px solid #ededed;
}

textarea[readonly] {
    background: #eee;
}

.season-closed-alert {
    background: #FFFFFF;
    border-radius: 16px;
    padding: 30px;
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 700px;
    margin: 30px auto;
}

.season-closed-alert svg {
    width: 15%;
    min-width: 100px;
}

.season-closed-alert div {
    padding: 0 30px;
    width: 80%;
    font: normal normal 400 16px / 22px 'Open Sans';
    color: #00487c;
    text-align: center;
}

.season-closed-alert div h2 {
    font: normal normal 700 23px / 26px 'Raleway';
    letter-spacing: 0;
    color: #053A6E;
}

.cart-resume-item .typology{
    color: #3399ff;
    text-transform: uppercase;
    font-size: 14px;
    font-family: 'Raleway', serif;
    font-weight: 600;
}

.cart-resume-item .typology:before {
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'><path d='M471.1 297.4C483.6 309.9 483.6 330.2 471.1 342.7L279.1 534.7C266.6 547.2 246.3 547.2 233.8 534.7C221.3 522.2 221.3 501.9 233.8 489.4L403.2 320L233.9 150.6C221.4 138.1 221.4 117.8 233.9 105.3C246.4 92.8 266.7 92.8 279.2 105.3L471.2 297.3z' fill='%233299ff'/></svg>") center center no-repeat transparent ;
    font-weight: bold;
    margin-left: -3px;
    margin-right: 5px;
}

.typology-description {
    background: #3399ff;
    color: #FFFF;
    padding: 5px 15px;
    border-radius: 8px;
    display: inline-block;
    text-transform: uppercase;
    font-size: 14px;
    margin-bottom: 15px;
}
