/* GENERAL */
body{
    font-family: 'Open Sans', sans-serif;
    font-size: 0.95rem !important;
    background-color: #e9ebee !important;
    -webkit-font-smoothing: antialiased;
    font-weight: lighter;
}
table{
    font-size: inherit !important;
    font-weight: inherit !important;
}
.v-center {
    display: flex;
    align-items: center;
}
.tooltip{
    font-size: 90%;
}
.card{
    border-radius: 10px;
}
.child-w-100 > *{
    width: 100%;
    height: auto;
}
.btn-no-focus:focus{
    outline: none !important;
    -webkit-appearance: none;
    box-shadow: none;
}
.small-85{
    font-size: 85%;
}
.small-90{
    font-size: 90%;
}
.font-size-1{
    font-size: 1rem;
}
.bg-light{
    background-color: #f9f8f8 !important;
}
.only-desktop-block{
    display: block;
}
.only-mobile-block{
    display: none;
}
.only-desktop-inline{
    display: inline-block;
}
.only-mobile-inline{
    display: none;
}
.only-desktop-table-cell{
    display: table-cell;
}
.only-mobile-table-cell{
    display: none;
}
.disabled{
    cursor: not-allowed;
}
.pointer{
    cursor: pointer;
}
.card-shadow{
    transition: 0.4s;
    box-shadow: 0 .125rem .25rem rgba(0,0,0,.075)!important;
}
.card-shadow:hover{
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15)!important;
}
.card-hover{
    transition: 0.4s;
}
.card-hover:hover{
    background-color: #eff0f1;
}
.card-hover-light:hover{
    background-color: #f8f9fa;
}
@media (max-width: 767px) {
    .mobile-w-100 {
        width: 100%;
    }
    .mobile-text-left{
        text-align: left !important;
    }
    .nav-item{
        text-align: center;
        width: 100%;
        margin-top: 0.25rem;
    }

    .mobile-mt-1{
        margin-top: .25rem!important;
    }
    .mobile-mt-2{
        margin-top: .5rem!important;
    }
    .mobile-mt-3{
        margin-top: 1rem!important;
    }

    .border-left-desktop{
        border-left: none !important;
    }

    .only-desktop-inline{
        display: none;
    }
    .only-mobile-inline{
        display: inline-block;
    }
    .only-desktop-block{
        display: none;
    }
    .only-mobile-block{
        display: block;
    }
    .only-desktop-table-cell{
        display: none;
    }
    .only-mobile-table-cell{
        display: table-cell;
    }
}

/* ALERTS */
.alert{
    font-weight: normal !important;
}
.alert-arrow-down:after, .alert-arrow-down:before {
    top: 100%;
    left: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}
.alert-arrow-down:after {
    border-color: rgba(0, 0, 0, 0);
    border-top-color: inherit;
    border-width: 10px;
    margin-left: -10px;
}
.alert-arrow-down:before {
    border-color: rgba(0, 0, 0, 0);
    border-top-color: inherit;
    border-width: 16px;
    margin-left: -16px;
}

