a {
    cursor: pointer;
}

.mt-0 {
    margin-top: 0px !important;
}

.pt-0 {
    padding-top: 0px !important;
}

.page-sidebar-collapsed .logo-box {
    display: none;
}

.help-text {
    font-style: italic;
}

.logo-box .logo {
    width: 160px;
    margin-top: -25px;
}

.no-wrap {
    white-space: nowrap;
}

.no-padding {
    padding: 0px !important;
}

.no-margin {
    margin: 0px !important;
}

.v-middle {
    vertical-align: middle !important;
}

.table-fixed {
    table-layout: fixed;
}

.table thead tr {
    border-bottom: 2px solid #0070e0;
}

.table tr.subheader {
    background: #fafafa;
}

.panel-subtitle {
    font-weight: bold;
}

.btn-primary {
    color: white !important;
}

.btn-danger {
    color: white !important;
}

.Gold {
    background-color: #FFD700;
    color: #e3650b;
}

.Silver {
    background-color: #d6d6d6;
    color: black;
}

.Bronze {
    background-color: #977547;
}

.tabulator-row .tabulator-cell {
    overflow: hidden !important;
    font-size: 13px;
}

.guide-small {
    font-size: 12px;
    font-style: italic;
}

.progress-loader {
    position: absolute;
    top: 0;
    width: 100%;
    height: 10px;
    z-index: 10000;
}

    .progress-loader .progress-bar {
        transition: width 0.5s;
        width: 0%;
    }

        .progress-loader .progress-bar.active {
            width: 90%;
        }

.btn.disabled, .btn[disabled], fieldset[disabled] .btn {
    opacity: 0.25;
    filter: grayscale(100%);
}

.load-hidden {
    display: none;
}

.block {
    display: block;
}

.bold {
    font-weight: bold;
}

.inline-block {
    display: inline-block;
}

.fa-green {
    color: green;
}

.p-10 {
    padding: 10px;
}

.pl-20 {
    padding-left: 20px;
}

.fa-warning {
    color: #ec5e69;
}

.swal2-title {
    margin: 30px !important;
}

.login-page {
    background: url(../img/bg2.jpg) center center no-repeat fixed;
    background-size: cover;
}

fieldset:disabled input,
fieldset:disabled select {
    border: none !important;
}

.login-box {
    background: #ffffff70;
}

.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
    background-color: #fafafa;
    color: #333;
}

.tabulator-cell {
    overflow: visible !important;
}

.tabulator {
    border: none;
    margin-top: 5px;
}

.tabulator-col {
    border-color: transparent;
    padding-top: 2px;
    padding-bottom: 2px;
    border-right-color: transparent !important;
}

.tabulator-row .tabulator-cell {
    border-color: transparent;
    padding-top: 6px;
    padding-bottom: 6px;
}

.tabulator-row-odd {
    background-color: #f7f7f7;
}

