/* Author : Binh Nguyen */
.row-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

    .row-flex:before, .row-flex:after {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

.d-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
}

.d-inline-flex {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
}

.flex-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
    -ms-flex-direction: row !important;
    flex-direction: row !important;
}

.flex-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important;
}

.flex-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
    -ms-flex-direction: column !important;
    flex-direction: column !important;
}

.align-items-start {
    -ms-flex-align: start !important;
    align-items: flex-start !important;
}

.align-items-end {
    -ms-flex-align: end !important;
    align-items: flex-end !important;
}

.align-items-center {
    -webkit-box-align: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
}

.align-items-baseline {
    -ms-flex-align: baseline !important;
    align-items: baseline !important;
}

.align-items-stretch {
    -ms-flex-align: stretch !important;
    align-items: stretch !important;
}

.justify-content-start {
    -ms-flex-pack: start !important;
    justify-content: flex-start !important;
}

.justify-content-end {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important;
}

.align-self-center {
    -ms-flex-item-align: center !important;
    align-self: center !important;
}

.justify-content-between {
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
}

.justify-content-around {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important;
}

.flex-fill {
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
}

.flex-shrink-1 {
    /*-ms-flex-negative: 1 !important;
	*/
    flex-shrink: 1 !important;
}

@media (min-width: 480px) {
    .d-xs-flex {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
    }
}

@media (min-width: 768px) {
    .d-sm-flex {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
    }
}

@media (min-width: 992px) {
    .d-md-flex {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
    }
}

@media (min-width: 1200px) {
    .d-lg-flex {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
    }
}

@media (min-width: 1200px) {
    .flex-lg-fill {
        -ms-flex: 1 1 auto !important;
        flex: 1 1 auto !important;
    }
}

@media (min-width: 480px) {
    .flex-xs-fill {
        -ms-flex: 1 1 auto !important;
        flex: 1 1 auto !important;
    }
}

@media (min-width: 768px) {
    .flex-sm-fill {
        -ms-flex: 1 1 auto !important;
        flex: 1 1 auto !important;
    }
}

@media (min-width: 992px) {
    .flex-md-fill {
        -ms-flex: 1 1 auto !important;
        flex: 1 1 auto !important;
    }
}






.seat-container {
    padding: 10px 15px 5px;
    border-radius: 3px;
    box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.15);
    background-color: #ffffff;
    font-size: 14px;
    color: #000000;
    display: flow-root;
    flex-direction: column;
}

@media only screen and (max-width: 991px) {
    .seat-container {
        margin-bottom: 70px;
    }
}

.seat-container.no-seat {
    position: relative;
    padding: 0;
    background-color: #f2f2f2;
    opacity: 0.3;
    text-align: center;
    min-height: 230px;
}

    .seat-container.no-seat img {
        margin-bottom: 15px;
    }

@media only screen and (max-width: 991px) {
    .seat-container.no-seat {
        background-color: transparent;
        box-shadow: none;
        opacity: 1;
        color: #828282;
        margin-top: 60px;
    }
}

.seat-container.no-seat .vertical-align {
    position: absolute;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
}

@media only screen and (min-width: 480px) {
    .seat-container {
        padding: 15px;
    }
}

.seat-container h4 {
    font-size: 18px;
    color: #333333;
}

.seat-container .info {
    font-size: 14px;
    font-weight: 300;
    margin-bottom: 5px;
}

@media only screen and (min-width: 480px) {
    .seat-container .info {
        margin-bottom: 20px;
    }
}

.seat-container .info-passenger {
    padding: 5px 0;
    height: 38px;
}

    .seat-container .info-passenger.isSelect {
        margin-bottom: 5px;
        padding: 5px;
        box-shadow: 0px 2px 10px 1px #bdbdbd;
    }

.seat-container .info .title {
    cursor: pointer;
    -webkit-touch-callout: none;
    /* iOS Safari */
    -webkit-user-select: none;
    /* Safari */
    -moz-user-select: none;
    /* Old versions of Firefox */
    -ms-user-select: none;
    /* Internet Explorer/Edge */
    user-select: none;
    /* Non-prefixed version, currently
   supported by Chrome, Edge, Opera and Firefox */
}

.seat-container .info .selectSeat {
    min-width: 40px;
    text-align: center;
    border-radius: 2px;
    background-color: #003C71;
    color: white;
    padding: 3px 8px;
    display: inline-block;
    cursor: pointer;
}

.seat-container .info .selected {
    border-radius: 2px;
    background-color: #003C71;
    color: white;
    padding: 3px 8px;
    display: inline-block;
    cursor: pointer;
    -webkit-touch-callout: none;
    /* iOS Safari */
    -webkit-user-select: none;
    /* Safari */
    -moz-user-select: none;
    /* Old versions of Firefox */
    -ms-user-select: none;
    /* Internet Explorer/Edge */
    user-select: none;
    /* Non-prefixed version, currently
   supported by Chrome, Edge, Opera and Firefox */
}

