// ESTILOS GENERALES DE LA PAGINA
body, html {
    background-color: #F8F8F8;
    color: $color-default;
    font-family: $font-family;
    font-weight: $font-regular;
}

a, 
p,
span,
label,
h1,
h2,
h3,
h4,
h5,
h6,
table,
td,
li {
    color: $color-default;
    font-family: $font-family;
    font-weight: $font-regular;
}

th {
    color: $color-default;
    font-family: $font-family;
    font-weight: $font-medium;
}

a {
    color: $color-default;

    &.text-primary {
        &:focus, 
        &:hover {
            color: $color-primary !important;
        }
    }

    &:hover,
    &.active {
        color: $color-primary;
        text-decoration: none;
    }
}

.text-primary {
    color: $color-primary !important;
}

.form-subtitle {
    font-size: 18px;
    font-weight: $font-bold;
    margin-bottom: 10px;
}

.btn {
    &.w-70 {
        width: 69%;
    }
    &.w-30 {
        width: 29%;
    }
}

hr {
    border-top: 2px solid rgba($cr, $cg, $cb, 1);
    margin-top: 0;
}

.text-default {
    color: $color-default !important;
}

.bt-none {
    border-top: none !important;
}

//  SWEETALERT
.swal2-icon.swal2-success [class^=swal2-success-line] {
    background-color: $color-primary !important;
}
.swal2-icon.swal2-success {
    border-color: $color-primary !important;
}
.swal2-icon.swal2-success .swal2-success-ring {
    border: .25em solid rgba($cp-r, $cp-g, $cp-b, .3) !important;
}

//  SLIM SCROLL
.slimScrollRail {
    right: 3px !important;
    display: block !important;
    top: 5px !important;
    height: calc(100% - 10px) !important;
}
.slimScrollBar {
    right: 3px !important;
    max-height: calc(100% - 10px) !important;
}