.tabulator .tabulator-header {
    font-weight: 400;
    color: #0070e0;
    border-bottom: 2px solid #0f4984;
    background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(1, #fff));
}

.tabulator-paginator .tabulator-page {
    font-weight: 400 !important;
    color: #6a7c8f !important;
}

.tabulator .tabulator-footer {
    border-top: 1px solid #ddd;
}

    .tabulator .tabulator-footer .tabulator-page {
        border: none !important;
    }

        .tabulator .tabulator-footer .tabulator-page.active {
            background: #0070e0;
            border-radius: 25px;
            width: 25px;
            color: white !important;
        }

.tabulator-row .tabulator-cell:first-child {
    background-color: #f3f3f3;
}

.tabulator-row-odd .tabulator-cell:first-child {
    background-color: #d8d8d8;
}

.tabulator-headers .tabulator-col {
    background-color: #1e66af !important;
    color: white;
    font-size: 12px;
    text-shadow: none;
    letter-spacing: 1px;
    text-transform: capitalize;
}

    .tabulator-headers .tabulator-col:first-child {
        background-color: #0f4984 !important;
    }

label {
    font-weight: bold;
}

.form-control {
    border-color: #dee3e9;
    height: 35px;
}

ul.nav-tabs a {
    padding-left: 25px;
    padding-right: 25px;
    margin: 0px;
    border-bottom-width: 1px !important;
}

.tab-content {
    padding: 5px 10px;
}

.checkbox-list-wrapper {
    max-height: 500px;
    overflow-y: auto;
}

label.error {
    display: block;
    float: none !important;
}

.help-block {
    font-style: italic;
}

.fa-cell {
    color: #1e66af;
}

li.dropdown-divider {
    border: 1px solid #eee;
    margin: 5px;
}

.page-sidebar-menu .selected {
    font-weight: bold;
    color: #0070e0 !important;
    font-size: 14px !important;
}

.event-class-filter {
    padding: 5px 15px;
    background-color: #f3f3f3;
    margin-bottom: 15px;
    border-radius: 5px;
}

.badge {
    font-weight: 400;
}

.badge-primary {
    background-color: #1f7ddb !important;
    margin-right: 3px;
}

    .badge-primary.badge-outline {
        color: #1f7ddb;
        border: 1px solid #1f7ddb;
        background: none !important;
    }

.badge-danger {
    background-color: #ec5e69 !important;
    margin-right: 3px;
}

    .badge-danger.badge-outline {
        color: #ec5e69;
        border: 1px solid #ec5e69;
        background: none !important;
    }

.badge-dark {
    background-color: #333 !important;
    margin-right: 3px;
}

    .badge-dark.badge-outline {
        color: #333;
        border: 1px solid #ccc;
        background: none !important;
        font-weight: normal;
    }

.badge-continent {
    vertical-align: middle;
    font-weight: normal;
    font-size: 10px;
    margin-right: 0px;
    border: 1px solid #1f7ddb;
    color: #1f7ddb !important;
    background: white !important;
}

.vdp-datepicker input[readonly] {
    background-color: transparent !important;
}

.radio-selector label {
    margin-right: 15px;
}

.radio-selector input[type=radio] {
    vertical-align: top;
}

.tabulator-paginator label:first-child {
    float:left;
    font-weight: normal;
    padding-top: 1px;
    color: #888;
}

.tabulator-paginator .tabulator-page-size {
    float: left;
    border: none !important;
    background: #f7f9fa !important;
}

.tabulator .tabulator-tableHolder {
    background: #f2f4f6;
}

.btn.active, .btn:active {
    background: #0070e0 !important;
    color: white !important;
}

.table-scroller,
.athlete-list {
    max-height: 500px;
    overflow: auto;
}

    .table-scroller table thead tr th,
    table.scrollable-tbody thead tr th {
        position: sticky;
        top: 0;
    }

    .table-scroller table,
    table.scrollable-tbody {
        border-collapse: collapse;
    }

        .table-scroller table th,
        table.scrollable-tbody th {
            padding: 16px;
            padding-left: 15px;
            border-left: 1px dotted rgba(200, 209, 224, 0.6);
            border-bottom: 1px solid #e8e8e8;
            background: #f3f3f3;
            color: black !important;
            text-align: left;
            z-index: 300;
        }

.other-schedule-wrapper {
    margin-bottom: 20px;
}

    .other-schedule-wrapper .table-wrapper {
        background-color: #f2f2f2;
        padding: 0px 5px;
        border-radius: 10px;
        margin-top: 15px;
    }

    .other-schedule-wrapper .table-wrapper th {
        font-weight: bold;
    }

tr.current td {
    font-weight: bold;
}

tr td i.tb-current {
    display: none;
}

tr.current td i.tb-current {
    display: inline-block;
}

.tabulator-row.tabulator-group {
    background: #fffee4;
    font-weight: normal;
    letter-spacing: 1px;
}

.modal-table .tabulator-headers .tabulator-col {
    font-size: 16px;
}

.startlist-item {
    float: left;
    width: 300px;
    border: 1px solid #ccc;
    border-radius: 10px;
    padding: 15px;
    margin-bottom: 15px;
    margin-right: 15px;
    cursor: pointer;
}

    .startlist-item:hover {
        background: #eee;
    }

    .startlist-item hr {
        margin-top: 10px;
        margin-bottom: 10px;
    }

    .startlist-item .discipline-name {
        font-size: 13px;
        color: #888;
        height: 55px;
        overflow-y: hidden;
        text-overflow: ellipsis;
    }

    .startlist-item .event-name {
        font-size: 16px;
        margin-top: 5px;
    }

    .startlist-item .phase-name {
        font-size: 13px;
        margin-top: 5px;
    }

    .startlist-item .badge {
        margin-top: 8px;
    }

    .startlist-item .time-name {
        font-weight: bold;
        border: 1px solid #333;
        display: inline;
        padding: 5px 13px;
        border-radius: 10px;
        font-size: 12px;
    }

    .startlist-item .image {
        background: #ccc;
        height: 120px;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: left center;
        border-radius: 10px;
    }

.group-wrapper h5 {
    font-weight: bold;
    border-bottom: 1px solid #ccc;
    padding: 0px 0px 10px 0px;
}

.group-wrapper-inner {
    padding: 0px 5px;
}

.table-properties td {
    width: 50%;
    padding: 0px 5px 15px 5px;
}

.athlete-table {
    width: 100%;
}

.athlete-list-form {
    padding: 5px;
}

.group-compete-wrapper {
    padding: 10px;
    background-color: #fbfbfb;
}

.group-compete-wrapper table {
    width: 100%;
}

    .group-compete-wrapper table td {
        padding: 3px;
    }

    .group-compete-wrapper table td.title {
        font-weight: bold;
        width: 50%;
    }

.team-athlete-list {
    padding-left: 0px;
    padding-top: 12px;
    list-style-type: decimal;
}

/*Sport type shared css*/

.page-inner {
    transition: opacity 0.5s;
}

    .page-inner.loading {
        opacity: 0.5;
    }

.lane-list-panel {
    min-height: 300px;
    padding: 15px;
    border-radius: 15px;
}

    .lane-list-panel .lane {
        border-bottom: 6px dotted #0088e0;
        padding: 8px;
        margin-bottom: 5px;
    }

        .lane-list-panel .lane:last-child {
            border-bottom: none !important;
        }

.grabbable {
    cursor: move;
    cursor: grab;
    cursor: -moz-grab;
    cursor: -webkit-grab;
}

    .grabbable:active {
        cursor: grabbing;
        cursor: -moz-grabbing;
        cursor: -webkit-grabbing;
    }

.lane-inner {
    height: 46px;
    position: relative;
    border-radius: 10px;
}

    .lane-inner:active {
        background-color: #fafafa;
    }

    .lane-inner .lane-label-small {
        position: absolute;
        font-size: 12px;
    }

    .lane-inner .lane-number {
        position: absolute;
        font-size: 18px;
        font-weight: bold;
        padding: 8px 12px;
        margin-top: 8px;
        font-style: italic;
        cursor: pointer;
    }


.button-wrapper {
    margin-top: 15px;
}

.athlete-list-panel {
    padding: 10px;
}

.athlete-name {
    width: 100%;
    background: #fafafa;
    padding: 12px;
    border-radius: 5px;
    border: 1px dashed #0070e0;
    margin-bottom: 10px;
    margin-right: 5px;
}

.lane .lane-name {
    padding-left: 50px;
    padding-top: 10px;
}

    .lane .lane-name .athlete-name {
        float: left;
        width: auto;
        padding: 5px;
        font-size: 12px;
        font-weight: bold;
    }

.athlete-name-wrapper {
    display: inline-block;
}

.masslane .athlete-name-wrapper {
    max-width: 90%;
}

    .athlete-name-wrapper .name {
        font-size: 14px;
        letter-spacing: 1px;
    }

        .athlete-name-wrapper .name a:hover {
            text-decoration: underline !important;
        }

    .athlete-name-wrapper .score {
        font-style: italic;
        font-size: 12px;
    }

    .athlete-name-wrapper .rank {
        font-style: italic;
        font-size: 12px;
    }

        .athlete-name-wrapper .rank strong {
            font-size: 13px;
        }

.btn-remove-athlete {
    margin-left: 15px;
    cursor: pointer;
}

.panel-item h3.panel-title {
    color: black;
    padding: 0 0 30px;
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 1px;
}

th.lane-col {
    font-weight: bold;
    color: #333 !important;
}

th.lane-col,
td.lane-col {
    background-color: #f1f1f1;
}

.athlete-header input {
    font-size: 14px;
    border: none;
    outline: none;
    border-bottom: 1px solid #ccc;
    padding: 12px 18px;
    width: 100%;
}

.lane-editor-wrapper {
    display: table;
    width: 100%;
    border: 1px solid #ccc;
    border-top: none;
}

.editor-athlete {
    display: table-cell;
    vertical-align: top;
    width: 30%;
}

.editor-lane {
    display: table-cell;
    vertical-align: top;
    width: 70%;
    border-left: 1px solid #ccc;
}

.lane-editor {
    border-top: none;
}

.athlete-editor {
    border-top: none;
}

.lane-list-toolbar {
    background: #fafafa;
    border: 1px solid #ccc;
    border-bottom: 1px solid #c3c3c3;
    float: left;
    width: 100%;
}

.lane-number-input {
    border: none;
    outline: none;
    font-size: 26px;
    padding: 10px;
    text-align: center;
    width: 160px;
    background: #fafafa;
    height: 100%;
    font-weight: bold;
    width: 85px;
}

.lane-number-label {
    margin: 15px;
}

.toolbar-button .btn {
    margin: 10px 10px 10px 0px;
}

.athlete-list-panel .assigned {
    color: red;
    font-size: 12px;
    font-style: italic;
}

tr.empty-row {
    color: #ccc;
}

.header-label {
    display: block;
    font-size: 15px;
    padding: 5px 0px;
    font-style: italic;
}

.lap-text {
    font-size: 12px;
    font-style: italic;
}

.live-lap-text {
    font-weight: bold;
}

.empty-row .timer-col {
    color: transparent;
}

.table-result thead,
.table-simulator thead {
    border-bottom: 2px solid #0070e0
}

.table-select-mini {
    border: 1px solid #ccc;
    font-size: 11px;
    height: 22px;
    width: 90%;
}

.table-input {
    font-size: 11px;
    max-width: 100px
}

.table-input-mini {
    font-size: 11px;
    width: 90%;
    border: 1px solid #cccccc;
    padding: 2px;
}
}

