/*
 * custom styles
 */

/*
 * fonts
 */
body {
    line-height: 26px;
}

h1 {
    font-size: 30px;
    line-height: 40px;
}

h2 {
    font-size: 24px;
    line-height: 32px;
}

h3 {
    font-size: 20px;
    line-height: 32px;
}

h4 {
    font-size: 16px;
    line-height: 24px;
}

h1, h2, h3, h4 {
    margin-bottom: 20px;
}

h1 a, h2 a, h3 a, h4 a {
    text-decoration: none !important;
}

p code {
    color: #000;
    font-family: sans-serif;
    background-color: #eee;
    padding: 2px 3px;
    border-radius: 3px;
}

.page-title {
    /*margin: 0 0 20px 0;*/
}

/*
 * basic stuff
 */
.subheader {
    border-bottom: 1px solid #ddd;
    padding: 20px 0;
    background-color: #f9f9f9;
}

.content {
    margin-top: 20px;
    margin-bottom: 20px;
}

.section {
    margin-bottom: 40px;
}

ul {
    list-style-type: none;
    padding-left: 0;
}

/*
 * navigation
 */
.stage-navi li:first-child a {
    margin-left: 0;
}

.stage-navi li:last-child a {
    margin-right: 0;
}

.stage-navi a,
.stage-navi span {
    padding: 0;
    margin: 0 5px;
}

.stage-navi .active {
    font-weight: bold;
}

/*
 * home / full bg
 */
.home .header {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030;
    width: 100%;
}

.home .content {
    margin-top: 0;
    margin-bottom: 0;
}

.home .cover {
    min-height: 370px;
    height: 100vh;
    width: 100%;
    background-color: transparent;
    position: relative;
}

.home .cover .full-bg {
    width: 100%;
    height: 100%;
    min-height: 370px;
    background-color: #000;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
}

/*
 * home teaser
 */
.home .box {
    position: absolute;
    z-index: 443;
    bottom: 60px;
    left: 0;
    width: 100%;
    height: 100vh;
    min-height: 370px;
}

.home .box .inner {
    width: 100%;
    height: 100vh;
    min-height: 370px;
}

.home .teaser {
    padding: 30px;
    background-color: rgba(255, 255, 255, 0.9);
    margin-bottom: 0;
}

.home .teaser h1 {
    font-size: 26px;
}

/*
 * games
 */
.game-progress {
    margin: 15px 0 0 0;
}

.game-progress .progress {
    margin: 0 0 10px 0;
}

/*
 * lists
 */
.list-items li {
    margin: 15px 0;
    padding-bottom: 14px;
    border-bottom: 1px solid #eee;
}

.list-items a {
    text-decoration: none;
}

.list-items li:first-child {
    margin-top: 0;
}

.list-items li:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0;
}

.list-items .pill-id,
.list-items .pill-stage,
.list-items .pill-stagetype {
    background: none;
    border: 1px solid #000;
    line-height: 16px;
}

.list-items .pill-id,
.list-items .pill-stage {
    color: #212529;
    margin-right: 6px;
}

.list-items .pill-stagetype {
    border: 1px solid #ccc;
    line-height: 16px;
    color: #212529;
}

.list-items .list-item-stage {
    margin-bottom: 30px;
    padding-bottom: 20px;
}

.list-items .list-item-stage-admin {
    margin-bottom: 30px;
    padding-bottom: 24px;
}

/*
 * input lists (= with buttons)
 */
.list-items-input .btn {
    line-height: 16px;
    float: right;
    margin: 0 5px;
}

.list-items-input .buttons .btn:first-child {
    margin-right: 0;
}

.list-items-input .buttons .btn:last-child {
    margin-left: 0;
}

.input-help ol {
    padding-left: 15px;
}

.input-help ul {
    list-style-type: disc;
}

.input-help li {
    margin-left: 15px;
}

/*
 * recursive list
 */
.list-items .list-item .list-items {
    padding: 20px 0 6px 0;
}

.list-items .list-item:last-child .list-items {
    padding-bottom: 0;
}

.list-items .list-item:last-child .list-items .list-item:last-child {
    margin-bottom: 0;
}

/*
 * tabs
 */
.tab-content {
    margin-top: 15px;
}

/*
 * pills
 */
.pills .pill {
    display: inline-block;
    margin: 2px 0;
}

.pill {
    background-color: #eee;
    padding: 4px 6px;
    border-radius: 4px;
    font-weight: bold;
    font-size: 14px;
}

table .player-link,
table .player-link:hover,
table .player-link:active,
table .player-link:focus {
    text-decoration: none !important;
    color: #212529 !important;
}

.player-pills .player-pill {
    margin: 5px;
    display: inline-block;
}

.player-pill .player-team {
    padding: 2px 7px;
    margin: 0 6px;
    border-radius: 14px;
}

.player-1-pill {
    background-color: #eee;
}

.player-1-pill .player-team {
    background-color: #fff;
}

.player-2-pill {
    background-color: #EED1CF;
}

.player-2-pill .player-team {
    background-color: #EB0F00;
    color: #fff;
}

.player-3-pill {
    background-color: #CFE0EE;
}

.player-3-pill .player-team {
    background-color: #1D8BEB;
    color: #fff;
}

.player-4-pill {
    background-color: #ccc;
}

.player-4-pill .player-team {
    background-color: #000;
    color: #fff;
}

.player-5-pill {
    background-color: #D3EECF;
}

.player-5-pill .player-team {
    background-color: #18B800;
    color: #fff;
}

.pill-soft {
    border-color: #999 !important;
    color: #999 !important;
}

.pill-rider {
    font-size: 14px;
    font-weight: bold;
    min-width: 34px;
    line-height: 12px;
    display: inline-block;
    text-align: center;
}