/* FORMS */
.form-control-custom{
    font-size: 0.85rem;
    font-weight: 300 !important;
    border: 1px solid #ced4da;
    box-shadow: none;
    -webkit-box-shadow: none;
}
.form-control-custom:focus{
    border: 1px solid #ced4da;
    box-shadow: 0 0 0 0.2rem rgba(206,212,218,.25);
}
.form-control.no-focus:focus{
    box-shadow: none !important;
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.is-invalid.text-center{
    padding: inherit;
}

/* TABLES */
.first-no-border > tbody > tr:first-child > td {
    border-top: none !important;
}

.first-no-border > thead > tr:first-child > td {
    border-top: none !important;
}

.first-no-border > thead > tr:first-child > th {
    border-top: none !important;
}
.center_center {
    text-align: center;
    vertical-align: middle !important;
}
.left_center {
    text-align: left;
    vertical-align: middle !important;
}
.right_center {
    text-align: right;
    vertical-align: middle !important;
}

/* TICKET */
.card-ticket-body{
    border-top-right-radius: 10px;
    border-top-left-radius: 10px;
    background-color: #fff;
}
.card-ticket-rip{
    background-color: #fff;
    height: 20px;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAACCAYAAAB7Xa1eAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuOWwzfk4AAAAaSURBVBhXY5g7f97/2XPn/AcCBmSMQ+I/AwB2eyNBlrqzUQAAAABJRU5ErkJggg==);
    background-size: 6px 2px;
    background-repeat: repeat-x;
    background-position: center;
    position: relative;
    box-shadow: 0 1px 0 0 #fff, 0 -1px 0 0 #fff;
}
.card-ticket-rip::before{
    background-color: #e9ebee;
    content: '';
    position: absolute;
    width: 40px;
    height: 40px;
    top: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
    transform: translate(-50%, -50%) rotate(45deg);
    border: 10px solid transparent;
    border-top-color: #fff;
    border-right-color: #fff;
    border-radius: 100%;
    pointer-events: none;
}
.card-ticket-rip::after{
    background-color: #e9ebee;
    content: '';
    position: absolute;
    width: 40px;
    height: 40px;
    top: 50%;
    border: 10px solid transparent;
    border-top-color: #fff;
    border-right-color: #fff;
    border-radius: 100%;
    pointer-events: none;
    -webkit-transform: translate(-50%, -50%) rotate(225deg);
    transform: translate(-50%, -50%) rotate(225deg);
    right: -40px;
}
.card-ticket-footer{
    border-bottom-right-radius: 10px;
    border-bottom-left-radius: 10px;
    background-color: #fff;
}

/* SEATING CHART */
.seatingchart-event-navigation{
    position:absolute;
    top: 0.75rem;
    right: 1.25rem;
}
.btn-group-seatingchart-controls{
    position:absolute;
    bottom: 1.25rem;
    right: 1.25rem;
}
.seatingchart-tickettype.selected{
    font-weight: bolder;
}
.seatingchart-seat.available{
    fill: rgb(16, 191, 99) !important;
    cursor: pointer !important;
    opacity: 1 !important;
}
.seatingchart-seat.selected{
    fill: rgb(255, 227, 27) !important;
    opacity: 1 !important;
}
.seatingchart-seat.not-available{
    fill: rgb(255, 65, 41) !important;
    cursor: not-allowed !important;
    opacity: 0.4 !important;
}
.seatingchart-seat.disabled{
    fill: rgb(153, 153, 153) !important;
    cursor: not-allowed !important;
    opacity: 0.4 !important;
}
.seatingchart-seat.seatconnect-error {
    fill: rgb(255, 183, 0) !important; /* Ensure initial color */
}

.seatingchart-text.available{
    color: rgb(16, 191, 99) !important;
}
.seatingchart-text.selected{
    color: rgb(255, 227, 27) !important;
}
.seatingchart-text.not-available{
    color: rgb(255, 65, 41) !important;
}
.seatingchart-text.disabled{
    color: rgb(153, 153, 153) !important;
}

.badge-selected{
     background-color: rgb(255, 227, 27) !important;
}
.badge-not-available{
     background-color: rgb(255, 65, 41) !important;
}
@media (max-width: 767px) {
    .seatingchart-event-navigation {
        position: relative;
        top: 0;
        right: 0;
        margin-bottom: 0.5rem;
    }
    .btn-group-seatingchart-controls{
        display: none !important;
    }
}

/* LUMEN OVERRIDE */
.btn-outline-secondary{
    color: #909090;
    border-color: #909090;
}
.btn-link{
    border-width: 0 !important;
}

/* FONTAWESOME */
.fa-rotate-150{
    transform: rotate(150deg);
}

.font-weight-100{
    font-weight: 100 !important;
}
.font-weight-200{
    font-weight: 200 !important;
}
.font-weight-300{
    font-weight: 300 !important;
}
.font-weight-400{
    font-weight: 400 !important;
}
.font-weight-500{
    font-weight: 500 !important;
}
.font-weight-600{
    font-weight: 600 !important;
}
.font-weight-700{
    font-weight: 700 !important;
}
.font-weight-800{
    font-weight: 800 !important;
}
.font-weight-900{
    font-weight: 900 !important;
}