.seat-container .info .unselected {
    text-align: center;
}

    .seat-container .info .unselected a {
        font-size: 14px;
        color: #2f80ed;
    }

        .seat-container .info .unselected a .fa {
            font-size: 18px;
        }

        .seat-container .info .unselected a:hover {
            font-weight: bold;
            text-decoration: none;
        }

.seat-container .fa.fa-check-circle {
    color: #26bed6;
    margin-right: 5px;
    font-size: 15px;
}

.seat-container .icon {
    font-size: 28px;
    /*font-size: 32px;*/
    display: inline-block;
    vertical-align: bottom;
}

    .seat-container .icon.ico-ivivu-ic_ongoing {
        font-size: 13px;
        margin-right: 7px;
    }

        .seat-container .icon.ico-ivivu-ic_ongoing:before {
            color: #26bed6;
        }

    .seat-container .icon.ico-ivivu-ic_ratio {
        font-size: 13px;
        margin-right: 7px;
    }

        .seat-container .icon.ico-ivivu-ic_ratio:before {
            color: #bdbdbd;
        }

.seat-container .map {
    padding: 0;
    padding-bottom: 15px;
}

@media only screen and (max-width: 768px) {
    .seat-container .map {
        overflow: scroll;
        height: 90vh;
    }
}

@media only screen and (min-width: 480px) {
    .seat-container .map {
        padding: 0 5px;
    }
}

.seat-container .map .header {
    font-size: 18px;
    font-weight: bold;
    color: #828282;
    margin-bottom: 15px;
    display: flex;
    justify-content: center;
}

    .seat-container .map .header h4 {
        margin: 0;
    }

.seat-container .map .footer {
    font-size: 18px;
    font-weight: bold;
    color: #828282;
    margin-top: 15px;
    display: flex;
    justify-content: center;
}

    .seat-container .map .footer h4 {
        margin: 0;
    }

.seat-container .map .body {
    overflow: auto;
    position: relative;
}

@media only screen and (min-width: 480px) {
    .seat-container .map .body {
        max-height: 500px;
        box-shadow: 0px 1px 6px 0px #ccc;
    }
}

.seat-container .map .body::-webkit-scrollbar {
    width: 5px;
}

.seat-container .map .body::-webkit-scrollbar-thumb {
    background: #a8a8a8;
    border-radius: 4px;
}

.seat-container .map .body .seat-block {
    display: flex;
    flex-direction: column;
    padding: 0 8px;
}

.seat-container .map .seat-row {
    text-align: center;
    font-size: 14px;
    font-weight: 100;
    padding-bottom: 17px;
}

    .seat-container .map .seat-row .seat-content {
        display: contents;
    }

    .seat-container .map .seat-row.seat-header {
        font-weight: 100;
        color: #828282;
        padding: 12px 8px 8px;
        position: sticky;
        position: -webkit-sticky;
        top: 0;
        z-index: 1;
        background: #fff;
    }

    .seat-container .map .seat-row .ico-ivivu-ic_chair1 {
        cursor: pointer;
    }

        .seat-container .map .seat-row .ico-ivivu-ic_chair1:before {
            color: #a0c245;
        }

    .seat-container .map .seat-row .front.ico-ivivu-ic_chair1:before {
        color: #26bed6;
    }

    .seat-container .map .seat-row .special.ico-ivivu-ic_chair1:before {
        color: #e52822;
    }

    .seat-container .map .seat-row .exit.ico-ivivu-ic_chair1:before {
        color: #003c71;
    }

    .seat-container .map .seat-row .selected.ico-ivivu-ic_chair1:before {
        color: #F79321;
    }

    .seat-container .map .seat-row .unavailable.ico-ivivu-ic_chair1:before {
        color: #bdbdbd;
    }

    .seat-container .map .seat-row > .col-xs-12 {
        padding-left: 0;
        padding-right: 0;
    }

    .seat-container .map .seat-row span.row-number {
        /*vertical-align: sub;*/
        vertical-align: middle;
        font-size: 14px;
        font-weight: 100;
        color: #828282;
    }

.seat-container .note {
    display: flex;
    margin-top: 25px;
}

    .seat-container .note .rec {
        width: 12px;
        height: 12px;
        margin-right: 8px;
        display: inline-block;
        border-radius: 2px;
    }

        .seat-container .note .rec.available {
            background: #2f7000;
        }

        .seat-container .note .rec.unavailable {
            background: #bdbdbd;
        }

        .seat-container .note .rec.exit {
            background: #003C71;
        }

        .seat-container .note .rec.selected {
            background: #F79321;
        }

        .seat-container .note .rec.front {
            background: #26bed6;
        }

        .seat-container .note .rec.special {
            background: #e52822;
        }