//  CARD
.card {
    &.card-login {
        border: 0;
        max-width: 500px;
        padding: 50px 0 25px 0;
        height: 600px;

        .card-logo {
            img {
                width: 300px;
                height: 65px;
            }
        }

        .card-body {
            padding: 20px 75px;

            h2 {
                font-size: 34px;
            }

            h3 {
                font-size: 27px;
            }

            h2,
            h3 {
                text-align: center;
                margin: 10px 0 20px 0;
            }

            .cols {
                display: flex;

                .col-left {
                    padding: 0;

                    .form-check {
                        padding-left: 5px;
                    }
                }

                .col-right {
                    padding: 0;

                    a {
                        font-size: 13px;
                        float: right;
                        padding-right: 10px;
                    }
                }
            }

            button {
                font-size: 16px;
                display: block;
                margin: 35px auto;
            }
        }

        .card-footer {
            background-color: #FFF;
            border-top: none;

            p {
                font-size: 11px;
                font-weight: $font-light;
                text-align: center;
                margin: 0;
                padding: 0;
            }
        }

        &.restablecer {
            .card-body {
                padding: 75px 75px;
            }

            button {
                margin: 5px auto;
                padding: 12px 35px;
            }
        }
    }

    &.card-event {
        border: 0;
        border-radius: 0;
        -webkit-box-shadow: 0px 2px 5px 2px rgba(238, 238, 238, 1);
        -moz-box-shadow: 0px 2px 5px 2px rgba(238, 238, 238, 1);
        box-shadow: 0px 2px 5px 2px rgba(238, 238, 238, 1);
        margin-bottom: 50px;
        // max-height: 456px;

        figure {
            padding: 5px;
            margin: 0;
            overflow: hidden;

            .card-img-top {
                border-top-left-radius: 0;
                border-top-right-radius: 0;
                // height: 360px;
                object-fit: cover;
            }
        }

        .card-body {
            overflow: hidden;
            padding: 15px 15px 0 15px;
            min-height: 97px;

            h6 {
                font-size: 16px;
                font-weight: $font-regular;
                text-align: center;
            }

            p {
                font-size: 13px;
                font-weight: $font-light;
                text-align: center;
            }
        }

        &:hover {
            h6, 
            p {
                color: $color-primary;
            }
        }
    }

    &.card-form {
        border: 0;
        border-radius: 0;
        margin-bottom: 30px;
        -webkit-box-shadow: 0px 2px 5px 2px rgba(238, 238, 238, 1);
        -moz-box-shadow: 0px 2px 5px 2px rgba(238, 238, 238, 1);
        box-shadow: 0px 2px 5px 2px rgba(238, 238, 238, 1);

        .card-header {
            background-color: #FFF;
            border-bottom: 1px solid rgba($cr, $cg, $cb, 0.2);
            color: $color-primary;

            .card-title {
                color: $color-primary;
                font-size: 25px;
                font-weight: $font-light;
                margin: 0;
            }
        }

        .card-body {
            padding: 0;
            margin: 0;

            .card-cols {
                padding: 0;
                margin: 0;

                .card-right,
                .card-left {
                    padding: 25px 20px 35px 20px;
                }

                .card-right {
                    border-left: 1px solid rgba($cr, $cg, $cb, 0.2);
                }
            }

            .card-subtitle {
                font-size: 18px;
                font-weight: $font-bold;
                margin-bottom: 10px;
            }

            .row-info {
                padding: 0;
                margin-left: 0;
                margin-right: 0;
            }
        }
    }

    &.card-chart {
        border: 0;
        border-radius: 0;
        margin-bottom: 20px;

        .card-header {
            background-color: #FFF;
            border-bottom: 0;

            h5 {
                font-size: 18px;
                font-weight: $font-bold;
            }

            &:first-child {
                border-radius: 0;
            }

            &.l-2 {
                height: 50px;

                h5 {
                    margin-top: 25px;
                }
            }
        }

        .card-body {
            font-size: 13px;
            padding: 10px;
        }

        &.small {
            .card-header {
                padding: 0;
            }

            .card-body {
                border: 1px solid $color-border;
                height: 220px;
            }
        }

        &.medium {
            border: 1px solid $color-border;

            .card-header {
                padding: 10px 10px 0 10px;
            }

            .card-body {
                border: 0;
                height: 210px;
            }

            &.no-header {
                .card-body {
                    border: 0;
                    height: 249px;
                }
            }
        }
    }

    &.card-table {
        border-radius: 0;

        .card-header {
            background-color: #FFF;
            font-size: 18px;
            padding-left: 12px;

            .lbl-totales {
                font-size: 22px;
                font-weight: $font-bold;
                float: right;

                span {
                    font-size: 22px;
                    font-weight: $font-bold;
                }

                .green {
                    color: #218C00;
                }
            }

            h5 {
                font-size: 18px;
                font-weight: $font-bold;
                float: left;
            }

            .botones {
                float: right;
            }
        }

        .card-footer {
            background-color: #FFF;
        }

        .table-data {
            border: 0;
            font-size: 14px;

            thead {
                &.thead-dark {
                    th {
                        background-color: #AFBCC5;
                        border-color: #AFBCC5;
                    }
                }
            }
        }
    }

    &.card-event-detail {
        border: 0;
        border-radius: 0;
        -webkit-box-shadow: 0px 2px 5px 2px rgba(238, 238, 238, 1);
        -moz-box-shadow: 0px 2px 5px 2px rgba(238, 238, 238, 1);
        box-shadow: 0px 2px 5px 2px rgba(238, 238, 238, 1);
        
        .card-header {
            background-color: #FFF;
            color: $color-default;
            font-weight: bold;
            font-size: 28px;
        }

        .card-body {
            figure {
                .card-detail-img {
                    width: 100%;
                    max-width: 600px;
                }
            }

            h5 {
                color: $color-primary;
                font-weight: bold;
                font-size: 18px;
            }

            .description {
                padding: 10px 0 0 0;
                font-weight: $font-light;
                font-size: 16px;
                color: $color-default;
            }

            .faqs {
                padding: 0 0 0 0;
                margin-top: 25px;
                font-weight: $font-light;
                font-size: 16px;
                color: $color-default;

                p {
                    font-weight: $font-light;
                    font-size: 16px;
                    color: $color-default;
                    margin: 0;

                    strong {
                        display: block;
                        margin-top: 15px;
                        font-weight: bold;
                    }
                }
            }

            .events-row {
                border-bottom: 1px solid #CED6DB;
                margin-bottom: 20px;

                .btn-calendar,
                .btn-google-maps {
                    color: #667D8C;
                    font-weight: 600;
                    font-size: 13px;
                }

                .actions {
                    text-align: right;

                    .btn {
                        margin-bottom: 10px;
                    }
                }

                .wrapper-share {
                    .span-label {
                        font-weight: bold;
                        font-size: 14px;
                        color: #3F5263;
                        margin: 5px 10px 0 0;
                    }
                }
            }
        }

        &.confirm {
            .card-header {
                .media {
                    img {
                        width: 64px;
                        height: 64px;
                        object-fit: cover;
                    }

                    .media-body {
                        font-size: 16px;
                        font-weight: 300;
                        color: $color-default;

                        h5 {
                            font-size: 28px;
                            font-weight: bold;
                            color: $color-default;
                        }
                    }
                }
            }

            .card-body {
                .wrapper-link-login {
                    font-size: 20px;
                    font-weight: bold;

                    span {
                        color: $color-default;
                        font-weight: bold;
                    }

                    a {
                        color: $color-primary;
                        font-weight: bold;
                    }
                }
            }

            .card-footer {
                padding-bottom: 30px;
                display: flex;
                justify-content: space-between;
                background-color: #FFF;
                border-top: 0;

                span {
                    font-size: 13px;
                    font-weight: 400;
                    color: $color-default;
                }
            }

            .card-resumen {
                .card-body {
                    h5 {
                        font-size: 17px;
                        font-weight: bold;
                        color: $color-default;
                    }

                    label,
                    p,
                    .form-control {
                        font-size: 13px;
                        font-weight: 400;
                        color: $color-default;
                    }

                    .terms-text {
                        font-size: 11px;
                        font-weight: 400;
                        color: $color-default;

                        a {
                            font-weight: 500;
                            text-decoration: underline;
                            color: $color-default;
                        }
                    }
                }
            }
        }
    }

    &.card-resumen {
        border: 0;
        border-radius: 0;
        border-bottom: 1px solid #CED6DB;

        .card-header {
            border-bottom: 0;
            background-color: #F8F8F8;
            font-size: 24px;
            font-weight: bold;
            color: $color-primary;
        }
        
        table {
            margin: 0;

            thead {
                th {
                    font-size: 17px;
                    font-weight: bold;
                    color: $color-default;
                }
            }
            
            tfoot {
                th {
                    font-size: 27px;
                    font-weight: bold;
                    color: $color-default;
                }
            }
        }
    }
}