.rider-link {
    text-decoration: none !important;
}

.player-link .fa {
    padding-right: 5px;
}

.energy-cards-edit .fa {
    padding-right: 5px;
}

/*
 * trophies
 */
.trophy-gold {
    color: #ffc107;
}

.trophy-silver {
    color: #aaa;
}

.trophy-bronze {
    color: #cd7f32;
}

/*
 * btn
 */
.btn-success-outline {
    color: #28a745;
    border-color: #28a745;
}

.btn-success-outline:hover,
.btn-success-outline:active,
.btn-success-outline:focus {
    background-color: #28a745;
    border-color: #28a745;
    color: #fff;
}

.btn-danger-outline {
    color: #dc3545;
    border-color: #dc3545;
}

.btn-danger-outline:hover,
.btn-danger-outline:active,
.btn-danger-outline:focus {
    background-color: #dc3545;
    border-color: #dc3545;
    color: #fff;
}

/*
 * inline navi
 */
.inline-navi .btn .fa,
.inline-navi .btn .fas,
.inline-navi .btn .fal,
.inline-navi .btn .far {
    padding-right: 4px;
}

.inline-navi .pill,
.inline-navi .btn {
    vertical-align: top;
    display: inline-block;
    line-height: 16px;
    font-size: 14px;
    padding: 5px;
}

.inline-navi .pill {
    margin-top: 2px;
    margin-left: 5px;
    background: none;
    border: 1px solid #000;
}

.inline-navi .btn {
    vertical-align: top;
    margin: 2px 5px 0 5px;
}

.inline-navi .btn-right {
    float: right;
}

.inline-navi .buttons .btn:first-child,
.inline-navi .buttons form:first-child .btn {
    margin-right: 0;
}

.inline-navi .buttons .btn:last-child,
.inline-navi .buttons form:last-child .btn {
    margin-left: 0;
}

h1.inline-navi .pill,
h1.inline-navi .buttons .btn {
    margin-top: 6px;
}

/*
 * classement table
 */
.table-classement thead th {
    font-size: 14px;
}

/*
 * stage navi
 */
.stage-navi .pill {
    padding: 3px 6px;
    background-color: #fff;
    border: 1px solid #ccc;
    text-decoration: none;
}

.stage-navi .finished {
    background-color: #28a646;
    border-color: #28a646;
    color: #fff;
}

.stage-navi .active {
    background-color: #007bff;
    border-color: #007bff;
    color: #fff;
}

/*
 * jerseys
 */
.yellow-jersey {
    color: #ffc107;
}

.green-jersey {
    color: green;
}

.polkadot-jersey {
    color: red;
}

#yellow-jersey i.green-jersey,
#yellow-jersey i.polkadot-jersey {
        opacity: .2;
}

#green-jersey i.yellow-jersey,
#green-jersey i.polkadot-jersey {
    opacity: .2;
}

#polkadot-jersey i.yellow-jersey,
#polkadot-jersey i.green-jersey {
    opacity: .2;
}

/*
 * icons: waypoints / stagetypes
 */
.stage-type-icon {
    width: 16px;
    height: 16px;
}

.waypoint-icon {
    width: 19px;
    height: 19px;
    padding-right: 2px;
}

.waypoints .red {
    color: red;
}

.waypoints .sprint {
    text-decoration: underline;
}

.waypoints .separator {
    padding: 0 2px;
}

/*
 * chart
 */
#chart {
    width: 100%;
    height: 400px;
}

/*
 * point trial
 */
.pointtrial-headline {
    margin-bottom: 10px;
}

.pointtrial-description {
    margin-bottom: 10px;
}

/*
 * admin
 */
.table-admin th,
.table-admin td {
    padding-top: 5px;
    padding-bottom: 5px;
}

.table-admin .pills {
    display: block;
    margin-top: 8px;
}

/*
 * inline "action" buttons in admin
 */
.table-admin .btn,
.list-items-admin .btn,
.table-admin .delete-form,
.list-items-admin .delete-form {
    line-height: 16px;
}

.table-admin .delete-form,
.list-items-admin .delete-form {
    display: inline-block;
}

.table-admin .btn,
.list-items-admin .btn,
.table-admin .delete-form,
.list-items-admin .delete-form {
    float: right;
    margin: 0 5px;
}

.table-admin .delete-form .btn,
.list-items-admin .delete-form .btn {
    margin: 0;
}

.table-admin .buttons *:first-child,
.list-items-admin .buttons *:first-child,
.table-admin .buttons .delete-form:first-child .btn,
.list-items-admin .buttons .delete-form:first-child .btn {
    margin-right: 0;
}

.table-admin .buttons *:last-child,
.list-items-admin .buttons *:last-child,
.table-admin .buttons .delete-form:last-child .btn,
.list-items-admin .buttons .delete-form:last-child .btn {
    margin-left: 0;
}

.list-items-admin .buttons .btn i {
    padding: 0;
}

/*
 * recursive admin list
 */
.list-items-admin .list-items-admin .list-item  {
    color: #777;
}

/*
 * rwd
 */
@media (max-width: 991.98px) {}

@media (max-width: 767.98px) {}

@media (max-width: 575.98px) {

    /*
     * home
     */
    .home .box {
        position: static;
        bottom: 0;
    }

    .home .teaser {
        border-radius: 0;
    }

    /*
     * chart
     */
    #chart {
        height: 300px;
    }
}

@media (max-width: 319.98px) {

    /*
     * home
     */
    .home .box {
        position: static;
        bottom: 0;
    }

    .home .teaser {
        border-radius: 0;
    }

    /*
     * chart
     */
    #chart {
        height: 300px;
    }

}