.marina-title {
    text-align: center;
    margin: 0 0 30px;
}




.marina-main {
    --border-color: #666666;
}


.marina-main .vessel-tag {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    border-radius: 50%;
    border: 1px solid var(--border-color);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: bold;
}

.marina-main .vessel-box {
    width: 240px;
    max-width: 100%;
    position: relative;
    border-top: 1px solid var(--border-color);
    margin-top: 20px;
}

.marina-main .position-tag {
    position: absolute;
    right: 0;
    top: -26px;
    font-size: 16px;
    line-height: 1;
    font-weight: bold;
    pointer-events: none;
}

.marina-main .position-tag::before {
    content: "E";
}

.marina-main .position-tag::after {
    content: "W";
}

.marina-main .position-tag::before,
.marina-main .position-tag::after {
    display: block;
    height: 25px;
    line-height: 25px;
    text-align: center;
}

.marina-main .vessel-seat {
    height: 60px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.marina-main .vessel-seat .input {
    flex: 1;
    height: calc(100% - 10px);
    background-color: #fffcf9;
    transition: all ease-in 200ms;
    cursor: pointer;
    color: #333333;
    padding: 12px;
    font-size: 13px;
}

.marina-main .vessel-seat .input:hover {
    background-color: #ffe3c2;
}

/* .marina-main .vessel-seat .input.is-placeholder {
    background-color: #E6A23C !important;
    cursor: auto;
    transition: none;
}

.marina-main .vessel-seat .input.is-reserve {
    background-color: #67C23A !important;
    cursor: auto;
    transition: none;
}
 */

.marina-main .vessel-seat .input::before {
    content: "";
    width: 12px;
    height: 12px;
    border-radius: 50%;
    display: inline-block;
    margin-right: 8px;
    margin-bottom: 1px;
    vertical-align: middle;
}

.marina-main .vessel-seat .input.is-available::before {
    background-color: #67C23A;
}

.marina-main .vessel-seat .input.is-booked::before {
    background-color: #ff6e6e;
}

.marina-main .vessel-seat .input.is-booked {
    cursor: auto;
    transition: none;
    background-color: #fffcf9 !important;
}

.layout-isadmin-box .vessel-seat .input.is-booked {
    cursor: pointer;
    transition: background-color ease-in 200ms;
}

.layout-isadmin-box .vessel-seat .input.is-booked:hover {
    background-color: #ffe3c2 !important;
}


.marina-main .vessel-seat .has-name.is-booked{
    display: flex;
    padding-top: 6px;
    padding-bottom: 0;
    line-height: 1.3;
}
.marina-main .vessel-seat .has-name.is-booked::before{
    margin-top: 4px;
}


.marina-main .vessel-seat .number {
    font-size: 16px;
    font-weight: bold;
    width: 10px;
    flex: 0 0 10px;
    display: flex;
    justify-content: center;
    margin-top: 10px;
}


.marina-main .marina-header {
    display: flex;
    align-items: start;
    justify-content: center;
    position: relative;
    margin-bottom: 10px;
    gap: 0 60px;
    padding: 15px;
}

.marina-main .marina-header::before {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    height: 10px;
    width: 100%;
    border: 1px solid var(--border-color);
}

.marina-main .marina-header .vessel-tag {
    margin-top: 6px;
}

.marina-main .marina-header .vessel-box:last-child .position-tag {
    right: auto;
    left: 0;
}

.marina-main .marina-header .vessel-box:last-child .number {
    order: -1;
}

.marina-main .marina-center {
    display: flex;
    justify-content: center;
    gap: 40px;
    position: relative;
}

.marina-main .marina-left,
.marina-main .marina-right {
    padding: 0px 0px;
    flex: 1;
    width: 100px;
    position: relative;
}

.marina-main .marina-left {
    border-right: 1px solid var(--border-color);
}

.marina-main .marina-right {
    border-left: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
}

.marina-main .marina-right::after {
    content: "";
    border-bottom: 1px solid var(--border-color);
    position: absolute;
    left: -42px;
    bottom: -1px;
    width: 42px;
}

.marina-main .marina-left .vessel-box {
    margin-left: auto;
}

.marina-main .vessel-group {
    position: relative;
    padding: 0px 50px 0px;
}

.marina-main .vessel-bulkhead-line {
    height: 10px;
    width: 100%;
    border: 1px solid var(--border-color);
    position: relative;
    z-index: 2;
    margin: 0;
}

.marina-main .marina-left .vessel-bulkhead-line {
    border-right: none;
}

.marina-main .marina-right .vessel-bulkhead-line {
    border-left: none;
}


.marina-main .vessel-group .vessel-box {
    margin-top: 0;
}

.marina-main .vessel-group .vessel-box:first-child {
    border-top: none;
}

.marina-main .vessel-group .vessel-box:first-child .vessel-seat .number {
    margin-bottom: 10px;
}



.marina-main .vessel-group .vessel-tag {
    position: absolute;
    left: 10px;
    top: calc(50% - 15px);
    width: 30px;
    height: 30px;
}

.marina-main .marina-left .vessel-group .vessel-tag {
    left: auto;
    right: 10px;
}


.marina-main .vessel-group .position-tag {
    top: calc(50% - 22px);
}


.marina-main .marina-left .vessel-group .position-tag {
    left: -30px;
    right: auto;
}

.marina-main .marina-left .vessel-seat .number {
    margin-right: -30px;
}

.marina-main .marina-right .vessel-group .position-tag {
    left: -30px;
    right: auto;
}

.marina-main .marina-right .vessel-box {
    margin-left: 30px;
}

.marina-main .marina-right .vessel-seat .number {
    order: -1;
    margin-right: 0;
    margin-left: -30px;
    transform: translateX(-30px);
}


.marina-main .marina-center .vessel-seat {
    height: 55px;
}

.marina-main .bulkhead-text {
    text-align: center;
    font-weight: bold;
    font-size: 20px;
    padding: 15px;
}


.marina-main-a .marina-footer .vessel-group {
    margin-left: auto;
    width: 50%;
    display: flex;
    gap: 50px;
}

.marina-main-a .marina-footer .position-tag {
    right: -30px;
}

.marina-main-a .marina-footer .vessel-box {
    border-top: none;
}

.marina-main-b .marina-right::after {
    content: none;
}

.marina-main-b .marina-left {
    border-bottom: 1px solid var(--border-color);
}

.marina-main-b .bulkhead-text {
    width: 50%;
}

.marina-main-b .marina-footer .position-tag {
    right: auto;
    left: -30px;
    ;
}

.marina-main-b .marina-footer .vessel-box {
    margin-left: 30px;
}

.marina-main-b .marina-footer .vessel-seat .number {
    order: -1;
    margin-right: 0;
    margin-left: -30px;
    transform: translateX(-30px);
}

.marina-nav-header {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin: 0 0 30px;
}

.marina-nav-header>* {
    margin: 0;
}

.filter-date {
    text-align: center;
    margin-bottom: 30px;
}

.filter-date .el-date-editor {
    max-width: 100%;
}

.filter-date .filter-date-box {
    display: inline-block;
    position: relative;
    margin-top: 20px;
}

.filter-date .start-placeholder,
.filter-date .end-placeholder {
    position: absolute;
    z-index: 2;
    top: -24px;
    color: #a8a8a8;
    width: 50%;
    text-align: center;
    font-size: 14px;
}

.filter-date .start-placeholder {
    left: 0;
}

.filter-date .end-placeholder {
    left: 50%;
}



.el-dialog__header {
    border-bottom: none;
}

.mode-switch {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    justify-content: space-between;
}

.mode-switch .el-switch {
    margin-left: auto;
}

.mode-switch .el-date-editor {
    width: 270px;
    max-width: 50%;
}

.reserve-view-box {
    position: sticky;
    top: 0;
}

.reserve-view-box .fc-event-main-frame {
    cursor: pointer;
}

.form-application-details .el-form-item__label {
    font-weight: bold !important;
}

.form-application-details .el-form-item__content {
    font-size: 18px;
}
.Slip-Reservation-Form{
    max-width: 95vw;
}
.Slip-Reservation-Form .el-dialog__header {
    text-align: center;
}

.Slip-Reservation-Form .el-dialog__header .el-dialog__title {
    font-size: 26px;
    padding-top: 20px;
    display: block;
    font-family: var(--family2);
    font-weight: bold;
}

.Slip-Reservation-Form h4 {
    font-size: 18px;
    margin: 30px 0 20px;
}

.Slip-Reservation-Form h4:first-child {
    margin-top: 0;
}

.Slip-Reservation-Form .el-form-item__label {
    font-weight: bold;
}

.Slip-Reservation-Form .date-title .el-form-item__label {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
}

.Slip-Reservation-Form .date-title .el-form-item__label span {
    flex: 1;

}

.Slip-Reservation-Form .date-title .el-form-item__label span:last-child {
    text-align: center;
}
.Approvals-layout{
    margin: 80px 0;
}
.Approvals-layout .list-filter {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
}

.Approvals-layout .list-filter>div {
    flex: 1;
}

.Approvals-layout .list-filter .el-date-editor {
    flex: 0 0 290px;
}


@media (max-width: 1200px) {
    .Approvals-layout .list-filter {
        flex-wrap: wrap;
    }

    .Approvals-layout .list-filter>div {
        flex: 1 1 25% !important;
        width: auto;
    }
}

@media (max-width: 991px) {
    .Approvals-layout .list-filter>div {
        flex: 1 1 40% !important;
    }
}

@media (max-width: 450px) {
    .Approvals-layout .list-filter>div {
        flex: 1 1 100% !important;
    }
}


.vessel-cascader .el-cascader-menu {
    border-right: none;
}

.vessel-cascader .el-cascader-menu__wrap.el-scrollbar__wrap {
    height: auto;
    max-height: 50vh;
}


.left-menu-box {
    border-right: 1px solid #e3e3e3;
}

.left-menu.el-menu {
    margin: 0 -10px 0 0;
    padding: 0;
    list-style: none;
    border: none;
    width: auto;
}

.left-menu.el-menu li {
    list-style: none;
}

.left-menu.el-menu .el-menu-item {
    display: block;
    padding: 0px !important;
    background-color: transparent !important;
}

.left-menu.el-menu .el-menu-item a,
.left-menu.el-menu .el-menu-item span {
    display: block;
    padding: 10px 5px 10px 0;
    color: currentColor !important;
    transition: color ease-in 300ms;
    white-space: normal;
}

.left-menu.el-menu .el-menu-item .el-button {
    color: currentColor !important;
}

.left-menu.el-menu li a:hover,
.left-menu.el-menu .el-menu-item .el-button:hover,
.left-menu.el-menu .el-menu-item .router-link-active {
    text-decoration: none;
    color: var(--el-color-primary) !important;
}

.left-menu.el-menu .el-menu-item .el-button.is-disabled,
.left-menu.el-menu .el-menu-item .el-button.is-disabled:hover {
    color: #a8abb2 !important;
}




.left-menu.el-menu .el-sub-menu__title {
    padding-left: 0 !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    font-weight: bold;
}

.left-menu.el-menu .el-sub-menu__title:hover {
    background-color: transparent;
}

.left-menu.el-menu .el-menu-item,
.left-menu.el-menu .el-sub-menu__title,
.left-menu.el-menu .el-sub-menu .el-menu-item {
    height: auto;
    line-height: 1.4;
}


.Approvals-layout .info-text {
    max-width: 700px;
    text-align: center;
    margin: -10px auto 30px;
}

.Approvals-layout .top-text {
    text-align: center;
    word-break: break-word;
}

.Approvals-layout .status-info {
    display: flex;
    gap: 5px;
    align-items: center;
}

.Approvals-layout .status-info span::before {
    content: "";
    width: 10px;
    height: 10px;
    display: inline-block;
    border-radius: 50%;
    background-color: currentColor;
    margin-right: 5px;
}

.Approvals-layout .text-right {
    text-align: right;
}
.Slip-Reservation-view .el-dialog__header .el-dialog__title{
    text-align: left !important;
}


.el-icon{
    background-image: none !important;
}

#Body .el-button:not(.is-link){
    height: 50px;
    padding-left: 25px;
    padding-right: 25px;
    font-size: 1rem;
    font-family: var(--family2);
}
.el-button:not(.is-link).el-button--primary{
    background-color: #497aff;
    border-color: transparent;
}
.el-button:not(.is-link).el-button--primary:hover{
    background-color: #0437c2;
    border-color: transparent;
}

html:has(.el-popup-parent--hidden){
    overflow: hidden !important;
}
html:has(.el-popup-parent--hidden) .el-popup-parent--hidden{
    overflow: visible !important;
}

@media (max-width: 767px) {
    .filter-date .filter-date-box{
        display: block;
    }

    .marina-main .marina-header{
        gap: 0 16px;
    }
    .marina-main .marina-center{
        gap: 10px;
    }
    .marina-main .vessel-seat .input::before {
        width: 8px;
        height: 8px;
        margin-right: 3px;
    }
    .marina-main .vessel-seat .input{
        font-size: 12px;
        padding-left: 3px;
        padding-right: 3px;
        white-space: nowrap;
    }
    .marina-main-a .marina-footer .vessel-group{
        width: 85%;
    }
    .marina-main .vessel-group{
        padding: 0px 45px 0px;
    }
    .marina-main .marina-left .vessel-group .vessel-tag{
        right: 5px;
    }
    .marina-main .vessel-group .vessel-tag{
        left: 5px;
    }

}