.card-deck {
    &.card-reportes {
        .card {
            border-radius: 0;
            margin-right: 5px;
            margin-left: 5px;
            
            .card-header {
                background-color: transparent;
                border-bottom: 0;

                .card-title {
                    margin: 0;
                    font-size: 16px;
                    font-weight: 700;
                }
            }

            .card-body {
                .progress {
                    background-color: transparent;
                    border-radius: 0;
                    border: 1px solid $color-default;

                    .progress-bar {
                        background-color: $color-default;
                    }
                }

                .countdown {
                    padding: 0;
                    
                    li {
                        display: inline-block;
                        list-style-type: none;
                        padding: 0.2em;
                        text-transform: uppercase;
                        font-size: 13px;
                        font-weight: $font-regular;
                        color: $color-default;
                        text-align: center;

                        span {
                            display: block;
                            font-size: 60px;
                            line-height: 50px;
                            color: $color-primary;
                            font-weight: $font-bold;
                            text-align: center;
                        }
                    }
                }
            }

            .card-footer {
                background-color: transparent;
                border-top: 0;
            }
        }
    }
}

//  CONTAINER TABLAS
.table-data {
    border: 1px solid $color-default;
    position: relative;
    width: 100%;
    overflow: auto;

    .list-group-item {
        border: 0;
        font-size: 14px;
        font-weight: $font-regular;
        padding: 12px 10px;
        
        &:first-child {
            border-top-left-radius: 0;
            border-top-right-radius: 0;
        }

        &:last-child {
            border-bottom-right-radius: 0;
            border-bottom-left-radius: 0;
        }

        &.active,
        &:hover {
            background-color: $color-active;
            color: #FFF;
            cursor: pointer;
        }
    }

    .fa-trash {
        &:hover {
            color: #C82333;
        }
    }

    .table {
        tbody {
            td {
                p {
                    margin: 0;
                }

                .form-group {
                    margin-bottom: 0;
                }
            }
        }
    }
}