.control-col {
    vertical-align: middle;
}

    .control-col .btn {
        margin: 0px 15px 15px 15px;
    }

td.athlete-col,
td.sub-athlete-col {
    background-color: #eee;
    border: 1px solid #ccc;
    vertical-align: top;
}

    td.athlete-col .athlete-list-panel,
    td.sub-athlete-col .athlete-list-panel {
        overflow-y: auto;
        height: 500px;
    }

.athlete-control {
    padding: 10px;
    padding-bottom: 0px;
}

    .athlete-control a {
        margin-right: 10px;
        text-decoration: underline;
    }

.toolbar-wrapper {
    display: block;
    width: 100%;
    float: left;
}

.trial-wrapper {
    padding: 15px;
}

.trial-item {
    margin-bottom: 50px;
}

.btn-vs {
    font-weight: bold;
}

.hot-wrapper, .hot-wrapper #hot-table {
    width: 100%;
}

.table-competition-summary {
    width: 50%;
}

.table-competition-summary td {
    font-size: 12px;
    padding: 3px;
}

.table-competition-summary td:first-child {
    font-weight: bold;
}

.athlete-guide {
    font-size: 12px;
}

.athlete-order {
    border: 1px dashed #0070e0;
    padding: 10px;
    border-radius: 10px;
}

    .athlete-order:hover {
        background-color: #eee;
    }

.score-point-wrapper {
    padding: 10px;
    background: #f3f3f3;
    border-radius: 5px;
}

.table-sub-mini thead th {
    padding: 0px !important;
}

.table-sub-mini tbody td {
    padding: 0px !important;
}