//  IMG PREVIEW
img {
    &.img-preview {
        height: 360px;
        width: 360px;
        object-fit: cover;

        &:hover {
            cursor: pointer;
        }
    }
}

//  NAV TAB
.nav-pills .nav-link.active, 
.nav-pills .show > .nav-link {
    background-color: $color-primary;
}
.nav-pills .nav-link {
    border-radius: 0;
}

//  modales
.modal {
    &#modalBuy {
        .modal-header {
            .modal-title {
                font-size: 24px;
                font-weight: bold;
                color: $color-default;
            }

            .close {
                span {
                    font-size: 46px;
                    color: $color-primary;
                }
            }
        }

        .modal-body {
            .dates {
                margin-bottom: 20px;
                
                .date {
                    font-size: 15px;
                    font-weight: bold;
                    color: $color-primary;
                    margin: 0;
                }
            }
            
            .tickets {
                margin-top: 15px;
                margin-bottom: 15px;
                border-bottom: 1px solid #CED6DB;
                padding-bottom: 25px;

                .ticket {
                    font-size: 24px;
                    font-weight: 300;
                    color: $color-default;
                    margin: 0;
                }

                .price {
                    font-size: 20px;
                    font-weight: bold;
                    color: $color-default;
                    margin: 0;
                }

                .description {
                    font-size: 16px;
                    font-weight: 300;
                    color: $color-default;
                    margin: 0;
                }

                .numbers {
                    display: flex;
                    align-items: center;
                    
                    .input-group-text {
                        line-height: 0.6;
                    }
                    .input-number,
                    .input-number-decrement,
                    .input-number-increment {
                        user-select: none;
                    }
                    .input-number-decrement,
                    .input-number-increment {
                        cursor: pointer;
                    }
                    .input-group-text,
                    .input-number {
                        font-size: 20px;
                        font-weight: bold;
                        color: $color-default;
                    }
                    .input-number {
                        background-color: #FFF;
                    }
                }
            }

            .totals {
                .total-number,
                #total-number {
                    font-size: 20px;
                    font-weight: 300;
                    color: $color-default;
                }
                .total-amount,
                #total-amount {
                    font-size: 27px;
                    font-weight: bold;
                    color: $color-default;
                }
            }
        }

        .modal-footer {
            justify-content: space-between;
        }
    }

    &#modalLogin {
        .modal-header {
            border-bottom: 0;
            padding: 1rem 1rem 0;

            .close {
                span {
                    font-size: 46px;
                    color: $color-primary;
                }
            }
        }

        .modal-body {
            .card {
                &.card-login {
                    padding: 0;
                    height: unset;
                }
            }
        }
    }

    &#modalMap {
        .modal-header {
            .modal-title {
                font-size: 20px;
                font-weight: bold;
                color: $color-default;
            }
        }

        .modal-body {
            iframe {
                width: 100%;
            }
        }
    }

    &.modal-web {
        .modal-header {
            border-bottom: 0;
            padding: 1rem 1rem 0;

            .close {
                span {
                    font-size: 46px;
                    color: $color-primary;
                }
            }
        }
    }
}

#time-buy {
    position: absolute;
    left: calc(50% - 158px);
    z-index: 1;

    span:nth-child(1),
    span:nth-child(3) {
        font-size: 20px;
        font-weight: 300;
        color: $color-default;
    }

    span:nth-child(2),
    span:nth-child(4) {
        font-size: 24px;
        font-weight: bold;
        color: $color-primary;
    }
}

.popover-header {
    background-color: $color-default;
    border-bottom: 1px solid $color-default;
    color: #FFF;
}

.payment-methods {
    display: flex;
    justify-content: center;
}

.font-12 {
    font-size: 12px;
}

form {
    label {
        small {
            color: #C82333;
        }
    }
}

.fancybox-inner {
    min-height: 80vh !important;
}